Nesting purge protection calls, Loader functions, The define_program call – IBM SC33-1683-02 User Manual

Page 353: The define_program

Advertising
background image

Nesting purge protection calls

Note that the START_ and STOP_PURGE_PROTECTION functions can be nested.
You should ensure that, if multiple START_PURGE_PROTECTION calls are issued
for a task, that the correct number of STOP_PURGE_PROTECTION calls are
issued to cancel the purge protection. If you issue two starts and only one stop,
purge protection is left on for the current task.

For example, for any current task, more than one global user exit program may be
driven. You must design your exit programs to ensure that purge protection is
correctly cancelled. An example of nesting is shown as follows:

XEIIN:

EXIT_PROG1: Calls START_PURGE_PROTECTION

XFCREQ:

EXIT_PROG2: Calls START_PURGE_PROTECTION

XFCREQC:

EXIT_PROG3: Calls STOP_PURGE_PROTECTION

XEIOUT:

EXIT_PROG4: Calls STOP_PURGE_PROTECTION

Loader functions

There are four XPI loader functions. These are the DFHLDLDX calls
ACQUIRE_PROGRAM, RELEASE_PROGRAM, DEFINE_PROGRAM, and
DELETE_PROGRAM.

DFHLDLDX calls cannot be used in any exit program invoked from any global
user exit point in the:

v

Statistics domain

v

Monitor domain

v

Dump domain

v

Dispatcher domain

v

Transient data program.

The DEFINE_PROGRAM call

DEFINE_PROGRAM allows you to define new programs to the loader domain, or to
change the details of programs that have already been defined. The details that you
provide are recorded on the local catalog, and become immediately available. They
are used on all subsequent ACQUIRE requests for the named program. However,
note that program definitions made in this way are not retained over an XRF
takeover.

kernel domain functions

Chapter 3. The user exit programming interface (XPI)

321

Advertising