Element 'transferToProgram'

Das Element transferToProgram eines Verbindungsoptionsabschnitts gibt an, wie ein generiertes Java™- oder COBOL-Programm die Steuerung an eine Transaktion übergibt und die Verarbeitung beendet, wie es bei der Verwendung der Anweisung transfer to program durch das ursprüngliche Programm der Fall ist.

Das Element enthält die folgenden Eigenschaften:
  • fromPgm
  • toPgm
  • linkType
  • alias (Diese Eigenschaft wird benötigt, wenn Ihr Code eine Übertragung an ein Programm vorsieht, dessen Laufzeitname von dem Namen des zugehörigen Programmabschnitts abweicht.)
  • packageName (der Name der Paketposition des Programms, an das die Steuerung übertragen wird)
Wenn Sie COBOL-Code generieren, können Sie auf die Angabe des Elements transferToProgram verzichten, wenn das Zielprogramm mit VisualAge Generator oder (ohne Aliasname) mit EGL generiert wird. Es gilt folgendes Standardverhalten:
  • Wird das Programm unter CICS for z/OS ausgeführt, wird die Übertragung über einen CICS-XCTL-Befehl implementiert.
  • Wird das Programm unter z/OS, jedoch nicht in CICS ausgeführt, simuliert EGL das Verhalten unter CICS, sodass das übertragende Programm beendet, die Ausführungseinheit jedoch ohne Festschreibung oder Aufhebung von Sperren fortgesetzt wird. Die Übertragung wird in diesem Fall mit einem dynamischen COBOL-Aufruf implementiert. Dies ist effizienter als XCTL, benötigt jedoch mehr Speicher. Bei z/OS batch können Sie angeben, das Sie einen XCTL-Befehl für die Übertragung verwenden möchten, indem Sie die Builddeskriptoroption useXCTLForTransfer mit YES definieren.

Ein besonderer Fall liegt vor, wenn Sie COBOL-Code entwickeln, der außerhalb von CICS ausgeführt wird. Die Laufzeitsimulation des CICS-Verhaltens impliziert, dass Sie das ursprüngliche Programm in der Ausführungseinheit als das Programm angeben müssen, von dem aus alle Übertragungen ausgehen.

Angenommen, Programm01 überträgt die Steuerung an Programm02, das die Steuerung wiederum an Programm03 überträgt. Dabei wird vorausgesetzt, dass es sich um eine Übertragung des Typs transfer to program handelt. Wenn Sie Program01 generieren, muss Ihr Verbindungsoptionsabschnitt, sofern Sie nicht das Standardverhalten akzeptieren, ein transferToProgram-Elementpaar enthalten, das die folgenden Übertragungen angibt:
  • Von Programm01 zu Programm02
  • Von Programm01 zu Programm03
In der zuvor angegebenen Situation muss Ihr Verbindungsoptionsabschnitt, wenn Programm02 auch als erstes Programm in einer anderen Ausführungseinheit verwendet werden kann, ein anderes transferToProgram-Element enthalten, wenn Sie Programm02 generieren. Ziel ist es in diesem Fall, die Steuerung direkt von Programm02 zu Programm03 zu übertragen.

Wenn es sich bei Programm02 um ein EGL-Programm handelt, bei Programm03 jedoch nicht, sind die Standardeinstellungen nicht geeignet und Sie müssen das transferToProgram-Element angeben, das an der Übertragung der Steuerung von Programm01 an Programm03 beteiligt ist.