VSAM File Buffer Storage Allocation Changes Under LE z/VSE
LEzVSE 0600025UDN Visits (5457)
For my first 2017 blog entry I thought I would discuss a change that has been implemented since LE z/VSE 1.4.8 but may have not gathered much attention.
While only directly affecting C/VSE and LE/C run-time library users, any non-C/VSE applications that may call or fetch or by some other means invoke or execute a routine that does use the LE/C run-time which uses VSAM files, then this change also applies.
With LE z/VSE 1.4.8 (z/VSE 5.1.x) and above the default VSAM file buffer allocation storage location has been changed to use GETVIS above-the-line. This is performed whenever the LE/C run-time library opens a VSAM file using the "fopen()" function by the setting of the VSAM ACB sub-option "RMODE31" to "ALL". This will request that VSAM bias all buffer allocations to any above-the-line available GETVIS storage. Internally to the LE/C run-time, this setting is managed by a new environment variable (ENVAR) "_EDC_VSAM_ABOVE". When this ENVAR is set to "Y" (which is the default) the VSAM ACB sub-option RMODE31=ALL will be set.
If any applications experience issues related to this ACB sub-option default change and you wish to revert back to the previous default behaviour, you can set the ENVAR "_ED
This change is only applicable to the BATCH environment. Any changes or setting of the "_EDC_VSAM_ABOVE" environment variable under CICS will be ignored.
See the LE/VSE C Run-time Programming Guide for more information on the _EDC_VSAM_ABOVE environment variable.