If the system is unavailable or not known

The dynamic transaction routing program is invoked again if the remote system name that you specify on the route selection call is not known or is unavailable, and you have specified that you want to retry the route request, by setting UE_Dyrretry to UE_Yes. When this happens, you have a choice of actions:
  • You can instruct CICS® not to continue trying to route the transaction, by issuing a return code of UE_Term_Abend. If the reason for the error is that the system is unavailable, CICS issues message 'ERZ1433E' and abend 'A149'.
  • You can tell CICS to terminate the transaction with only a message by returning a return code of UE_Terminate.
  • You can change the system ID, and issue a return code of UE_Normal to try to route the transaction again. If you change the system ID, you might also need to supply a different remote transaction ID. You need to do this if, for example, the transaction has a different remote transaction name on each system.
  • You can choose to run the transaction locally, by supplying the local system ID (or setting the system ID to a null string) and by supplying a program name. Note that the program name can be allowed to default to the program name that has been specified in the Transaction Definitions (TD) for the transaction.
  • You can attempt to route to the same system again.

A count of the times that the routing program has been invoked for routing purposes for this transaction is passed in field UE_Dyrcount. In your program, you can set a limit on the value of this parameter to enable it to decide when to stop trying to route a particular transaction instance.