If you supply a return code value that is not expected at a particular exit point, the
default return code indicating a normal response (usually UERCNORM) is assumed,
unless you set the return code UERCPURG. You are strongly advised not to let the
return code default to the normal response as the result can be unpredictable. The
normal response tells CICS to continue processing as if the exit program had not
been invoked, and it is a valid option at most global user exit points. The exceptions
are shown in the list of return codes provided with each exit description.
Restrictions on the use of fields as programming interfaces
The CICS Data Areas manual contains definitions of the control block fields that
form part of the Product-sensitive and General-use programming interfaces of
CICS. Fields that are not defined in the CICS Data Areas manual as either
Product-sensitive programming interface or General-use programming interface
fields are not intended for your use as part of a CICS programming interface.
Exit programs and the CICS storage protection facility
When you are running CICS with the storage protection facility, this affects the
execution key in which your user exit programs run and the storage key of data
storage that your exit programs obtains.
Execution key for global user exit programs
When you are running with storage protection active, CICS always invokes global
user exit programs in CICS key. Even if you specify EXECKEY(USER) on the
program resource definition, CICS forces CICS key when it passes control to the
exit program. However, if a global user exit program itself passes control to another
program (via a link or transfer-control command), the program thus invoked is
executed according to the execution key (EXECKEY) defined in its program
resource definition.
You are strongly recommended to specify EXECKEY(CICS) when defining both
global user exit programs and programs to which an exit program passes control.
Data storage key for global user exit programs
The storage key of storage used by global user exit programs depends on how the
storage is obtained:
v The CICS-supplied storage addressed by the UEPXSTOR parameter of
DFHUEPAR, and any global work area specified when an exit program is
enabled, are always in CICS key.
v Global user exit programs that can issue EXEC CICS commands can obtain
storage by:
– Explicit EXEC CICS GETMAIN commands
– Implicit storage requests as a result of EXEC CICS commands that use the
SET option.
The default storage key for storage obtained by EXEC CICS commands is set by
the TASKDATAKEY of the transaction under which the exit program is invoked.
As an example, consider a transaction defined with TASKDATAKEY(USER) that
issues a file control request, which causes an XFCREQ global user exit program
to be invoked. In this case, any implicit or explicit storage acquired by the exit
program by means of an EXEC CICS command is, by default, in user-key
Chapter 1. Global user exit programs 11