In this example, a GENCB macro is used to identify a data set to
open and to specify the types of processing to perform. This example
specifies that the space for the control block be obtained above 16
megabytes. The access method control block generated by this example
is built when the program is executed.
GENCB GENCB BLK=ACB,AM=VSAM, One copy generated; VSAM gets the x
BUFND=4,BUFNI=3, storage for it, because the x
BUFSP=19456, WAREA LENGTH parameters have x
DDNAME=DATASETS, been omitted. x
EXLST=EXITS, x
LOC=ANY, x
MACRF=(KEY,DIR, x
SEQ,OUT), x
RMODE31=ALL, x
STRNO=2
ST 1,ACBADDR Save the address of the access x
method control block.
ACBADDR DS A The address of the access method x
control block is saved in ACBADDR.
The GENCB macro’s parameters are:
- BUFND specifies four I/O buffers for data. BUFNI specifies three
I/O buffers for index entries. BUFSP specifies 19456 bytes of buffer
space, enough space to accommodate control intervals of data that
are 4096 bytes and of index entries that are 1024 bytes.
- DDNAME specifies that this access method control block is associated
with a DD statement named DATASETS.
- EXLST specifies that the exit list associated with this access
method control block is named EXITS.
- LOC specifies that VSAM obtain virtual storage for the ACB from
an area that may be above 16 megabytes.
- MACRF specifies keyed direct and keyed sequential processing for
both insertion and update.
- RMODE31 specifies that VSAM obtain storage for the VSAM control
blocks and I/O buffers in an area above 16 megabytes when the ACB
is opened.
- STRNO specifies that two requests will require concurrent positioning.