IBM SC34-6814-04 Server User Manual


 
Bits in the EID should be modified in place. You should not modify the pointer to the
EID. (Any attempt to do so is ignored by CICS.)
The EID is reset to its original value before return to the application program. That
is, changes made to the EID are retained for the duration of the program control
request only.
Your user exit program is prevented from making major changes to the EID.
Using the program control request token, UEPPCTOK: UEPPCTOK provides
the address of a 4-byte area that you can use to pass information between the
XPCREQ and XPCREQC user exits for the same program control request. For
example, the address of a piece of storage obtained by the XPCREQ user exit,
which has to be freed by the XPCREQC user exit, can be passed in the
UEPPCTOK field.
Using the task token UEPTSTOK: UEPTSTOK provides the address of a 4-byte
area that you can use to pass information between successive program control
requests in the same task. (By contrast, UEPPCTOK is usable only for the duration
of a single program control request, because its contents may be destroyed at the
end of the request.) For example, if you need to pass information between
successive invocations of the XPCREQ exit, UEPTSTOK provides a means of
doing this.
The EIB:
Copies of EIBRSRCE, EIBRCODE, EIBRESP, and EIBRESP2 are passed to the
exit, so that you can:
v Modify or set completion or resource information in XPCREQ and XPCREQC.
v Examine completion information in XPCREQC.
You can update the copies of EIBRSRCE, EIBRCODE, EIBRESP and EIBRESP2
that you are given in the parameter list. Program Control copies your values into the
real EIB after the completion of XPCREQC; or if you specify a return code of
‘bypass’ in XPCREQ.
You must set valid program control responses. You must set all three of
EIBRCODE, EIBRESP and EIBRESP2 to a consistent set of values, such as would
be set by Program Control to describe a valid completion. Program Control does
not police the consistency of EIBRCODE, EIBRESP, and EIBRESP2. To aid you
in setting the values of EIBRCODE, EIBRESP, and EIBRESP2, the values used by
Program Control are specified in DFHPCEDS.
Example of how XPCREQ and XPCREQC can be used: XPCREQ and
XPCREQC can be used for a variety of purposes. One example of a possible use is
given below.
In this example, XPCREQ and XPCREQC are used to route LINK requests to a
number of different CICS regions to provide a simple load balancing mechanism.
The example shows only the capabilities of the exits; it is not intended to indicate
an ideal way of achieving the load balancing function. For the purpose of this
example, it is assumed that a global work area (GWA) already exists, and that it
contains a list of available SYSIDs together with a count of the number of LINK
requests currently being processed by each SYSID.
In XPCREQ:
Chapter 1. Global user exit programs 185