Anstatt die Steuerung von einer Funktion auf eine andere zu übertragen, gibt es auch eine Reihe von unterschiedlichen Möglichkeiten, die Steuerung in EGL von
einem Programm auf ein anderes zu übertragen.
- Die Anweisung 'call' überträgt die Steuerung von einer Funktion auf ein aufgerufenes
Programm und übergibt optional eine Reihe von
Werten.
(Weitere Informationen finden Sie unter
Unterschiede zwischen Hauptprogrammen und aufgerufenen Programmen.) 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.
Der Aufruf selbst führt keine Commit-Operationen für Datenbanken oder andere wiederherstellbare Ressourcen aus. Es kann jedoch
sein, dass eine automatische Festschreibung auf der Serverseite erfolgt.
Das Programm wird entweder von EGL generiert oder als
'extern definiert' angesehen.
Weitere Informationen zu diesem Thema finden Sie unter Verbindungsoptionsabschnitte in einem Aufruf oder einer Übertragung verwenden.
Es gibt
in der Praxis keine Begrenzung für die Anzahl.
- Zwei Typen von 'transfer-Anweisungen übertragen die Steuerung von einem Hauptprogramm auf ein anderes, beenden das
übertragende Programm und übergeben optional einen Datensatz, dessen Daten für den Eingabedatensatz des empfangenden Programms akzeptiert werden.
- transfer to transaction: Diese Anweisung ist in den meisten Umgebungen verfügbar. Sie
kann wiederherstellbare Ressourcen festschreiben (Commit-Operation) oder rückgängig machen
(Rollback-Operation).
- transfer to program: Diese Anweisung führt keine Commit- oder Rollback-Operationen für wiederherstellbare Ressourcen durch,
schließt jedoch Dateien, gibt Sperren frei und startet ein Programm in derselben Ausführungseinheit.
- Die Systemfunktion 'vgLib.startTransaction()' startet eine Ausführungseinheit im asynchronen Modus. Die Operation beendet nicht das übertragende Programm und wirkt sich nicht auf die Datenbanken, Dateien und Sperren
im übertragenden Programm aus. Bei Bedarf haben Sie die Möglichkeit, Daten an den Eingabedatensatz des empfangenden Programms zu übergeben.
- Verwenden Sie die EGL-Anweisung 'show' nur im Kontext bestimmter Benutzerschnittstellentechnologien. Die zugehörige Referenz
am Ende dieses Themas stellt Informationen zu anderen, von Ihnen möglicherweise verwendeten
Benutzerschnittstellentechnologien zur Verfügung.
- Verwenden Sie die EGL-Anweisung 'forward' nur in einem Programm, das in einer
Java™-Umgebung oder einem Benutzerschnittstellenkontext ausgeführt wird. Diese Anweisung führt die folgenden Aktionen aus:
- Sie schreibt wiederherstellbare Ressourcen fest (Commit-Operation), schließt Dateien und gibt Sperren frei.
- Sie leitet die Steuerung weiter.
- Sie beendet den Code.
Das Ziel ist in diesem Fall ein anderes Programm oder eine Webseite.
Details
hierzu finden Sie unter forward.