The DATA option affects whether storage for dynamic data areas and other dynamic runtime storage is obtained from above or below the 16-MB line.
Default is: DATA(31)
Abbreviations are: None
For reentrant programs, the DATA compiler option and the HEAP runtime option control whether storage for dynamic data areas (such as WORKING-STORAGE and FD record areas) is obtained from below the 16-MB line (DATA(24)) or from unrestricted storage (DATA(31)). (DATA does not affect the location of LOCAL-STORAGE data; the STACK runtime option controls that location instead, along with the AMODE of the program.)
When you specify the runtime option HEAP(,,BELOW), the DATA compiler option has no effect; the storage for all dynamic data areas is allocated from below the 16-MB line. However, if HEAP(,,ANYWHERE) is in effect, storage for dynamic data areas is allocated from below the line if you compiled the program with DATA(24) or from unrestricted storage if you compiled with DATA(31).
Specify DATA(24) for programs that run in 31-bit addressing mode and that pass data arguments to programs in 24-bit addressing mode. Doing so ensures that the data will be addressable by the called program.
External data and QSAM buffers: The DATA option interacts with other compiler options and runtime options that affect storage and its addressability. See the related information for details.
related concepts
Storage and its addressability
related tasks
Language Environment Programming Guide (Using runtime options)
related references
Allocation of buffers for QSAM files