Sie können den Systemaufwand verringern, der durch die Übertragung der Steuerung von einem Programm an das andere auftritt.
Auf CICS- und IMS-Systemen beendet eine mit 'segmented' versehene Anweisung converse die aktuelle Transaktion. Die Terminaleingabe des Benutzers startet eine neue Transaktion. Die neue Transaktion wird durch die Systemvariable sysVar.transactionID angegeben, wenn das Programm die Anweisung converse verarbeitet. Der Standardwert von sysVar.transactionID ist die Transaktions-ID, die in der aktuellen Transaktion dem ursprünglichen Programm zugeordnet ist.
Wenn Sie eine mit 'segmented' versehene Anweisung converse in einem Programm verwenden, das von der Anweisung transfer to program in einem anderen Programm gestartet wurde (beispielsweise verwendet A die Anweisung transfer to program, um die Steuerung an B zu übertragen, welches die Anweisung converse ausgibt), so startet die Standard-ID der Transaktion das ursprüngliche Programm (A) erneut bei Eingabe der Anweisung converse des Programms B. Das generierte Programm A liest den Datensatz des Transaktionsstatus aus der Arbeitsdatenbank, ermittelt, dass B das Programm war, das die Anweisung converse ausgegeben hat, und überträgt an B, um mit der Verarbeitung fortzufahren. Diese Logik wird für Sie im Programm generiert.
Jede von Ihnen verwendete Transaktions-ID muss für IMS oder CICS als dem entsprechenden Programm zugeordnet definiert werden.
In den folgenden beiden Diagrammen wird der Unterschied im Programmablauf gezeigt, der auftritt, wenn die Anweisung transfer to program mit Standard-IDs der Transaktion verwendet wird, anstatt die Variable sysVar.transactionID zu verwenden.


Wenn Sie für CICS Standard-IDs der Transaktion verwenden, benötigen Sie einen einzigen RDO-Eintrag TRANSACTION, um Transaktion ABCD dem Menüprogramm zuzuordnen. Wenn Sie transfer to program verwenden und anschließend sysVar.transactionID auf 'GETD' festlegen, benötigen Sie zwei TRANSACTION-Einträge; einen, um Transaktion ABCD dem Menüprogramm zuzuordnen, und einen anderen, um Transaktion GETD dem Programm GETDATA zuzuordnen.
Wenn Sie für IMS Standard-IDs der Transaktion verwenden, benötigen Sie ein Paar aus den Makros APPLCTN und TRANSACT, um Transaktion ABCD dem Programmspezifikationsblock für das Menüprogramm zuzuordnen. Wenn Sie transfer to program verwenden und anschließend für sysVar.transactionID die Einstellung 'GETD' festlegen, benötigen Sie zwei Paare aus den Makros APPLCTN und TRANSACT; ein Paar, um Transaktion ABCD dem Programmspezifikationsblock für das Menüprogramm zuzuordnen, und ein weiteres Paar, um Transaktion GETD dem Programmspezifikationsblock für das Programm GETDATA zuzuordnen.