AMODE"24"プログラムは、AMODE"31"プログラムによって渡されたデータ部項目へ、ポインタをアクセスさせる。
>>-.---.--------DATA--"format"------------->< +-/-+
format | データ部のロード方法:
|
省略値: | DATA"31" - AMODE"31" 設定時(方言
![]() |
段階: | 構文チェック |
$SET: | 初期 |
AMODE"31"は、DATA"31"を設定する。
AMODE(31) プログラムを用いてコンパイルされたプログラムのデータ部をロードする場所を制御する。
COBOL実行時システムがAMODE指令によってコンパイルされたプログラムをロードすると、Mainframe Pointer Manager (MFPM)のあるプログラムのデータ部を "above-the-line" または"below-the-line"として登録する。プログラムは、AMODE"31"を指定した場合は、 "above-the-line"、AMODE"24"を指定した場合は、 "below-the-line"として登録される。その後AMODEプログラムにより実行されるPOINTER変数操作では、MFPMによって割り当て られたメインフレームのアドレスが使用される。
AMODE"31"を用いてコンパイルされたプログラムのデータ部にある項目をアドレスする POINTER変数が、AMODE"24"プログラムに渡されない間は、AMODE"31" およびAMODE"24"を用いてコンパイルされたプログラムは、 同じラン・ユニット内に共存できる。ただし、POINTERが渡されると、エラー114が表示されるか (最良の場合)、予測外の実行動作が発生する(最悪の場合)。
メインフレーム上のVS COBOL IIおよびCOBOL MVSコンパイラでは、AMODE"31"プログラムのデータ部の場所を決めるDATAコンパイラ・オプションを提供している。デフォルトで DATA"31"が設定されているので、データ部が16Mb行よりも上に割り当てられる。ただし、データをAMODE"24"プログラムに渡すために、 AMODE"31"を用いてプログラムをコンパイルする必要がある場合、データ部が16Mb行より下に割り当てられるように、DATA"24"を指定す る。 DATA(24|31) コンパイラ・オプションとAMODEの混合アプリケーションの詳細は、VS COBOL II Application Programming Guide および COBOL MVS & VM V1R2 Programming Guideを参照のこと。
データ部が16Mb行よりも下にロードされるよう、AMODE"31"を用いて DATA"24"を指定する。
AMODE"24" 指令 と DATA 指令を一緒に指定してはならない。
DATA 指令は、Micro Focusライブラリルーチンや、ポインタ項目が機種依存のフォーマットである外部APIを呼び出すプログラムには使用できない。