EGL bietet mehrere Möglichkeiten, die Steuerung von einem
Programm zu einem anderen umzuschalten:
- Die Anweisung "call" überträgt die Steuerung an ein anderes Programm und übergibt optional eine Reihe von Werten. Die Steuerung wird an das aufrufende Programm zurückgegeben, wenn das aufgerufene Programm endet. Wenn das
aufgerufene Programm Daten ändert, die als Variable übergeben wurden, wird der Inhalt der Variablen
im aufrufenden Programm geändert.
Die Anweisung "call" schreibt keine Datenbanken oder wiederherstellbaren Ressourcen fest, obwohl ein automatisches serverseitiges Festschreiben auftreten kann.
Sie können Kenndaten des Aufrufs angeben. Setzen Sie dazu im Abschnitt mit Verbindungsoptionen ein "callLink"-Element. Weitere Informationen finden Sie unter "call" sowie "Verbindungsoptionsabschnitte in einem Aufruf oder einer Übertragung verwenden".
- Diese zwei Typen von Übertragungsanweisungen übergeben die Steuerung von einem Hauptprogramm an ein anderes Programm, beenden das übertragende Programm und übergeben optional einen Datensatz, dessen Daten im Eingabesatz des empfangenden Programms akzeptiert werden.
Sie können keine dieser Übertragungsanweisungen in einem aufgerufenen Programm verwenden.
- Die Anweisung "transfer to transaction" führt Folgendes durch:
- Mit dieser Anweisung werden in einem Hauptprogramm, das unter CICS oder
IMS/VS ausgeführt wird, wiederherstellbare Ressourcen festgeschrieben, Dateien und Cursor geschlossen sowie eine Transaktion gestartet.
- In einem Programm, das als z/OS- oder IMS-BMP-Haupt-Batchprogramm oder als Java™-Haupttext- oder Haupt-Batchprogramm ausgeführt wird, hängt das Verhalten von der Einstellung der Erstellungsdeskriptoroption "synchOnTrxTransfer" ab:
- Wenn "synchOnTrxTransfer" auf YES festgelegt ist, schreibt die Anweisung
"transfer" wiederherstellbare Ressourcen fest, schließt Dateien und Cursor und startet in derselben Ausführungseinheit
ein Programm.
- Wenn "synchOnTrxTransfer" auf NO festgelegt ist (Standardeinstellung), startet
die Anweisung "transfer" auch ein Programm in derselben Ausführungseinheit, schließt jedoch keine Ressourcen und sagt keine Ressourcen zu, die für das aufgerufene Programm verfügbar sind.
- Die Anweisung "transfer to program" schreibt keine wiederherstellbaren Ressourcen fest und führt auch keinen Rollback durch, schließt aber Dateien, öffnet Sperren und startet in derselben Ausführungseinheit
ein Programm.
Weitere Informationen über Einschränkungen und sonstige Probleme finden Sie unter "transfer" sowie "Verbindungsoptionsabschnitte in einem Aufruf oder einer Übertragung verwenden".
- Die Systemfunktion "vgLib.startTransaction()" startet als Ausführungseinheit asynchron. Die Operation beendet nicht das übertragende Programm und wirkt sich nicht auf die Datenbanken, Dateien und Sperren
im übertragenden Programm aus. Bei Bedarf können Sie Daten an den Eingabedatensatz übergeben. Dieser Datensatz ist ein Bereich im empfangenden Programm.
Wenn Ihr Programm "vgLib.startTransaction()" aufruft, müssen Sie möglicherweise das Programm mit einem Verbindungsoptionsabschnitt, Element "asynchLink", generieren, um zusätzliche Informationen bereitzustellen (beispielsweise als Paketname für Java oder Informationen für eine ferne Transaktion für CICS). Weitere Informationen finden Sie unter "startTransaction()" sowie "Verbindungsoptionsabschnitte in einem Aufruf oder einer Übertragung verwenden".
- Die EGL-Anweisung "show" beendet ein textUI-Hauptprogramm oder ein VGWebTransaction-Hauptprogramm und zeigt dem Benutzer Daten an.
Nachdem der Benutzer das Formular oder die Webseite eingereicht hat, leitet die Anweisung "show" die Steuerung optional an ein zweites Hauptprogramm weiter, das Daten, die vom Benutzer empfangen wurden, sowie Daten, die ohne Änderung vom ursprünglichen Programm übergeben wurden, empfängt.
In Bezug auf textUI-Programme ist die Anweisung "show" von den Einstellungen im Verbindungsoptionsabschnitt, Element "transferToTransaction", betroffen.
Weitere Informationen finden Sie unter "show".
- Die Anweisung "forward" wird schließlich vom JSF-Handler oder von einem Programm aufgerufen, das in einer Java-Umgebung ausgeführt wird. Die Anweisung führt die folgenden Aktionen aus:
- Schreibt wiederherstellbare Ressourcen fest, schließt Dateien und hebt Sperren auf.
- Leitet die Steuerung weiter.
- Beendet den Code.
Das Ziel in diesem Fall ist ein anderes Programm oder eine Webseite.
Weitere Informationen finden Sie unter "forward".