Für serielle Dateien, die als GSAM-Dateien oder als IMS-Nachrichtenwarteschlange implementiert sind, gelten
besondere Hinweise.
Für GSAM-Dateien (generalisierte sequenzielle Zugriffsmethode) in
IMS BMP- und z/OS Batch-Umgebung gelten die folgenden besonderen Hinweise:
- 'get next' ist das einzige Format der Anweisung 'get', das mit GSAM verwendet werden kann.
- Ein einzelnes Programm kann keine Kombination aus 'add'- und 'get
next'-Anweisungen für dieselbe GSAM-Datei einschließen.
- Eine Anweisung 'get next' für einen seriellen Datensatz, der einer GSAM-Datei zugeordnet ist, resultiert in einem Aufruf GN an die
GSAM-Datenbank.
- Wenn Sie einen seriellen Datensatz variabler Länger aus einer Datei lesen, die mit GSAM zugeordnet ist, und wenn die Länge des Datensatzes die Länge
der physischen Datei überschreitet, gibt DL/I einen leeren Statuscode zurück. Die Daten werden abgeschnitten, ohne dass eine Nachricht ausgegeben wird, da die
Situation nicht erkannt werden kann.
Für serielle Dateien, die einer IMS-Nachrichtenwarteschlange in
IMS BMP- oder z/OS Batch-Umgebungen zugeordnet sind, gelten die folgenden
besonderen Hinweise:
- 'get next' ist das einzige Format der Anweisung 'get', das mit
IMS-Nachrichtenwarteschlangen verwendet werden kann.
- Ein einzelnes Programm kann keine Kombination aus 'add'- und 'get
next'-Anweisungen für dieselbe IMS-Nachrichtenwarteschlange einschließen.
- Um die Anweisung 'get next' für eine serielle Datei, die einer
IMS-Nachrichtenwarteschlange zugeordnet ist, verwenden zu können, müssen Sie die serielle Datei einem Eingabe-/Ausgabe-PCB
(Programmkommunikationsblock) zuordnen.
- Die Anweisung 'get next' wird nicht für textUI-Programme unterstützt und auch nicht für Basisprogramme, die über ein textUI-Programm
aufgerufen werden. Basisprogramme können nur eine einzige serielle Eingabedatei für den Eingabe-/Ausgabe-PCB zuordnen. EGL entfernt automatisch den
IMS-Nachrichtenheader (Länge, ZZ-Feld und Transaktionscode) aus der Nachricht, bevor die Daten in den seriellen Datensatz
verschoben werden.
- Eine Anweisung 'get next' für einen seriellen Datensatz, der
einer aus einem einzigen Segment bestehenden Nachrichtenwarteschlange zugeordnet ist,
resultiert in einem Aufruf GU an den Eingabe-/Ausgabe-PCB. Dieser Aufruf GU resultiert in einem automatischen Festschreibungspunkt (Commitpunkt).
- Die erste Anweisung 'get next' für einen seriellen Datensatz, der
einer aus mehreren Segmenten bestehenden Nachrichtenwarteschlange zugeordnet ist,
resultiert in einem Aufruf GU an den Eingabe-/Ausgabe-PCB. Nachfolgende get next-Anweisungen resultieren in GN-Aufrufen, bis eine
Bedingung vom Typ 'noRecordFound' (Statuscode QD) festgestellt wird. Die erste Anweisung 'get next' nach der
Bedingung 'noRecordFound' resultiert in einem weiteren Aufruf GU, und diese Verarbeitung wird so lange fortgesetzt, bis eine Bedingung
vom Typ 'endOfFile' (Statuscode QC) festgestellt wird. Jeder Aufruf GU resultiert in einem automatischen Festschreibungspunkt.
- Während einer speziellen Terminierung eines Basisprogramms kann das Programm die Anweisung 'get next' jeweils nur für eine
einzige Nachrichtenwarteschlange verwenden. Der Transaktionscode, für den
IMS das Programm terminiert hat, legt fest, welche Nachrichtenwarteschlange gelesen wird. Die bei Generierung
angegebene Systemressource wird ignoriert.