HCL Workload Automation, Version 9.4

Configuring exit EELUX000 (start/stop)

This section describes the agent for z/OS start/stop exit (EELUX000)

EELUX000 is called when the agent for z/OS is starting and when it is ending normally. You can use this exit to allocate resources when the agent is started and to release them when it is stopped. This avoids the extra overheads involved in allocating and then releasing resources each time they are used.

The sample library SEELSAMP that was created during installation contains the EELUX000 exit, which is a sample of start/stop exits.

Installing the exit

The load module implementing the start/stop exit must be link-edited into an APF-authorized library in the LNKLST concatenation or defined by the STEPLIB DD statement in the agent for z/OS JCL procedure. If the load module performs any input or output operations it must be link-edited with RMODE(24) according to normal z/OS® restrictions. Or it can be link-edited with RMODE(ANY).

The agent for z/OS invokes the exit in AMODE 31; the AMODE parameter specified at link-edit time has no effect.

Interface to the exit

The start/stop exit is invoked in task mode, problem state, and key 8 and the job-step task is APF-authorized. The active task runs with the same access authority as the job-step task. The exit must restore this state before returning to its caller.

Control is passed to the exit using the BAL instruction. The exit must return to its caller using the address and addressing mode passed to it in general register 14.

The exit is entered in AMODE 31 but must switch to AMODE 24 before performing any input or output operations, and then switch back to AMODE 31 before returning to the caller.

When the exit is entered, register 1 contains the address of the parameter list. Each address in this list is used to locate the parameter value. These parameters are passed to the exit:
EELUX000 parameters
 ACTION    DS   CL8    (Start/stop action)
 MCAUSERF  DS   A      (User field)

ACTION has the value START when the exit is called during the startup of the agent. MCAUSERF is zero for this initial call. Normally, this exit will perform exit initialization functions for the start call when you start the agent. If the exit needs to allocate storage that is used while the agent is active, you should update MCAUSERF to address this storage.

ACTION has the value STOP when the exit is called during termination of the agent. Normally, this exit performs exit termination functions for the stop call when you stop the agent. If MCAUSERF is updated by the start call, the same value is passed to the exit for the stop call.