Dynamic routing with CICSPlex SM

When a remote transaction is initiated, the CICS® relay program is invoked. The CICS relay program links to the dynamic routing program EYU9XLOP. EYU9XLOP creates the environment necessary for CICSPlex® SM-based dynamic routing and sets up the CICSPlex SM runtime environment.

Diagram of CICS routing region and CICS work request, as described in surrounding text.
For a routing region, specify EYU9XLOP in the system initialization table (SIT) parameter:
DTRPGM
For static routing, ATI, and dynamic routing, set EXU9XLOP on the DTRPGM system initialization parameter that is associated with the requesting region that initiates the transaction. Any target region that is also to act as a routing region must also specify DTRPGM in the SIT and must be set up as a routing region as described in Associating a CICS system or system group with a workload specification.
DSRTPGM
For non-terminal-related EXEC CICS START commands, BTS activities, or enterprise beans, set EYU9XLOP on DSRTPGM system initialization parameter in:
  • The requesting region that initiates the request.
  • All potential target regions if the DYROPTER field in the communications area or container for the routing program (mapped by the DFHDYPDS copybook) is to be set to Y.

    If you use CICSPlex SM to route non-terminal-related EXEC CICS START commands, the DYROPTER field is always set to Y. You must therefore always specify DSRTPGM=EYU9XLOP and ensure that the target region is part of the workload. Failing to ensure that the target region is defined to the workload results in the started transaction waiting for the workload to become available and the transaction hangs.

Note: If the target region is not going to be set up as a routing region, do not specify EYU9XLOP in the DTRPGM and DSRTPGM SIT parameters. Specifying this parameter causes an endless loop for routed transactions in EYU9XLOP waiting for the workload, which never arrives.
CICS notifies EYU9XLOP of all routing requests. These requests are as follows:
  • Route selection, route selection error, and transaction termination.
  • For BTS (all supported releases of CICS), transaction initiation, transaction abend, and routing attempt complete.
  • For non-terminal EXEC CICS START requests (all supported releases of CICS), transaction initiation, transaction abend, and routing attempt complete.

When CICS links to EYU9XLOP, it passes the CICS communication area DFHDYPDS to it.

Control then passes to the CICSPlex SM workload management facilities. CICSPlex SM initializes the workload management MAS agent code and engages its routing action process. This process is called internally if any of the following conditions are true:
  • The EYU9WRAM user-replaceable module is not defined to CICS
  • EYU9WRAM is defined to CICS, but is not available
  • EYU9WRAM is defined to CICS, is available, and the load module is the assembly language version of the module as distributed with CICSPlex SM.
Diagram of how control passes between the CICS relay program and EYU9XLOP and EYU9WRAM, as described in surrounding text.

The internal routing action process produces the same results as running the assembly language version of EYU9WRAM as it is distributed with CICSPlex SM. If no additional dynamic routing control is required at your enterprise, the internal process provides better performance.

The EYU9WRAM module, or its equivalent internal process, receives the CICSPlex SM-based communication area EYURWCOM. An entry for EYU9WRAM is added to the CICS system definition file, DFHCSD, for each CICS system during installation. As distributed with CICSPlex SM, EYU9WRAM drives CICSPlex SM workload management processing. EYU9WRAM does this by first obtaining the appropriate list of target region candidates, based on the transaction group, and the terminal ID, LU-name, user ID, or process type. Then, EYU9WRAM selects a target region from the list of candidates.

For most situations, the supplied EYU9WRAM module provides workload management capabilities. However, if it is ever needed, you can customize CICSPlex SM workload management processing by modifying EYU9WRAM. For more information, see Creating a user-replacement module for EYU9WRAM.