Record Descriptions
The OFM maintains two types of records in the package master file: form definition records and form data records. The following sections describe the record formats and their use.
Form Definition Records
The following are attributes of Form Definition records:
-
They contain the form descriptions.
-
They exist at the global level.
-
They are maintained by ChangeMan ZMF administrators.
-
They are maintained using the Online Forms Maintenance function.
The following table provides a description of the form definition records.
Offset Length Usage Description Contents 0 4 Character Application X’4B4B4B4B’ = Global 4 4 Binary Package Number Zero = Global 8 1 Character Record Type X’80’ = Online Forms 9 2 Binary Record Sequence Form Id 11 1 Character Record Sub-sequence X’00’ 12 2 Binary Record Data Length (Record Length-12) 14 40 Character Form Description 54 4 Binary Form Lead Time 58 1 Character Allow Form Access ‘Y’ - Yes ‘N’ - No 59 1 Character Allow Job Submit ‘Y’ - Yes ‘N’ - No 60 78 Character Unused 138 520 10 Approvers (i=1 to 10) 138+(52*(i-1)) 8 Character Approver Vehicle (i) 146+(52*(i-1)) 44 Character Approver User IDs (i) 658 3200 200 Variables (j=1 to 200) 658+(16*(j-1)) 8 Character Variable Name (j) 666+(16*(j-1)) 2 Binary Variable Length (j) 668+(16*(j-1)) 1 Character Variable Format (j) ‘C’ - Char ‘F’ - Fixed 669+(16*(j-1)) 1 Character Table Variable (j) ‘Y’ - Yes ‘N’ - No 670+(16*(j-1)) 1 Character Key Variable (j) ‘Y’ - Yes ‘N’ - No 671+(16*(j-1)) 3 Character Unused
Form Data Records
The following are attributes of Form Data records:
-
They contain the form user data.
-
They exist at the package level.
-
They are maintained by ChangeMan ZMF users.
-
They are maintained using the Online Forms Selection function.
The following table provides a description of the form data records.
Offset Length Usage Description Contents 0 4 Character Package Mnemonic 4 4 Binary Package Number 8 1 Character Record Type X’80’ = Online Forms 9 2 Binary Record Sequence Form ID 11 1 Character Record Sub-sequence X’00’ thru X’09’ 12 2 Binary Data Length (length of the form data) 14 8 Character Form Entity 22 720 Character Form Comments 742 1 Character Form Status X’00’ = Null X’02’ = Inactive X’04’ = Unfrozen X’08’ = Submitted X’10’ = Frozen X’20’ = Rejected X’40’ = Approved X’80’ = Selected 743 4 Character Form Encryption 747 8 Character Form User ID 755 8 Character Lock User ID 763 64 Character Unused 827 3269 Character Form Data
Form Variable Definitions
Form variables are defined using the Online Forms Variable Definition panel. These definitions map the location of form variable values in the form data records. The following Define Form Variable panel (CMNZVRB) shows the variable definitions for 010 - Build GDG Request.
CMNZVRB -------------------- DEFINE FORM VARIABLES -------------------- ROW 1 TO 4 OF 15
COMMAND ===> SCROLL ===> CSR
FORM ID: 010 DESCRIPTION: Build GDG Request
Press ENTER to process;
Enter END command to save changes and exit;
Enter CANCEL command to cancel changes and exit.
VARIABLE VARIABLE VARIABLE TABLE KEY
NAME FORMAT LENGTH VARIABLE VARIABLE
'''' INDEX___ CHAR____ 44__ YES NO_
'''' ENTRIES_ CHAR____ 3___ YES NO_
'''' DELETE__ CHAR____ 3___ YES NO_
'''' EMPTY___ CHAR____ 3___ YES NO_
The form variable definitions are stored in the form definition record as follows:
Offset | Length | Contents |
---|---|---|
658 | 8 | INDEX |
666 | 2 | 44 |
668 | 1 | C |
669 | 1 | Y |
670 | 1 | Y |
671 | 3 | |
674 | 8 | ENTRIES |
682 | 2 | 3 |
684 | 1 | C |
685 | 1 | Y |
686 | 1 | N |
687 | 3 | |
690 | 8 | DELETE |
698 | 2 | 3 |
700 | 1 | C |
701 | 1 | Y |
702 | 1 | N |
703 | 3 | |
706 | 8 | EMPTY |
714 | 2 | 3 |
716 | 1 | C |
717 | 1 | Y |
718 | 1 | N |
719 | 3 | |
722 | 8 | spaces |
Variable names having ‘table variable’ set to N are stored before those set to Y in the form definitions, regardless of the original order of entry. The variable definitions are delimited by a variable name that contains all spaces.
Form Data Values
Form data records are created when processing an End command from an Online Form; that is, accessed using the Select command from the Online Forms Selection panel.
The following examples show how the contents of the form variables are saved in the form data records.
Example 1
This example demonstrates form data storage following the entry of three lines of data using the supplied sample form 010, resulting in the creation of one form data record.
CMNZ0101 ------------- EDIT: BUILD GDG REQUEST --------------------ROW 1 TO 13 OF 13
COMMAND ===> SCROLL ===> PAGE
PACKAGE ID: TEST000001 STATUS: DEV INSTALL DATE: 19971230
Press ENTER to process; Enter END command to exit.
INDEX ENTRIES DELETE EMPTY
‘’’’ TEST.DATASET.NAME01_________________ 10_ YES NO_
‘’’’ TEST.DATASET.NAME02_________________ 10_ YES NO_
‘’’’ TEST.DATASET.NAME03_________________ 10_ YES NO_
‘’’’ TEST.DATASET.NAME04_________________ 10_ YES NO_
‘’’’ _____________________________________ ___ ___ ___
‘’’’ _____________________________________ ___ ___ ___
‘’’’ _____________________________________ ___ ___ ___
‘’’’ _____________________________________ ___ ___ ___
‘’’’ _____________________________________ ___ ___ ___
‘’’’ _____________________________________ ___ ___ ___
‘’’’ _____________________________________ ___ ___ ___
‘’’’ _____________________________________ ___ ___ ___
‘’’’ _____________________________________ ___ ___ ___
********************************** BOTTOM OF DATA ************************************
The form variable values are stored in the form data record as follows:
Offset | Length | Contents |
---|---|---|
827 | 44 | TEST.DATASET.NAME01 |
871 | 3 | 10 |
874 | 3 | YES |
877 | 3 | NO |
880 | 44 | TEST.DATASET.NAME02 |
924 | 3 | 10 |
927 | 3 | YES |
930 | 3 | NO |
933 | 44 | TEST.DATASET.NAME03 |
977 | 3 | 10 |
980 | 3 | YES |
983 | 3 | NO |
Example 2
This example demonstrates form data storage following the entry of 63 lines of data using the supplied sample form 010 resulting in the creation of 2 form data records.
CMNZVRB -------------------- EDIT: BUILD GDG REQUEST ------------- ROW 1 TO 62 OF 63
COMMAND ===> SCROLL ===> PAGE
PACKAGE ID: TEST000001 STATUS: DEV INSTALL DATE: 19971230
Press ENTER to process; Enter END command to exit;
INDEX ENTRIES DELETE EMPTY
'''' TEST.DATASET.NAME01_________________ 10__ YES NO__
'''' TEST.DATASET.NAME62_________________ 10__ YES NO__
'''' TEST.DATASET.NAME63_________________ 10__ YES NO__
The form variables are stored in two form data records as shown in the following tables:
Form Data Record 1
Offset | Length | Contents |
---|---|---|
827 | 44 | TEST.DATASET.NAME01 |
871 | 3 | 10 |
874 | 3 | YES |
877 | 3 | NO |
4060 | 36 | TEST.DATSET.NAME63 |
Form Data Record 2
Offset | Length | Contents |
---|---|---|
827 | 8 | |
835 | 3 | 10 |
838 | 3 | YES |
841 | 3 | NO |
844 | 44 | TEST.DATASET.NAME63 |
888 | 3 | 10 |
891 | 3 | YES |
894 | 3 | NO |
When form data is continued to subsequent records the contents of a variable can be split between two records, as in the previous example. Form data is considered as one string of data up to 32,767 bytes, saved in units of 3,269 bytes in each record.