Work areas, The local work area – IBM SC33-1683-02 User Manual

Page 301

Advertising
background image

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

Advertising