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

LT - 処理ループの制限

この Natural プロファイルおよびセッションパラメータは、Natural アプリケーション内で取得可能なデータベースレコードの数を制限するために使用します。 この制限は、データベースからレコードを取得するすべてのステートメント、つまり次のステートメントに適用されます。

取得レコードはすべてカウントされ、カウント結果が LT 制限と比較されます。 カウントには、FINDREAD、または HISTOGRAM ステートメントの WHERE 節で拒否されたレコードも含まれます。 LT 制限は、ステートメント STOREUPDATEDELETEEND TRANSACTION、および BACKOUT TRANSACTION には影響しません。

Natural セッション内で、プロファイルパラメータ LT をセッションパラメータ LT で上書きできます。

レコードがデータベースから取得されると、取得レコードのカウントが増加し、その後で LT パラメータの現在の値と比較されます。 増加したカウントが現在の LT 値を超過した場合、Natural エラー NAT1003("データベースコールに対するグローバルリミットに達しました")が発生します。 Natural プログラムがレベル 1 で起動されるたびに取得レコードのカウントがゼロにリセットされます。 レベル 1 のプログラムが別の Natural オブジェクトを呼び出した場合は、カウントはリセットされません(『プログラミングガイド』の「呼び出されるオブジェクトの複数レベル」を参照)。 したがって、LT パラメータでは、レベル 1 のプログラムによってデータベースから取得されたレコードの数と、そのプログラムによって 1 以外のレベルで呼び出されたオブジェクトの数を制限します。

LT パラメータの値が SET GLOBALS LT=n ステートメントを使用してプログラム内でダイナミックに変更された場合、データベースからレコードを取得する次のステートメントで新しい制限値が有効になります。

可能な設定 0 - 2147483647

セッション内:0n

(セッション開始時は n = プロファイルパラメータ LT の値)

取得可能なレコードの最大数。 すべての取得レコード(WHERE 節で拒否されたレコードを含む)がカウントされ、この制限値と比較されます。

LT=0 を指定した場合、取得レコードの数に制限は適用されません。

デフォルト設定 99999999  
ダイナミックな指定  
セッション内の指定 適用可能なステートメント: SET GLOBALS(注参照)
適用可能なコマンド: GLOBALS(注参照)
アプリケーションプログラミングインターフェイス USR1005N ユーティリティ』ドキュメントの「SYSEXT - Natural アプリケーションプログラミングインターフェイス」を参照してください。

注意:
LT パラメータをステートメント SET GLOBALS またはシステムコマンド GLOBALS と組み合わせて使用する場合、設定する制限値は Natural パラメータモジュール NATPARM で定義された LT 値を超えないようにする必要があります。

Top of page