Format des IMS-MFS-Nachrichteneingabedeskriptors (MID)
Der IMS MFS-Nachrichteneingabedeskriptor (MID) und Nachrichtenausgabedeskriptor (MOD), die verwendet werden, um Formulare für Terminals für eine verzögerte Programm-zu-Programm-Nachrichtenumschaltung zu lesen und zu schreiben, nutzen gemeinsam dasselbe Basisformat. In der folgenden Tabelle wird das Datensatzlayout für einen Nachrichteneingabedeskriptor dargestellt. Für einen MFS-Nachrichtenausgabedeskriptor werden der IMS-Transaktionsname und der Wert des Parameters COND (Formularname) umgekehrt. Außerdem werden einige Felder im Nachrichtenausgabedeskriptor ignoriert.
| Feld | Länge in Byte | Datentyp | Beschreibung |
|---|---|---|---|
| Segmentlänge | 2 | Binär | Die Länge des Segments. |
| Reserviert | 2 | Binär | Reserviert für IMS. |
| IMS-Transaktionsname | 8 | Zeichen | Der IMS-Transaktionsname für das EGL-Programm. |
| Reserviert | 1 | Zeichen | Reserviert für Rational COBOL Runtime für zSeries. |
| Formularname | 8 | Zeichen | Wert des Parameters MFS COND vom Nachrichteneingabedeskriptor für eine verzögerte Programm-zu-Programm-Nachrichtenumschaltung. |
| Zusätzliche Felder für Rational COBOL Runtime für zSeries | 51 | Variable | Eine Gruppe von Feldern, die von Rational COBOL Runtime für zSeries zum Auswerten des Formulars verwendet werden. Die Gesamtlänge aller Felder vor dem Start der Programmformularfelder beträgt 72 Byte. |
| Programmformularfelder | Variable | Variable | In diesem Bereich sind die Felder enthalten, die für das EGL-Formular definiert wurden. |
* 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. Anmerkung 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). Anmerkung 2
10 EZEMAP-SCA-BIN REDEFINES EZEMAP-SCA
PIC S9(4) COMP.
10 EZEMAP-EZEAID PIC X(2). Anmerkung 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). Anmerkung 4
88 EZEMAP-SSM-PREMODIFIED VALUE X"0081".
10 EZEMAP-SSM-STATUS PIC X(1). Anmerkung 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). Anmerkung 6
05 EZEMAP-DATA.
10 formField. Anmerkung 7
15 EZEATTR PIC X(08).
15 EZEDATA PIC .... Anmerkung 8
.
.
.
Hinweise zu diesem Beispiel:- Für einen Nachrichtenausgabedeskriptor können der Transaktionsname und der Zuordnungsname umgekehrt werden. Wenn eine interaktive Transaktion mithilfe des Befehls IMS /FORMAT gestartet wird, entfernt IMS den Transaktionsnamen aus dem Datenstrom.
- In einem Nachrichteneingabedeskriptor ist der Systemsteuerbereich (SCA) auf Leerzeichen festgelegt. In einem Nachrichtenausgabedeskriptor muss der SCA vom Programm, das den Nachrichtenausgabedeskriptor einfügt, auf binäre Nullen festgelegt werden.
- In einem Nachrichtenausgabedeskriptor können die Felder EZEAID bis EZEMAP-GEN-DATETIME leer gelassen werden. Wenn in diesen Feldern Werte eingetragen werden, werden diese nicht als Eingabe zurückgegeben.
- Beim übertragenden Programm muss EZEMAP-SSM-PREMODIFIED auf TRUE festgelegt werden, um sicherzustellen, dass der Wert EZEMAP-SSM-STATUS an das Zielprogramm übertragen wird.
- Wenn das übertragende Programm Daten in die Arbeitsdatenbank für das nicht interaktive Zielprogramm zur Verwendung bei der Initialisierung des Eingabedatensatzes einfügt, sollte Level 88 EZEMAP-SSM-WSR-SAVED zum Festlegen dieses Felds verwendet werden. Anderenfalls sollte dieses Feld mit
88 EZEMAP-SSM-INVALID initialisiert werden.
Das Zielprogramm sollte den Wert von EZEMAP-SSM-STATUS testen, um zu bestimmen, ob in der Arbeitsdatenbank Daten vorhanden sind, die wiederhergestellt werden sollen. Wenn entweder EZEMAP-SSM-WSR-SAVED oder EZEMAP-SSM-WSR-MAP-SAVED den Wert "true" hat, befindet sich ein Datensatz in der Arbeitsdatenbank, der wiederhergestellt werden soll.
- "Form" ist der tatsächliche Name des in EGL definierten Formulars, der von der Eigenschaft "alias" angegebene Name oder der Aliasname, wenn ein Aliasname zum Zeitpunkt der Generierung zugeordnet werden musste.
- "formField" ist der tatsächliche Name eines Felds, das im Formular definiert wurde, oder der Aliasname, wenn ein Aliasname zum Zeitpunkt der Generierung zugeordnet werden musste. Wenn "formField" ein Array ist, wird eine OCCURS-Klausel verwendet.
- Die PIC-Darstellung variiert anhand des Typs und der Länge des Formularfelds.