Which requests can be dynamically routed?

For a program-link request to be eligible for dynamic routing, the remote program must either be defined to the local system as DYNAMIC(YES), or not be defined to the local system.

Note: If the program specified on an EXEC CICS LINK command is not currently defined, what happens next depends on whether program autoinstall is active:
  • If program autoinstall is inactive, the dynamic routing program is invoked.
  • If program autoinstall is active, the autoinstall user program is invoked. The dynamic routing program is then invoked only if the autoinstall user program:
    • Installs a program definition that specifies DYNAMIC(YES), or
    • Does not install a program definition.

    For further information about autoinstalling programs invoked by EXEC CICS LINK commands, see When definitions of remote server programs aren't required.

As well as “traditional” CICS-to-CICS DPL calls instigated by EXEC CICS LINK PROGRAM commands, program-link requests received from outside CICS can also be dynamically routed. For example, all of the following types of program-link request can be dynamically routed:
  • Calls received from:
    • The CICS Web Interface
    • The CICS Gateway for Java™
  • Calls from external CICS interface (EXCI) client programs
  • External Call Interface (ECI) calls from any of the CICS Client workstation products
  • Distributed Computing Environment (DCE) remote procedure calls (RPCs)
  • ONC/RPC calls.
A program-link request received from outside CICS can be dynamically routed by:
  • Defining the program to CICS® Transaction Server for z/OS® as DYNAMIC(YES)
  • Coding your dynamic routing program to route the request.