To use the XPCERES exit, both the routing region and the target region must
support the “resource unavailable” condition (RESUNAVAIL). All the following
support the “resource unavailable” condition:
v CICS TS OS/390, Version 1.3, with APAR PQ73107 applied
v CICS TS for z/OS, Version 2.2, with APAR PQ74920 applied
v CICS TS for z/OS, Version 2.3 and later
The exit is invoked, if enabled, on the target region before CICS processes a
dynamically-routed Link3270 bridge request.
If, for example, the 3270 user transaction is disabled on the target region, or a
required file is missing, your exit program can give the dynamic routing program the
opportunity to route the request to a different region. To do this, it should set a
return code of UERCRESU. This causes CICS to:
1. Return a RESUNAVAIL condition on the EXEC CICS LINK call to DFHL3270
executed by the mirror on the target region
2. Set the DYRERROR field of the routing program’s communications area to
'F'—resource unavailable
3. Reinvoke the routing program, on the routing region, for route selection
failure—see “Handling route selection errors of Link3270 bridge requests” on
page 605
For information about writing an XPCERES global user exit program, see The
XPCERES global user exit.
If a required resource is unavailable on the target region, but the XPCERES exit is
unavailable or disabled (or is enabled but does not set the UERCRESU return
code), the client program receives an error response.
Re-invoking the dynamic routing program after Link3270 bridge
requests
If you want your dynamic routing program to be invoked again when the routed
request has completed, you must set the DYROPTER field in the communications
area to 'Y' before returning control to CICS. You might want to do this, for example,
if you are keeping a count of the number of link requests currently executing on a
particular CICS region.
If you have set DYROPTER to 'Y', and the linked program abends, the dynamic
routing program is invoked to notify it of the abend.
Link3270 bridge dynamic routing considerations
If you are using the DTRTRAN definition to route the Link3270 request, the routing
program must set the DYRTTRRJ field of the communication area to 'N' (the default
is 'Y'). If you leave DTRDTRRJ set to 'Y', the request will be rejected. You can test
the DYRDTRXN field to check whether the transaction passed to your routing
program is defined by the DTRTRAN definition.
v When invoked for Link3270 bridge requests, the dynamic routing program should
restrict its use of EXEC CICS commands to those in the DPL subset. For
information about which commands constitute the DPL subset, see API
restrictions for distributed program link, in the CICS Application Programming
Reference manual.
v Although the routing program can issue any EXEC CICS command in the DPL
subset, you should consider carefully the effect of commands that alter protected
606 Customization Guide