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