LT - 処理ループの制限

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

可能な設定

1 - 2147483647
0

取得可能なレコードの最大数。すべての取得レコード(WHERE 節で拒否されたレコードを含む)がカウントされ、この制限値と比較されます。
LT=0 を指定した場合、取得レコードの数に制限は適用されません。

注意:
セッション内で、0n の範囲の値を指定できます。ここで、n は、セッション開始時のプロファイルパラメータ LT の値です。

デフォルト設定 99999999  
ダイナミックな指定  
セッション内の指定  
適用可能なステートメント SET GLOBALS

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

適用可能なコマンド GLOBALS
アプリケーションプログラミングインターフェイス USR1005N ユーティリティ』ドキュメントの「SYSEXT - Natural アプリケーションプログラミングインターフェイス」を参照してください。

注意:

  1. LE パラメータで設定した制限は、データベースからレコードを取得するすべてのステートメントに適用されます。つまり、READFINDHISTOGRAM または SELECT などの処理ループを開始するステートメント、および FIND UNIQUEFIND NUMBERFIND FIRSTGETSAME)および SELECT SINGLE など 1 つのレコードのみを取得するステートメントです。
  2. 取得レコードはすべてカウントされ、カウント結果が LT 制限と比較されます。カウントには、FINDREAD、または HISTOGRAM ステートメントの WHERE 節で拒否されたレコードも含まれます。LT 上限は、ステートメント STOREUPDATEDELETEEND TRANSACTION および BACKOUT TRANSACTION には影響しません。
  3. レコードがデータベースから取得されると、取得レコードのカウントが増加し、その後で LT パラメータの現在の値と比較されます。増加したカウントが現在の LT 値を超過した場合、Natural エラー NAT1003(Global limit for database calls reached)が発生します。Natural プログラムがレベル 1 で起動されるたびに取得レコードのカウントがゼロにリセットされます。レベル 1 のプログラムが別の Natural オブジェクトを呼び出した場合は、カウントはリセットされません(『プログラミングガイド』の「呼び出されるオブジェクトの複数レベル」を参照)。したがって、LT パラメータでは、レベル 1 のプログラムによってデータベースから取得されたレコードの数と、そのプログラムによって 1 以外のレベルで呼び出されたオブジェクトの数を制限します。
  4. LT パラメータの値が SET GLOBALS LT=n ステートメントを使用してプログラム内でダイナミックに変更された場合、データベースからレコードを取得する次のステートメントで新しい制限値が有効になります。
  5. Natural セッション内で、プロファイルパラメータ LT をセッションパラメータ LT で上書きできます。