バージョン 4.2.5
 —  パラメータリファレンス  —

DATSIZE - ローカルデータ用バッファの最小サイズ

この Natural プロファイルパラメータは、ローカルデータバッファ(DATSIZE)の最小サイズを設定するために使用します。

代わりに、同等の Natural プロファイルパラメータ DS またはマクロ NTDS(『オペレーション』ドキュメントの「Natural パラメータモジュールでのマクロの使用」を参照)を使用して DATSIZE 値を指定することもできます。

可能な設定 10~2097151 最小バッファサイズ(KB 単位)。
デフォルト設定 32  
ダイナミックな指定  
セッション内の指定 不可  

DATSIZE バッファは "可変サイズ" バッファです。 セッション中にローカルデータエリア用にさらにストレージが必要になった場合、DATSIZE バッファがダイナミックに拡張されます。 スレッド環境では、ストレージスレッドが大きくなりすぎた場合、DATSIZE を一時的にストレージスレッド外に割り当てることができます。 アプリケーションで使用していたスペースが不要になった場合、DATSIZE バッファのサイズは最小サイズに戻されます。

DATSIZE バッファの機能

実行時に、DATSIZE バッファには、実行している Natural メインプログラムで使用されるローカルデータと、このプログラムによって呼び出されるすべての下位オブジェクト("FETCHed" プログラムを除く)のローカルデータが保持されます。

開発環境で Natural を使用する場合、必要な最小 DATSIZE はデフォルト設定(つまり、32 KB)になります。 Natural をランタイム専用環境として使用し、他の Natural ユーティリティを使用しない場合は、DATSIZE を小さくすることのみ可能です。

DATSIZE 要件の計算

実際の DATSIZE 要件は、次のように計算できます(次の図を参照)。

メインプログラムから別のオブジェクトが呼び出された場合、このオブジェクトのローカルデータも DATSIZE バッファに保持されます。

呼び出されたオブジェクトから他のオブジェクトが呼び出された場合(CALLNATPERFORMFETCH RETURNINPUT USING MAP ステートメントを使用すると、ヘルプルーチン/ヘルプマップが呼び出される)、そのローカルデータも DATSIZE バッファに保持されます。呼び出されたオブジェクトのローカルデータは、呼び出し先オブジェクトから呼び出し元オブジェクトに制御が戻されるまで DATSIZE バッファに保持されます。

FETCH ステートメントで別のメインプログラムが呼び出された場合、前に呼び出されたすべてのオブジェクトのローカルデータが DATSIZE バッファから削除され、"FETCHed" プログラムのローカルデータが DATSIZE に保持されます。

また、DATSIZE には、実行に関する全般的な制御情報が約 128 バイト保持されます。それに加え、ローカルデータが DATSIZE バッファに保持されている各オブジェクトについて約 128 バイトの制御情報が保持されます。 次の図を参照してください。

DATSIZE requirement

システムコマンド LIST には、オブジェクトに関するディレクトリ情報を表示するためのオプションが備わっています。 この情報には、オブジェクトの DATSIZE ストレージ要件が含まれます(制御情報は含まれません)。

Top of page