Dynamic routing with CICSPlex SM

Use CICSPlex® SM to select the most appropriate target region for the execution of a dynamic transaction by using the workload management facility.

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. You must specify EYU9XLOP in the system initialization table (SIT) parameter.
  • For static routing, ATI, and dynamic routing, set the DTRPGM SIT parameter that is associated with the requesting region that initiates the transaction:
       DTRPGM=EYU9XLOP
    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 topic Associating a CICS system or system group with a workload specification.
  • For non-terminal-related EXEC CICS START commands, BTS activities, or enterprise beans, specify the system initialization parameter DSRTPGM=EYU9XLOP in the requesting region that initiates the request. Also set DSRTPGM=EYU9XLOP in 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 the system initialization parameter 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, then 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.

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.