DATA オプションは、動的データ域のストレージおよび他の動的ランタイム・ストレージが 16MB 境界より上から取得されるのか下から取得されるのかに影響を与えます。
デフォルト: DATA(31)
省略形: なし
再入可能プログラムの場合は、DATA コンパイラー・オプションおよび HEAP ランタイム・オプションによって、動的データ域のストレージ (WORKING-STORAGE や FD レコード域など) を 16MB 境界より下から獲得するか (DATA(24))、制限のないストレージから獲得するか (DATA(31)) が制御されます。 (DATA は LOCAL-STORAGE データの位置に影響を与えません。代わりに、STACK ランタイム・オプションが、プログラムの AMODE とともに、その位置を制御します。)
ランタイム・オプション HEAP(,,BELOW) を指定すると、 DATA コンパイラー・オプションの効果はなくなります。すべての動的データ域のストレージは、 16MB 境界より下から割り振られます。 ただし、HEAP(,,ANYWHERE) が有効化されていると、 動的データ域のストレージは、プログラムを DATA(24) コンパイラー・オプションを使用してコンパイルした場合には、境界より下から割り振られ、DATA(31) コンパイラー・オプションを使用してコンパイルした場合には、制限のないストレージから割り振られます。
31 ビット・アドレッシング・モードで実行されているプログラムで、24 ビット・アドレッシング・モードのプログラムにデータ引数を渡す場合は、 DATA(24) を指定します。そうすると、データは必ず呼び出されたプログラムからアドレス可能になります。
外部データおよび QSAM バッファー: DATA オプションは、ストレージおよびそのアドレス可能度に影響を与える他のコンパイラー・オプションおよびランタイム・オプションと相互作用します。詳細については、関連情報を参照してください。
関連概念
ストレージとそのアドレス可能度
関連タスク
言語環境プログラム プログラミング・ガイド (ランタイム・オプションの使用)