When using XRCINIT and XRCINPT, you should bear in mind that the exits may be
invoked before recovery of temporary storage and transient data resources is
complete.
For further guidance information about exits for unit of work backout, refer to the
CICS Recovery and Restart Guide.
Coding the exit programs
CICS services can be used in exit programs invoked from these exits using the XPI
or EXEC CICS commands. However, you need to consider the following:
v There is a restriction on using the XPI early during initialization: do not invoke
exit programs that use the XPI functions TRANSACTION_DUMP,
WRITE_JOURNAL_DATA, MONITOR and INQUIRE_MONITOR_DATA until the
second phase of the PLTPI.
v There are also restrictions on the use of EXEC CICS commands in these exits:
– You cannot use EXEC CICS commands to access terminal control services.
– You are strongly advised not to use temporary storage, transient data, file
control, journal control, or DL/I services, because the resources that you try to
access may also be in a state of recovery and therefore “not open for
business”. Attempting to access resources in these circumstances causes, at
best, serialization of the recovery tasks and, at worst, a deadlock.
If you do issue file control requests in programs invoked from these exits, note
that:
- If an exit program acquires an area as a result of a file control request, it is
the responsibility of the program to release that area.
- An exit program must not attempt to make any file control requests to a file
referring to a VSAM data set with a string number of 1, unless no action is
specified for that file during the initialization exit.
– Your exit program must not issue EXEC CICS commands if the recovery is as
the result of an EXEC CICS SYNCPOINT ROLLBACK request.
– Exit programs that issue EXEC CICS commands must first address the EIB.
See “Using CICS services” on page 4.
– Exit programs that issue EXEC CICS commands, and that use the DFHEIENT
macro, should use the DFHEIRET macro to set a return code and return to
CICS. See “Returning values to CICS” on page 10.
– Exit programs invoked from these exits must be translated with the NOEDF
option, if they issue EXEC CICS commands. See “EDF and global user exits”
on page 6.
v Task-chained storage acquired in an exit program is released at the completion
of emergency restart processing. However, the exit program should attempt to
release the storage as soon as its contents are no longer needed.
v No exit program should reset either the absent or no-action indicators set by the
file control backout program.
v Take care when issuing recursive commands not to cause a loop. For example, it
is your responsibility to avoid entering a loop when an RC request is issued from
these exits.
Enabling the exit programs
To enable these exits, you must do one of the following:
v Specify the system initialization parameter
TBEXITS=(name1,name2,name3,name4,name5,name6), where name1 through
Chapter 1. Global user exit programs 245