On CICS® and IMS™ systems, a segmented converse statement ends the current transaction. Terminal input from the user starts a new transaction. The new transaction is identified by the sysVar.transactionID system variable when the program processes the converse statement. The default value of sysVar.transactionID is the transaction ID associated with the initial program in the current transaction.
If you use a segmented converse statement in a program started by a transfer to program statement from another program (for example, A uses a transfer to program statement to transfer control to B, which issues the converse statement), then the default transaction ID starts the original program (A) again on the input from program B's converse. The generated program A reads the transaction status record from the work database, determines that B was the program that issued the converse, and transfers to B to continue processing. This logic is generated into the program for you.
Each transaction ID you use must be defined to IMS or CICS as being associated with its corresponding program.
The following two diagrams show the difference in program flow when you use a transfer to program statement with default transaction IDs, as opposed to setting the sysVar.transactionID variable.


For CICS, if you use default transaction IDs, you need one RDO TRANSACTION entry to associate transaction ABCD with the menu program. If you use transfer to program and then set sysVar.transactionID to "GETD", you need two TRANSACTION entries, one to associate transaction ABCD with the menu program and one to associate transaction GETD with program GETDATA.
For IMS, if you use default transaction IDs, you need one pair of APPLCTN and TRANSACT macros to associate transaction ABCD with the PSB for the menu program. If you use transfer to program and then set sysVar.transactionID to "GETD", you need two pairs of APPLCTN and TRANSACT macros, one pair to associate transaction ABCD with the PSB for the menu program and one pair to associate transaction GETD with the PSB for program GETDATA.