• Aucun résultat trouvé

NISISISI (,NRI\IIAIXI

Dans le document Macro Instruction Refere'hce:'- (Page 83-86)

l,lliIl,OUTJ

I, NISISISI (,NRI\IIAIXI

I,NRSIRSTI I,NSRII .. SRIGSRI I,NVBIUBFI)I .. 1,i\fAREA~ address!

1,l\'fLEN == numberJ

1,1)

ASS\VD = address)

I,RMODE31 = {ALLIBUFFICBINO~ElI

I,SHRPOOL= {!!Inumber}

I

I,STRNO = numberJ I,W AREA = addressl

Note: lbe Rl\fODE parameter replaces the AMODE31 subparameter used in previous releases.

The subparameters of the GENCn macro can be expressed as absolute numeric expressions, as character strings, as codes, as expressions that generate valid relocatablc A-type address constants, in register notation, as S-typc address constants, and as indirect S-type address constants. Appendix C, "Operand Notation" on page 181, further dermes these operand expressions.

label

is 1 to 8 characters that provide a symbolic address for the GENCB macro.

Chapter 2. VSAM Macro Formats and Examples

69

".

BLK=ACB

specifies that you are generating an access method control block.

Al'l = VSAI\f

specifies that the access method using this control block is VSAM.

BSTRNO = number

specifies the number of strings initially allocated for access to the base cluster of a path. The default is STRNO. BSTRNO is ignored if the object being opened is not a path. If the number specificd for BSTRNO is insufficient, VSAM will dynamically extend the number of strings as needed for the access to the base cluster. BSTR NO can also influence

performance. ·The VSAM control blocks for the set of strings specified by BSTRNO are allocated on contiguous virtual storage, whereas this is not guarantced for the strings allocated by dynamic extension.

BUFNO = number

specifics the number of I/O buffers VSAM is to usc for transmitting data between virtual and auxiliary storage. A buffer is the size of a control interval in the data component. The minimum number you may specify is

1 plus the number specified for STRNO (if you omit STRNO, nUF~D

must be at least 2, because the default for STR~O is 1). The number can be supplied by way of the JCL DD AMP parameter as well as by way of the macro. TIe default is the minimum number required. A larger number for BUPND can improve the performance of sequential access.

BVf"'N1 = number

specifics the number of I/O buffers VSA~I is to usc for transmitting index entries between virtual and auxiliary storage for keyed access. A buffer is the size of a control interval in the index. The minimum number is the number specified for STRNO (if you omit STRNO, BUFNI must be at least 1, because the default for STRNO is I). You can supply the number by way of the JCL DD A~IP parameter as well as by way of the macro.

The default is the minimum number required. A larger number for BUPNI can improve the performance of keycd-direct retrieval.

BUFSP

=

number

specifies the maximum number of bytes of virtual storage to be used for the data and indcx I/O buffers. VSAIVI gets the storage in your program's address space. If you specify less than the amount of space that was specified in the BUPPERSPACE parameter of the DEFINE command when the data set was dcfmcd, VSAM overrides your BUFSP specification upward to the value specified in BUPPERSPACE. (BUFFERSPACE, by dcfmition, is the least amount of virtual storage that will ever be provided for I/O buffers.) You can supply BUPSP by way of the JCI.. DD AMP paramcter as well as by way of the macro. If you don't specify B UFSP in either place, the amount of storage used for buffcr allocation is thc largest of:

• The amount specified in the catalog (BUFFERSPACE),

• The amount determined from BUFND and BUFNI, or

70

MVS/XA VSAM Administration: Macro Instruction Reference

• The minimum storage required to process the data set with its specified processing options

If BUFSP is specified and the amount is smaller than the minimum amount of storage required to process the data set, VSAM cannot open the data set.

A valid BUFSP amount takes precedence over the amount called for by BUFND and BUFNI. If the BUFSP amount is greater than the amount called for by BUPND and BUFNI, the extra space is allocated as follows:

• When MACRF indicates direct access only, additional index buffers are allocated.

• When MACRF indicates sequential access, one additional index buffer and as many data buffers as possible are allocated.

If the BUFSP amount is less than the amount called for by BUFND and BUFNI, the number of data and index buffers is decreased as follows:

• \Vhen MACRF indicates direct access only, the number of data buffers is decreased to not less than the minimum number. PIllen, if required, the number of index buffers is decreased until the amount called for by BIJFND and BUFNI complies with the BlJFSP amount.

• When MACRF indicates sequential access, the number of index buffers is decreased to not less than 1 more than the minimum number. Then,

it

required, the number of data buffers is decreased to not less than the minimum number. If still required, 1 more is subtracted from the number of index buffers.

• Neither the number of data buffers nor the number of index buffers is decreased to less than the minimum number.

if the index doesn't exist or isn't being opened, only BUFND, and not BUFNI, enters into these calculations.

CATALOG = YESINO .

specifics whether a catalog is being opened as a catalog (YES) or as a data set (NO). \Vhen NO is coded (or taken as the default), you can process the catalog with request macros (GET, PUT, etc.). To open a

password-protected catalog for processing with VSAM macros, you must supply its master password. When CATALOG

=

YI ~S is coded, the catalog must be processed with an SVC designed for that purpose. (Access method services, for example, processes catalogs with SVC 26.) The request macros are invalid for processing a catalog "as a catalog." VSAM users should altcr the contents of a catalog only by access method services commands . . COPIES

=

number

specifies the number of copies of the access method control block VSAM is to generate. All the copies are identical. You can use M 0 DC B to tailor each one for the data set and processing you want for it. MO DCB is described later in this chapter.

Olapter 2. VSAM Macro Formats and Examples

71

CRA = SCRAIVCRA

specifies that a catalog recovery area is to be opened and that the control blocks are to be built in either system storage (SCRA) or user storage (VCRA). If you specify SeRA and issue record management requests, you must operate in key O. If you specify VCRA, you must be authorized by the system and you must supply the master password of the master catalog.

DDNA~IE = ddname

is 1 to 8 characters that identify the data set that you want to process by specifying the JCL DO statement for the data set. You may omit DDNAl\fE and provide it by way of the MODCD macro before opening the data set. MODCD is described later in this chapter.

EXLST = address

specifies the address of a list of addresses of exit routines that you are providing. The list is established by the EXLST or GENCO macro. If you use the EXLST macro, you can specify its label here as the address of the exit list. If you use GENCB, you can specify the address returned by GENCO in register I. Omitting this parameter indicates that you have no exit routines. Exit routines are described in the chapter "User-Written Exit Routines" in Data Facility Product: Customization.

LENGTH = number

specifies the length, in bytes, of the area, if any, that you are supplying for VSAM to generate the access method control block(s). (See the \VARRA parameter.) When the LENGTH value is specified, it cannot exceed 65535 (X' FFFF').

LOC= BEI..O\VIANY BEtOW

ANY

specifies that VSAM is to construct an ACB in an area of virtual storage below 16 megabytes at execution time. This is the default.

specifies that VSAM is to construct an ACB in an area of virtual storage above 16 megabytes, if possible, at execution time.

l\IACRF

=

(lADRII,CNVII,KJ:YI

I,CFXI~FXI

Dans le document Macro Instruction Refere'hce:'- (Page 83-86)