Format of the IMS™ MFS message input descriptor (MID)
The IMS™ MFS message input descriptor (MID) and message output descriptor (MOD) that are used to read and write forms to terminals for a deferred program-to-program message switch share the same basic format. The table below shows the record layout for a MID. For an MFS MOD, the IMS™ transaction name and the value of the COND parameter (form name) are reversed. In addition, some fields in the MOD are ignored.
| Field | Length in bytes | Type of data | Description |
|---|---|---|---|
| Segment length | 2 | Binary | The length of the segment. |
| Reserved | 2 | Binary | Reserved for IMS™. |
| IMS™ transaction name | 8 | Character | The IMS™ transaction name for the EGL program. |
| Reserved | 1 | Character | Reserved for Rational® COBOL Runtime for zSeries®. |
| Form name | 8 | Character | Value for MFS COND parameter from the MID of a deferred program-to-program message switch. |
| Additional Rational® COBOL Runtime for zSeries® fields | 51 | Variable | A group of fields that Rational® COBOL Runtime for zSeries® uses to validate the form. The total length of all fields prior to the start of the program form fields is 72 bytes. |
| Program form fields | Variable | Variable | This area contains the fields defined for the EGL form. |
The following example shows the COBOL definition for a form message
input descriptor (MID) for a deferred program-to-program message switch.
Keep in mind that PL/I requires a 4-byte length field rather than
the 2-byte length field used for COBOL. Refer to the IMS/VS documentation
for your system for additional information. The specific field names
are used for illustrative purposes only; the actual field names might
vary in the generated code.
* CopyMember ELAAHMMI
01 EZEMAP-IO-AREA.
05 EZEMAP-HEADER.
10 EZEMAP-LL PIC S9(4) COMP.
10 EZEMAP-ZZ
15 EZEMAP-Z1 PIC X(1).
15 EZEMAP-Z2 PIC X(1).
10 EZEMAP-ZZ-BIN REDEFINES EZEMAP-ZZ
PIC S9(4) COMP.
10 EZEMAP-MID-TRANCODE. Note 1
15 EZEMAP-MOD-MAP PIC X(8).
10 FILLER PIC X(1).
10 EZEMAP-MOD-TRANCODE.
15 EZEMAP-MID-MAP PIC X(8).
10 EZEMAP-STRUCTURE-TYPE PIC X(4).
88 EZEMAP-IS-A-MAP VALUE "MAP ".
10 EZEMAP-SCA PIC X(2). Note 2
10 EZEMAP-SCA-BIN REDEFINES EZEMAP-SCA
PIC S9(4) COMP.
10 EZEMAP-EZEAID PIC X(2). Note 3
10 EZEMAP-HELP-PF-KEY PIC X(2).
10 EZEMAP-BYPASS-PF-KEYS.
15 EZEMAP-BYPASS-PF-KEY PIC X(2)
OCCURS 5 TIMES.
10 EZEMAP-HELP-MAP-NAME PIC X(8).
10 EZEMAP-CURSOR.
15 EZEMAP-ROW PIC S9(4) COMP.
15 EZEMAP-COL PIC S9(4) COMP.
10 EZEMAP-GEN-DATE-TIME.
15 EZEMAP-DATE PIC X(8).
15 EZEMAP-TIME PIC X(8).
10 EZEMAP-SSM-STATUS-ATTR PIC X(2). Note 4
88 EZEMAP-SSM-PREMODIFIED VALUE X"0081".
10 EZEMAP-SSM-STATUS PIC X(1). Note 5
88 EZEMAP-SSM-INVALID VALUE X"40" X"FF" X"00".
88 EZEMAP-SSM-WSR-SAVED VALUE "C".
88 EZEMAP-SSM-WSR-MAP-SAVED VALUE "D".
88 EZEMAP-SSM-FILL-CHAR VALUE X"FF".
* Copymember for form group formGroup
01 EZEMFS-form REDEFINES EZEMAP-IO-AREA.
05 EZEMFS-form-HEADER PIC X(72). Note 6
05 EZEMAP-DATA.
10 formField. Note 7
15 EZEATTR PIC X(08).
15 EZEDATA PIC .... Note 8
.
.
.The following notes apply to this example:- For a MOD, the transaction name and the map name are reversed. If a conversational transaction is started by using an IMS™ /FORMAT command, IMS™ removes the transaction name from the data stream.
- In a MID, SCA is set to blanks. In a MOD, SCA must be initialized to binary zeros by the program that inserts the MOD.
- In a MOD, the EZEAID fields through the EZEMAP-GEN-DATETIME fields can be left blank. Any value placed in these fields is not returned on input.
- The transferring program must set EZEMAP-SSM-PREMODIFIED to TRUE to ensure that the value of EZEMAP-SSM-STATUS is transmitted to the target program.
- If the transferring program puts data in the work database for
the target nonconversational program to use in initializing its input
record, it should use the level 88 EZEMAP-SSM-WSR-SAVED to set this
field. Otherwise, this field should be initialized using the level
88 EZEMAP-SSM-INVALID.
The target program should test the value of EZEMAP-SSM-STATUS to determine if there is data in the work database to restore. If either EZEMAP-SSM-WSR-SAVED or EZEMAP-SSM-WSR-MAP-SAVED is true, there is a record in the work database to restore.
- Form is the actual name of the form defined in EGL, the name specified by the alias property for the form, or the alias name if one had to be assigned at generation time.
- formField is the actual name of a field defined in the form or the alias name if one had to be assigned at generation time. If the formField is an array, an OCCURS clause is used.
- The PIC representation varies based on the type and length of the form field.