Die Auswirkungen von Erstellungsdeskriptoren werden ebenfalls ausführlich beschrieben.
Weitere Informationen zum Interagieren mit IMS-Steuerblöcken finden Sie im Kapitel EGL-Unterstützung für Laufzeit-PSBs und -PCBs.
Die nächsten Zwei Abschnitte enthalten für die zwei Programmtypen spezifische Informationen.
Wenn Sie ein Hauptprogramm codieren, mit dem ein Textformular akzeptiert oder angezeigt wird, werden in EGL die Details Zugriffs auf den Eingabe-/Ausgabe-PCB verarbeitet. Die Programmeigenschaft 'segmented' muss auf YES festgelegt sein.
Sie können mithilfe der CONVERSE-Anweisung mit dem Terminal interagieren. Diese Anweisung stellt ein Textformular dar und gibt Antworten auf die Eingaben des Benutzers, indem die Anweisung, die auf die CONVERSE-Anweisung folgt, verarbeitet wird. Eine Übersicht über das Laufzeitverhalten finden Sie in der EGL-Sprachreferenz.
Die Verwendung von CONVERSE-Anweisungen ist verhältnismäßig einfach, aber bei Verwendung von SHOW-Anweisungen erhalten Sie eine bessere Leistung. Sie können SHOW-Anweisungen zum Zurückkehren zum Anfang desselben Programms oder zu einem anderen Programm verwenden. Bei SHOW-Anweisungen muss dasselbe Formular angegeben werden, das beim empfangenden Programm als 'inputForm' angegeben ist. Durch die Verwendung von SHOW-Anweisungen werden die Daten, die gespeichert werden, auf genau die Informationen im Formular und im Datensatz eingeschränkt, die in der SHOW-Anweisung angegeben sind. Sie müssen jedoch bei der Codierung des Programms sicherstellen, dass im Formular und im Datensatz alle notwendigen Informationen zum Fortsetzen der Interaktion mit dem Programmbenutzer bereitgestellt werden.
Ihr Programm kann als interaktives oder nicht interaktives IMS-Programm ausgeführt werden, es kann an andere Programme übertragen oder andere Programme aufrufen und es kann SHOW-Anweisungen mit Rückgabeklauseln absetzen. Beschränkungen für bestimmte Anweisungstypen finden Sie in dem Kapitel mit den Beschreibungen der Anweisungssyntax.
Wenn Sie ein Hauptprogramm codieren, mit dem Textformulare weder akzeptiert noch angezeigt werden können, stehen Eingaben aus der IMS-Nachrichtenwarteschlange zur Verfügung. Um diese Eingaben abrufen zu können, codieren Sie eine Schleife, durch die eine Nachricht nach der anderen in einen seriellen Datensatz eingelesen wird und die dem Eingabe-/Ausgabe-PCB zugeordnet ist. Für Eingaben aus einer Nachrichtenwarteschlange kann der dem seriellen Datensatz zugeordnete Dateityp SMSGQ oder MMSGQ sein. Nähere Informationen finden Sie im Kapitel Serielle- und Druckdateien in IMS verwenden.
Wenn ein Hauptbasisprogramm gestartet wird, wird der Eingabedatensatz des Programms in den meisten Umgebungen von dem Datensatz aus initialisiert, der vom übertragenden Programm übergeben wurde. Dies gilt nicht für Hauptbasisprogramme, die für die IMS-BMP-Umgebung generiert wurden. Stattdessen muss das Zielprogramm den übertragenen Datensatz aus der Nachrichtenwarteschlange auslesen.
In EGL generierte aufgerufene Basisprogramme können mit in EGL generiertem Java™-Code auf einer anderen Plattform aufgerufen werden.
Ihr Programm kann als nicht interaktives IMS-Programm ausgeführt werden und Übertragungen in ein Programm durchführen oder ein anderes Programm im selben IMS/VS-System aufrufen. Beschränkungen für bestimmte Anweisungstypen finden Sie in dem Kapitel mit den Beschreibungen der Anweisungssyntax.
In IMS können Nachrichtenwarteschlangen nicht von in EGL generierten aufgerufenen Programmen ausgelesen werden. Die Anweisung TRANSFER TO TRANSACTION kann nicht von Basisprogrammen verwendet werden.
Sie können sowohl textUI-Programme als auch Basisprogramme zum Ausführen in einem IFP-Bereich (IFP = IMS-Fast-Path) generieren. In diesem Fall ist die Situation dieselbe wie für MPP-Regionen beschrieben, außer dass das Programm (den IMS-Anforderungen entsprechend) nicht interaktiv sein darf. Zudem wird die Verwendung von Eingabenachrichtenwarteschlangen mit mehreren Segmenten (einschließlich die Verwendung von CONVERSE-Anweisungen) aus Leistungsaspekten nicht für IMS-Fast-Path-Programme empfohlen.
Sie können ein Basisprogramm generieren, das in einem IMS-BMP-Bereich ausgeführt wird.
Um ein transaktionsorientiertes IMS-BMP-Programm zu erstellen, müssen Sie Eingaben aus der IMS-Nachrichtenwarteschlange abrufen, indem Sie eine Schleife codieren, mit der eine Nachricht nach der anderen in einen seriellen Datensatz ausgelesen wird, der dem Eingabe-/Ausgabe-PCB zugeordnet ist. Die Verwendung von Nachrichtenwarteschlangen mit einem Segment und mit mehreren Segmenten wurde bereits für IMS-MPP-Programme beschrieben. Zum Erstellen eines stapelorientierten IMS-BMP-Programms dürfen keine Eingaben aus der IMS-Nachrichtenwarteschlange ausgelesen werden. Nähere Informationen dazu finden Sie im Kapitel Serielle- und Druckdateien in IMS verwenden.
Mit Ihrem Code können Sie Übertragungen zu anderen IMS-BMP-Programmen durchführen oder diese aufrufen. Mit aufgerufenen Programmen können keine Nachrichtenwarteschlangen ausgelesen werden.
Indem Sie Optionen im Erstellungsdeskriptor festlegen, der zum Zeitpunkt der Generierung verwendet wird, setzen Sie einige Entscheidungen außerhalb des Codes um.