Recovering transactions after an LU 6.2 session failure

If an LU 6.2 session fails while IMS is receiving an input message, IMS discards the message.

If IMS receives the complete message, processing depends on whether the conversation is:
  • CPI-C or not CPI-C
  • Synchronous or asynchronous
  • Local or remote

CPI-C transaction

If an LU 6.2 session fails while processing a CPI-C transaction, the application program can choose to end the conversation or to continue processing. IMS TM is not involved, and places no restrictions on the choice of committing or backing out updates. The application program makes the decision. Because IMS TM does not know about the session failure, it takes no action. The normal processing rules for commit and backout apply. IMS does not recover the LU 6.2 conversation.

Related reading: For information on designing your CPI-C LU 6.2 application program, see IMS Version 15.2 Application Programming.

Not a CPI-C transaction

If an LU 6.2 session fails while a local IMS is sending transaction output that is not CPI-C to the LU 6.2 program, and the conversation is synchronous, IMS calls the Message Control/Error exit routine to determine whether to abort and back out, or to continue processing. The default action is to stop the transaction and discard the output message (this is the mode of operation for all protected conversations; that is, conversations allocated using SYNCLVL=SYNCPT). If the conversation is asynchronous, IMS does not call the Message Control/Error exit routine, but queues the output on the message queue to the TP name of DFSASYNC.

Related reading: For information on coding the Message Control/Error exit routine, see IMS Version 15.2 Exit Routines.

Remote APPC transaction

If an LU 6.2 session fails while processing a remote APPC transaction, IMS recovers the output message if it has been enqueued on the local system's MSC link. If the transaction has not at least reached the point of being enqueued on the MSC link, IMS discards it. IMS discards the transaction regardless of the recoverability mode and regardless of whether the LU 6.2 conversation is synchronous or asynchronous. IMS does not call the Message Control/Error exit routine:
  • If the transaction is asynchronous, when the output from a remote transaction for a failed LU 6.2 session returns from the remote system to the originating system, IMS sends the response asynchronously to the LU 6.2 application program by using the DFSASYNC TP name.
  • If the transaction is synchronous, when the output from a remote transaction for a failed LU 6.2 session returns from the remote system to the originating system, IMS calls the Message Control/Error exit routine to either discard or re-route the transaction output. The default action is to discard the output.

Related reading: For information on using DFSASYNC in your application program, see IMS Version 15.2 Application Programming.