z/OS DFSMStvs Administration Guide
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


GENCB—generate an exit list at execution time

z/OS DFSMStvs Administration Guide
GC52-1388-00

The format of the GENCB macro used to generate an exit list follows.

The format of the GENCB macro used to generate an exit list.
Label Operand Parameters

[label]

GENCB

BLK=EXLST
[,AM=VSAM]
[,COPIES=
abs expression]
[,EODAD=(
address[,A|N][,L])]
[,JRNAD=(
address[,A|N][,L])]
[,LENGTH=
abs expression]
[,LERAD=(
address[,A|N][,L])]
[,LOC=BELOW|ANY]
[,SYNAD=(
address[,A|N][,L])]
[,QUIESCE=(
address[,A|N][,L])]
[,RLSWAIT=(
address[,A|N][,L])]
[,WAREA=
address]

The subparameters of the GENCB macro can be expressed as absolute numeric expressions, as character strings, as codes, as expressions that generate valid relocatable A-type address constants, in register notation, as S-type address constants, and as indirect S-type address constants. Subparameters with GENCB, MODCB, SHOWCB, and TESTCB, further defines these operand expressions.

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

label
Specifies 1 to 8 characters that provide a symbolic address for the GENCB macro.
BLK=EXLST
Specifies that you are generating an exit list.
AM=VSAM
Specifies that the access method using this control block is VSAM.
[,EODAD=(address[,A|N][,L])]
[,JRNAD=(address[,A|N][,L])]
[,LERAD=(address[,A|N][,L])]
[,SYNAD=(address[,A|N][,L])]
[,RLSWAIT=(address[,A|N][,L])]
Specifies that you are supplying a routine for the exit named.

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

If none of these user exit routines is specified, VSAM generates an exit list with inactive entries for all the exits. The exits and values that can be specified for them are:
COPIES=abs expression
Specifies the number of copies of the exit list you want generated. GENCB generates as many copies as you specify (default is 1) when your program is executed. All copies are the same. You can use MODCB to change some or all of the addresses in a list. MODCB is described in MODCB—modify an access method control block.
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 journaling as you process data records. For VSAM RLS and DFSMStvs, JRNAD is not supported and you receive an error if you open the ACB. This parameter has no effect for UNIX files.
LERAD
Specifies that an exit is provided for analyzing logical errors.
SYNAD
Specifies that an exit is provided for analyzing physical errors.
QUIESCE
Specifies that an exit is provided for quiescing RLS activity across the Parallel Sysplex®.
RLSWAIT
Specifies that an exit is provided for wait processing. For VSAM RLS and DFSMStvs, the UPAD exit is ignored if it is specified, and the RLSWAIT exit is used to perform a similar function.
address
Specifies the address of a user-supplied exit routine. 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 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 is to load 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. except for the QUIESCE exit.

L might precede or follow the A or N specification.

LENGTH=abs expression
Specifies the length, in bytes, of the area, if any, that you are supplying for VSAM to generate the exit lists. (See the WAREA parameter.) The LENGTH value cannot exceed 65535 (X'FFFF').
LOC=BELOW|ANY
BELOW
Specifies that VSAM is to construct an exit list in an area below 16 megabytes at execution time.
ANY
Specifies that VSAM is to construct an exit list in an area above 16 megabytes, if possible, at execution time.
WAREA=address
Specifies the address of an area in which to generate the exit lists.

If you did not specify an area in which the exit list is to be generated, VSAM obtains virtual storage space for the area (as specified by the LOC=keyword). Subpool 0 will be requested under the user's key and state. Users executing in key 0 and supervisor state will actually be assigned subpool 252. VSAM returns the address of the area in which the exit lists is to be generated in register 1, and the length of the area in register 0. You can find the length of each exit list by dividing the length of the area by the number of copies. The address of each exit list can then be calculated by this offset from the address in register 1. You can find the length of an exit list with the SHOWCB macro, described in z/OS DFSMS Macro Instructions for Data Sets.

If you are generating control blocks by issuing several GENCBs, specifying an area (WAREA and LENGTH) for them allows you to address all of them with one base register and to avoid repetitive requests for virtual storage.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014