|
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.
|