z/OS DFSMS Using Data Sets
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


VSAM Options

z/OS DFSMS Using Data Sets
SC23-6855-00

Using VSAM, you can obtain control blocks, buffers, and multiple local shared resource (LSR) pools above or below 16 MB. However, if your program uses a 24-bit address, it can generate a program check if you attempt to reference control blocks, buffers, or LSR pools located above 16 MB. With a 24-bit address, you do not have addressability to the data buffers.

If you specify that control blocks, buffers, or pools can be above the line and attempt to use locate mode to access records while in 24-bit mode, your program will program check (ABEND 0C4).

Rule: You cannot specify the location of buffers or control blocks for RLS processing. RLS ignores the ACB RMODE31= keyword.

When you use 31-bit addresses, observe the following rules:
  • All VSAM control blocks that contain addresses must contain valid 31-bit addresses. If you are using 24-bit or 31-bit addresses, do not use the high-order byte of a 31-bit address field as a user-defined flag field.
  • I/O buffers and control blocks can be obtained either above or below 16 MB in storage.
    • I/O buffers and control blocks can be requested below 16 MB by taking the ACB, GENCB, MODCB, or BLDVRP macro defaults.
    • I/O buffers can be requested above 16 MB and control blocks below 16 MB by specifying the RMODE31=BUFF parameter on the ACB, GENCB, MODCB, or BLDVRP macros.
    • Control blocks can be requested above 16 MB and buffers below 16 MB by specifying the RMODE31=CB parameter on the ACB, GENCB, MODCB, or BLDVRP macros.
    • Control blocks and buffers can be requested above 16 MB by specifying the RMODE31=ALL parameter on the ACB, GENCB, MODCB, or BLDVRP macros.
    • Buffers are obtained in 24-bit addressable storage by specifying the RMODE31=NONE or CB subparameter on the AMP parameter.
    • Control blocks are obtained in 24-bit addressable storage by specifying the RMODE31=NONE or BUFF subparameter on the AMP parameter.
  • The parameter list passed to your UPAD and JRNAD exit routine resides in the same area specified with the VSAM control blocks. If RMODE31=CB or RMODE31=ALL is specified, the parameter list resides above 16 MB.
  • You must recompile the portion of your program that contains the ACB, BLDVRP, and DLVRP macro specifications.
  • You specify 31-bit parameters by specifying the AMP=(RMODE31=) parameter in the JCL.

Table 1 summarizes the 31-bit address keyword parameters and their use in the applicable VSAM macros.

Table 1. 31-Bit Address Keyword Parameters
MACRO RMODE31= MODE= LOC=
ACB Virtual storage location of VSAM control blocks and I/O buffers INVALID INVALID
BLDVRP Virtual storage location of VSAM LSR pool, VSAM control blocks and I/O buffers Format of the BLDVRP parameter list (24-bit or 31-bit format) INVALID
CLOSE INVALID Format of the CLOSE parameter list (24-bit or 31-bit format) INVALID
DLVRP INVALID Format of the DLVRP parameter list (24-bit or 31-bit format) INVALID
GENCB RMODE31 values to be placed in the ACB that is being created. When the generated ACB is opened, the RMODE31 values will then determine the virtual storage location of VSAM control blocks and I/O buffers. INVALID Location for the virtual storage obtained by VSAM for the ACB, RPL, or EXIT LIST.
MODCB RMODE31 values to be placed in a specified ACB INVALID INVALID
OPEN INVALID Format of the OPEN parameter list (24-bit or 31-bit format) INVALID
Related reading:

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014