distributed routing program is invoked for notification only—it cannot
route the request. Unless the SYSID option of the STARTcommand
specifies a remote region explicitly, the STARTrequest is
function-shipped to the target region named in the REMOTESYSTEM
option; if REMOTESYSTEM is not specified, the STARTexecutes locally.
“Daisy-chaining” is not supported. That is, once a non-terminal-related START
request has been dynamically routed to a target region it cannot be dynamically
routed from the target to a third region, even though the transaction is defined as
ROUTABLE(YES) and DYNAMIC(YES).The transaction may, however, be statically
routed from the target region to a third region.
For definitive information about which non-terminal-related STARTrequests are
eligible for dynamic routing, see Non-terminal-related STARTcommands, in the
CICS Intercommunication Guide.
When the distributed routing program is invoked
For non-terminal-related STARTrequests that are eligible for enhanced routing,
CICS invokes the distributed routing program at the following points:
On the routing region:
1. Either of the following:
vFor routing the request.
vFor notification of a statically-routed request. This occurs when a
transaction defined as ROUTABLE(YES) is eligible for enhanced routing
but not for dynamic routing because one or both of the following applies:
The transaction definition specifies DYNAMIC(NO).
The SYSID option of the STARTcommand names a remote region
explicitly.
The routing program is not able to route the request. It could, however,
do other things.
2. If an error occurs in route selection—for example, if the target region
returned by the routing program on the route selection call is unavailable.
This gives the routing program the opportunity to specify an alternate target.
This process iterates until the routing program selects a target that is
available or sets a non-zero return code.
3. After CICS has tried (successfully or unsuccessfully) to route the request to
the target region.
This invocation signals that (unless the routing region and the target region
are one and the same) the routing region’s responsibility for this transaction
has been discharged. The routing program might, for example, use this
invocation to release any resources that it has acquired on behalf of the
transaction.
On the target region:
These invocations occur only if the target region is CICS TS OS/390, Version
1.3 or later and the routing program on the routing region has specified that it
should be reinvoked on the target region:
1. When the transaction associated with the request starts on the target
region.
2. If the transaction ends successfully.
3. If the transaction abends.
638 Customization Guide