IBM SC33-1683-02 Server User Manual


 
v DFHEIENT and DFHEIRET must be in your program.
But see the note about not
using DFHEIENT in abend invocations, on page 276.
For further details of the
DFHEIENT and DFHEIRET macros, see the
CICS Application Programming
Reference
manual.
v If your exit program entry point is immediately followed by an occurrence of a
DFHEIENT macro, inserted either implicitly by CICS or explicitly in the program,
then the expansion of the DFHEIENT macro stores incorrect values at DFHEIBP
and DFHEICAP. Your code can subsequently correct this by copying UEPEIB into
DFHEIBP, reloading the EIB base register (DFHEIBR) from UEPEIB, and setting
DFHEICAP to X'80000000'. For example,
TESTPROG DFHEIENT CODEREG=2,EIBREG=11,DATAREG=10
USING DFHUEPAR,1
MVC DFHEIBP,UEPEIB Get correct EIB address
L DFHEIBR,UEPEIB Reload EIB base register
MVC DFHEICAP,=X'80000000'
Note that the entry point of a program does not have to be at the start of the
program and can be positioned after the DFHEIENT macro.
v The DFHEIENT macro allocates dynamic storage to be mapped by the
DFHEISTG DSECT. You must return to CICS by means of the DFHEIRET macro,
which frees the dynamic storage.
v Command-level calls use registers 0, 1, 14, and 15.
v Do not issue a syncpoint in start-of-task, end-of-task, or syncpoint invocations.
v On each invocation of a task-related user exit program, a new EXEC
environment is created, even when the program is being invoked from the same
task. This means that CICS operations, such as browse of a resource definition
table, cannot be continued from one invocation of the exit program to the next.
Work areas
When you use the EXEC CICS ENABLE command to identify a task-related user
exit program to CICS, you may specify that the program must have access to one
local and one global work area. The EXEC CICS ENABLE command allows you to
specify the size, in bytes, of the work areas to be acquired for your task-related
user exit program. CICS acquires storage for the areas and initializes pointers to
them. The user exit parameter list, DFHUEPAR, gives you access to the pointers.
For more information, see the description of DFHUEPAR under “User exit
parameter lists” on page 253.
The global work area
A global work area is associated with an exit program. Whenever the exit program
is invoked, it has access to the area through the parameter UEPGAA of
DFHUEPAR. The global work area may be shared by a number of exit programs.
You must have specified the size of the global work area using the GALENGTH
parameter or the GAENTRYNAME parameter of the EXEC CICS ENABLE
command.
The local work area
A local work area is associated with a single task and lasts only for the duration of
the task. It is for the use of a single task-related user exit program. It can be
thought of as a logical extension to the transaction work area (TWA, TWACOBA)
the task-related user exit program
Chapter 2. Task-related user exit programs 269