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.