DATA

DATA affects whether storage for dynamic data areas and other dynamic runtime storage is obtained from beyond or under the 16 MB line.

Syntax

Read syntax diagramSkip visual syntax diagramDATA=*3124
Default
DATA=31
24
Causes allocation of user data areas in virtual addresses under 16 MB in storage acquired by a GETMAIN with the LOC=BELOW option.
Specify DATA=24 for programs compiled with the RENT option that are passing data parameters to programs in 24-bit mode. This includes the following cases:
  • A COBOL program is passing items in its WORKING-STORAGE to an AMODE 24 program.
  • A COBOL program is passing, by reference, data items received from its caller to an AMODE 24 program. DATA=24 is required even when the data received is under the 16 MB line.
Otherwise, the data might not be addressable by the called program.

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.

31
Causes allocation of user data areas, such as WORKING-STORAGE and FD record areas, from unrestricted storage or in space acquired by a GETMAIN with the LOC=ANY option. Specifying this option can result in storage being acquired in virtual addresses either beyond or under the 16 MB line. The operating system generally satisfies the request with space in virtual addresses beyond the 16 MB line, if it is available.
Note:
  • If a program is compiled with the RENT option, the DATA option controls how space for WORKING-STORAGE and parameter lists is acquired.
  • The DATA option has no effect on programs compiled with the NORENT option.
  • The DATA option is ignored when LP(64) is in effect. If the user explicitly specifies the DATA option, an informational message is issued.
  • The LOCAL-STORAGE section is allocated from stack storage, which is managed by Language Environment®. LE allocates stack storage beyond the 2 GB bar in a 64-bit enclave.