Writing a dynamic routing program
CICS® provides a dynamic routing program that can route transactions initiated from terminals or by a subset of CICS commands, and route program link requests. CICSPlex® SM provides a dynamic routing program that can perform workload routing. If these programs do not meet your requirements, you can write your own dynamic routing program.
- CICS business transaction services activities and processes.
- Non-terminal-related EXEC CICS START requests.
- Inbound web services requests.
- EXEC CICS RUN TRANSID requests.
To route these types of request you must use the distributed routing program. How to write a distributed routing program is described in Writing a distributed routing program.
To write a dynamic routing program, you must be familiar with the principles of CICS transaction routing, distributed program links, and dynamic routing. For detailed information about which transactions initiated by START commands, and which program link requests, are eligible for dynamic routing, see Routing transactions invoked by START commands.
Optionally, your routing program can route requests based on the CICS user ID (userid) associated with the request. The DYRUSERID field of the communications area contains the user ID. When it is invoked for routing or because of a route-selection error, your routing program can base its routing decision on the contents of this field. For details of how the userid is set for different types of request, see the description of the DYRUSERID field in Parameters passed to the dynamic routing program.