Using your dynamic routing program
You can use dynamic transaction routing to make transaction routing decisions based on the input to the transaction, available CICS systems, relative loading of the available systems, and similar factors. However, a routing program can perform other functions, besides redirecting transaction requests.
Your dynamic routing program could be used for these purposes:
- Perform workload balancing. For example, in a CICSplex, your program could make intelligent choices between equivalent transactions on parallel AORs.
- Specify whether a request is to be queued if no sessions to a remote system are available. For information about controlling the length of intersystem queues, see Intersystem session queue management.
- For MRO and IPIC links, set the priority of the transaction attached in the AOR.
- Cause a user-defined program to run if the transaction cannot be routed or if the routed-to transaction abends. For example, if all remote CICS regions are unavailable and the transaction cannot be routed, you might want to run a program in the local terminal-owning region to send an appropriate message to the user.
- Monitor the number of requests routed to particular systems.
A dynamic routing program can issue EXEC CICS commands, but the EXEC CICS RECEIVE command prevents the routed-to transaction from obtaining the initial terminal data.
For programming information about writing a dynamic transaction routing program, see Writing a dynamic routing program .