Use the BLDVRP macro to build a VSAM resource pool.
The format of the BLDVRP macro is:
[label] |
BLDVRP |
BUFFERS=(size(abs expression[,Hiperspace]), |
---|
The request for the virtual storage is granted even if the request for Hiperspace™ buffers cannot be completely fulfilled. Some specifications may have Hiperspace buffers allocated while other specifications in the same BLDVRP request may not.
When you process a KSDS, the index component and the data component share the buffers of a buffer pool. When you use an alternate index to process a base cluster, the components of the alternate index and the base cluster share buffers. The components of alternate indexes in an upgrade set share buffers. Buffers of the appropriate size and number must be provided for all components. Each component uses the buffer pool with buffers of either the required size or larger.
LSR/GSR users: To ensure that the buffer pool built by BLDVRP is used, use the access method services DEFINE CLUSTER command to define explicitly the matching data and index control interval sizes. Hiperspace buffer sizes must match the control interval size of the data set components.
Requirement: If you specify Hiperspace buffering (Hiperspace), the size must be a multiple of 4096 and match the CISIZE of the data set components.
The Hiperspace option is ignored when TYPE=GSR is specified.
If FIX=IOB is specified for BLDVRP TYPE=INDEX, it is ignored; the FIX=IOB specified for BLDVRP TYPE=DATA is used instead.
Requirement: If FIX is specified, DLVRP must be issued by the same task that issues BLDVRP.
Requirement:If your keys are smaller than 255 bytes, specifying the exact key length saves storage space. You must provide lengths for the prime key of each KSDS and for the alternate key of each alternate index that is either used for processing or is being upgraded. Specify 0 if none of the data sets are keyed.
If KEYLEN is specified for BLDVRP TYPE=INDEX, it is ignored; the KEYLEN specified for BLDVRP TYPE=DATA is used.
If RMODE31 is specified for BLDVRP TYPE=INDEX, it affects the residence of the I/O buffers but is ignored for I/O related control blocks. If RMODE31 is specified for BLDVRP TYPE=INDEX, the RMODE31 specified for BLDVRP TYPE=DATA is used to set these control blocks instead.
The RMODE31 parameter is valid only when TYPE=LSR is specified.
In previous releases, the LOC=(BELOW|ANY) parameter was used to specify that buffers in the pool be created above 16 megabytes. The RMODE31 parameter replaces the LOC parameter and the two parameters are mutually exclusive. If both are specified on the BLDVRP macro, the LOC parameter is ignored.
The number should equal the potential number of requests that may be issued concurrently for all the data sets sharing the resource pool. If a request fails because of an insufficient number of place holders (you receive reason code X'40' in the RPL feedback area), you may retry the request. It is assigned a place holder if one has been released. See Table 1 for a description of reason code X'40'.
STRNO is required for TYPE=DATA. For BLDVRP TYPE=INDEX, STRNO is not required and, if specified, is ignored. The STRNO specified by BLDVRP TYPE=DATA is used.
BLDVRP TYPE=INDEX, x
FIX=IOB, x
KEYLEN=4, x
RMODE31=ALL, x
STRNO=10
results in the FIX, KEYLEN, and STRNO
parameters being reset to the values specified in BLDVRP TYPE=DATA.
The buffer pools reside above 16 megabytes but the control blocks
are at the residence specified by BLDVRP TYPE=DATA.Only one BLDVRP TYPE=GSR may be issued for the system for each of the protection keys 0 through 7. The program that issues BLDVRP TYPE=GSR must be in supervisor state with protection key 0 to 7.