When the dynamic routing program is invoked

For transactions initiated from user terminals or by eligible terminal-related EXEC CICS START commands, CICS® calls the dynamic routing program as follows:
  • When a transaction defined as DYNAMIC(YES) is initiated.
    Note:
    1. If a transaction definition is not found, CICS uses the common transaction definition specified on the DTRTRAN system initialization parameter.
    2. If a transaction defined as DYNAMIC(YES) and initiated by a terminal-related EXEC CICS START command is ineligible for dynamic routing, the routing program is invoked for notification only—it cannot route the transaction.
  • If an error occurs in route selection—for example, if the target region returned by the routing program on its initial (route selection) call is unavailable. This gives the routing program an opportunity to specify an alternate target. This process iterates until the routing program selects a target that is available or sets a nonzero return code.
  • After the routed transaction has completed, if the routing program has requested to be reinvoked at termination.
  • If the routed transaction abends, if the routing program has requested to be reinvoked at termination.
Figure 1 shows the points at which the dynamic routing program is invoked.
Figure 1. When the dynamic routing program is invoked
The picture shows a rectangle, representing the requesting region. Within the requesting region, five labels indicate the points at which the dynamic routing program is invoked: Route selectionNotificationRoute selection errorTransaction/link request terminationTransaction abend