Residency
Default: RMODE31=NONE
The RMODE31 parameter allows you to specify the residency of the VSAM control blocks and buffers. You can allocate buffers above the line and control blocks below, both above, both below, or control blocks above and buffers below. (The latter is useful for 24 bit applications that use LOCATE mode processing).
RMODE31 has an operand that designates which areas are to be allocated above 16M. The following example shows the possibilities:
. . .
RMODE31=CB * VSAM Control blocks above 16M
. . .
. . .
RMODE31=BUFF * VSAM Buffers above 16M
. . .
. . .
RMODE31=ALL * Both buffers and control blocks above
. . .
. . .
RMODE31=NONE * Both allocated as specified in the ACB
. . .
. . .
RMODE31=ALL can be specified in SYSTEM_DEFAULTS. If you make this the default, however, make sure that you include PROGRAM constraints that specify RMODE31=NONE for any AMODE 24 applications that use either LOCATE mode processing or that access VSAM control blocks directly. Failure to exempt these applications from areas above 16M will result in S0C4 abends.
If you specify RMODE31=ALL in SYSTEM_DEFAULTS and experience S0C4/5 abends in jobs that used to run successfully, add a PROGRAM level selector with RMODE31=NONE in any INCLUDE mode control group so that all areas are below 16M for this program.
IDCAMS accesses (at least sometimes) the VSAM control blocks and is (at this time) an AMODE=24 program. If you specify RMODE31=ALL in the SYSTEM_DEFAULTS, include a PROGRAM=IDCAMS RMODE31=NONE in one of your INCLUDE MODE control groups.
There is no special direct relationship between COBOL1 or COBOL2 programs and the HYPERBUF RMODE31 constraint.
If data is accessed in the VSAM buffers or control blocks directly and the constraints specify RMODE31=ALL there may be problems. There should only be problems with respect to data in the buffers if LOCATE mode processing is performed by the program. Otherwise, specifying RMODE31=ALL or BUFF in the constraints should be possible. HYPERBUF controls the location of these resources at open time and is transparent to the application. If the program attempts to look at something in the buffer or control block that is above the line and if the program is running in 24-bit mode, an SOC4 abend could occur. Test the program with each constraint to see if this happens. It does not matter if the COBOL1 or COBOL2 program is running in 24-bit mode as long as it is not accessing data in the buffer or control blocks directly. You may be able to run the program with RMODE31=ALL/BUFF.
|
Copyright © 2011 CA.
All rights reserved.
|
|