この Natural プロファイルパラメータは、ローカルデータバッファ(DATSIZE
)の最小サイズを設定するために使用します。
代わりに、同等の Natural プロファイルパラメータ DS
またはマクロ NTDS
(『オペレーション』ドキュメントの「Natural パラメータモジュールでのマクロの使用」を参照)を使用して DATSIZE
値を指定することもできます。
可能な設定 | 10~2097151 |
最小バッファサイズ(KB 単位)。 |
---|---|---|
デフォルト設定 | 32 |
|
ダイナミックな指定 | 可 | |
セッション内の指定 | 不可 |
DATSIZE
バッファは "可変サイズ" バッファです。 セッション中にローカルデータエリア用にさらにストレージが必要になった場合、DATSIZE
バッファがダイナミックに拡張されます。 スレッド環境では、ストレージスレッドが大きくなりすぎた場合、DATSIZE
を一時的にストレージスレッド外に割り当てることができます。 アプリケーションで使用していたスペースが不要になった場合、DATSIZE
バッファのサイズは最小サイズに戻されます。
実行時に、DATSIZE
バッファには、実行している Natural メインプログラムで使用されるローカルデータと、このプログラムによって呼び出されるすべての下位オブジェクト("FETCHed" プログラムを除く)のローカルデータが保持されます。
開発環境で Natural を使用する場合、必要な最小 DATSIZE
はデフォルト設定(つまり、32 KB)になります。 Natural をランタイム専用環境として使用し、他の Natural ユーティリティを使用しない場合は、DATSIZE
を小さくすることのみ可能です。
実際の DATSIZE
要件は、次のように計算できます(次の図を参照)。
メインプログラムから別のオブジェクトが呼び出された場合、このオブジェクトのローカルデータも DATSIZE
バッファに保持されます。
呼び出されたオブジェクトから他のオブジェクトが呼び出された場合(CALLNAT
、PERFORM
、FETCH RETURN
、INPUT USING MAP
ステートメントを使用すると、ヘルプルーチン/ヘルプマップが呼び出される)、そのローカルデータも DATSIZE
バッファに保持されます。呼び出されたオブジェクトのローカルデータは、呼び出し先オブジェクトから呼び出し元オブジェクトに制御が戻されるまで DATSIZE
バッファに保持されます。
FETCH
ステートメントで別のメインプログラムが呼び出された場合、前に呼び出されたすべてのオブジェクトのローカルデータが DATSIZE
バッファから削除され、"FETCHed" プログラムのローカルデータが DATSIZE
に保持されます。
また、DATSIZE
には、実行に関する全般的な制御情報が約 128 バイト保持されます。それに加え、ローカルデータが DATSIZE
バッファに保持されている各オブジェクトについて約 128 バイトの制御情報が保持されます。 次の図を参照してください。
システムコマンド LIST
には、オブジェクトに関するディレクトリ情報を表示するためのオプションが備わっています。 この情報には、オブジェクトの DATSIZE
ストレージ要件が含まれます(制御情報は含まれません)。