IBM SC34-6814-04 Server User Manual


 
alternative program is to be linked. You can specify a local or remote program,
depending on the region to which the request is to be routed.
Changing the transaction ID
A transaction identifier is always associated with each dynamic program-link
request. CICS obtains the transaction ID using the following sequence:
1. From the TRANSID option on the LINK command
2. From the TRANSID option on the program definition
3. 'CSMI', the generic mirror transaction. This is the default if neither of the
TRANSID options are specified.
When it is invoked for routing (not for notification of a statically-routed request), your
routing program can change the remote transaction ID by overwriting the
DYRTRAN field in the communications area.
Note: If you use CICSPlex System Manager to route your program-link requests,
the transaction ID becomes highly significant, because CICSPlex System
Manager’s routing logic is transaction-based. CICSPlex System Manager
routes each DPL request according to the rules specified for its associated
transaction.
The CICSPlex System Manager system programmer can use the
EYU9WRAM user-replaceable module to change the transaction ID
associated with a DPL request.
Telling CICS whether to route or terminate a DPL request
When the routing program is invoked for routing, it can choose whether the link
request should be routed or rejected. If you want the request to be routed, whether
you have changed any values or not, return a zero value to CICS in field
DYRRETC of the communications area. When you return control to CICS with
return code zero, CICS first compares the returned SYSID with its own local SYSID:
v If the SYSIDs are the same (or the returned SYSID is blank) CICS executes the
link request locally.
v If the two SYSIDs are not the same, CICS routes the request to the remote CICS
region, using the returned program and transaction names.
To make CICS reject the link request, return a non-zero value. The program that
issued the EXEC CICS LINK command receives a PGMIDERR condition, with a
RESP2 value of 25.
Returning a value in DYRRETC has no effect when the routing program is invoked
for notification or at termination of the request.
If an error occurs in route selection
If an error occurs in route selection—for example, if the SYSID returned by the
dynamic routing program is unavailable or unknown, or the link fails on the specified
target region— the dynamic routing program is invoked again. When this happens,
you have a choice of actions:
v You can tell CICS not to continue trying to route the request, by issuing a
non-zero return code in DYRRETC.
v If the reason for the error is that no sessions are immediately available to the
remote system, you can reset field DYRQUEUE to ‘Y’ (it must previously have
600 Customization Guide