Diagnosing routing errors by using the transaction trace or program trace

The transaction trace or program trace can be used to diagnose routing error problems that are related to the user program routing exit DFSMSCE0.

By setting this trace on for a transaction or program, IMS logs a 6701-LA3A record at entry to DFSDLA30, and a 6701-LA3B when DFSDLA30 returns to the application program. In addition IMS logs a 6701-MSEA record when the exit is entered, and a 6701-MSEB when the exit returns to IMS. IMS also logs a 6701-MSCE error record, for each DFSMSCE0 related routing error.

Module DFSDLA30 receives control for every user application program call to a TPPCB (such as an I/O TPPCB or an alternate TPPCB). The DFSMSCE0 routing exit can be tailored to receive control for the first ISRT call of each new message to an I/O TPPCB or alternate TPPCB, or for each CHNG call to a alternate modifiable TPPCB.

For example, if the transaction trace is active for TRANA, and a TRANA message is processed and the user application program issues a ISRT to an alternate TPPCB, and the DFSMSCE0 exit is being used to route ISRT calls, IMS traces the following records with this command:
/TRACE SET ON TRANSACTION transaction_name
   6701-LA3A - DFSDLA30 called to process ISRT call
   6701-MSEA - DFSMSCE0 called to process ISRT route
   6701-MSEB - DFSMSCE0 returns
   6701-MSCE - Logged if routing error detected, even if tran/prog trace
               is not active
   6701-LA3B - DFSDLA30 returns (ISRT/route processed)

To trace the DL/I portion of data communication for a specific program, issue the following command:

/TRACE SET ON PROGRAM  program_name

For program routing exit (DFSMSCE0) call errors, TPPCB status, AIBRETRN, and AIBREASN codes are set.