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.