EXLST—Generate an exit list at assembly time

Use the EXLST macro to generate an exit list at assembly time. Values for EXLST macro subparameters can be specified as absolute numeric expressions, character strings, codes, and expressions that generate valid relocatable A-type address constants.

See: z/OS DFSMS Using Data Sets for the factors that determine the addressing mode and the parameter list residency mode set when the exit routine gets control.

The format of the EXLST macro is:

label
specifies 1 to 8 characters that provide a symbolic address for the established exit list.
AM=VSAM
specifies that the access method using the control block is VSAM.
EODAD=(address[,A|N][,L])
JRNAD=(address[,A|N][,L])
LERAD=(address[,A|N][,L])
SYNAD=(address[,A|N][,L])
UPAD=(address[,A|N][,L])
RLSWAIT=(address[,A|N][,L])
specify that you are supplying a routine for the exit specified.

For more information about user exit routines, see z/OS DFSMS Using Data Sets.

The exits and values that can be specified for these routines are:
EODAD
specifies that an exit is provided for special processing when the end of a data set is reached by sequential access.
JRNAD
specifies that an exit is provided for journalizing transactions as you process data records. For RLS, JRNAD is not supported and you receive an error if you open the ACB. This parameter has no effect for z/OS UNIX files.
LERAD
specifies that an exit is provided for analyzing logical errors.
SYNAD
specifies that an exit is provided for analyzing physical errors.
UPAD
specifies that an exit is provided for user processing during a VSAM request. The GENCB, MODCB, SHOWCB, and TESTCB macros do not support the UPAD user exit routine. For RLS, UPAD is ignored and the RLSWAIT exit is used instead. This parameter has no effect for z/OS UNIX files.
RLSWAIT
For RLS, this exit is used instead of UPAD. If you specify a UPAD exit for RLS. it is ignored. The RLSWAIT exit is specified on an ACB basis and is entered in 31 bit mode. When the exit is to be used for a record management request the RPL must specify OPTCD=(SYN,WAITX). The RLSWAIT exit is entered after an asynchronous execution unit is scheduled to process the request. The exit is intended for those applications which issue VSAM RLS requests and can not tolerate VSAM suspending the execution unit which issued the record management request.
address
specifies the address of a user-supplied exit routine or an I/O prevention identifier. The address must immediately follow the equal sign.
A|N
specifies that the exit routine is active (A) or not active (N). VSAM does not enter a routine whose exit is marked not active.
L
specifies that the address is an 8-byte field containing the name of an exit routine in a partitioned data set identified by a JOBLIB or STEPLIB DD statement or in SYS1.LINKLIB. VSAM loads the exit routine for exit processing. If L is omitted, the address gives the entry point of the exit routine in virtual storage, and the exit routine is entered in the addressing mode of the VSAM caller.

Requirement: The EXLST macro generates an exit list with each entry 5 bytes in length. You must consider the proper alignment of any subsequent data.