LOOP

[CLOSELOOP [(r)]

このドキュメントでは、次のトピックについて説明します。

構文図で使用されている記号については、「構文記号」を参照してください。

関連機能グループ:レポーティングモードのステートメント


関数

LOOP ステートメントは、処理ループを終了するために使用します。ループの現在のパスの処理が終了し、制御が処理ループの先頭に戻ります。

LOOP ステートメントの発行対象の処理ループが終了した場合(つまり、すべてのレコードが処理されるか、反復が実行された場合)は、実行が LOOP ステートメントの後のステートメントから続行されます。

LOOP ステートメントは、以下のステートメントで使用できます。CALL FILECALL LOOPFINDFORHISTOGRAMPARSE XMLREADREAD RESULT SET(SQL)、READ WORK FILEREPEATSELECT(SQL)、SORTUPLOAD PC FILE

データベース変数参照

処理ループの終了に加えて、LOOP ステートメントは、ループ内に含まれる FINDFIND FIRSTFIND UNIQUEREAD および GET ステートメントへのすべてのフィールド参照を除外します。

ビュー内のフィールドは、ビュー名を修飾子として使用して、処理ループの外部で参照できます。

制限事項

  • 当ステートメントはレポーティングモードでだけ有効です。

  • LOOP ステートメントは、IFAT BREAK などの条件付きステートメントに基づいて指定することはできません。

構文説明

構文要素 説明
LOOP (r)
ステートメント参照表記:

LOOP ステートメントは、ステートメントラベルまたは参照番号(表記 (r))で指定できます。その場合、参照されているステートメントによって開始されたループまで(そのループを含む)のすべての内部ループが終了します。ステートメント参照が指定されていない場合は、最も内側のアクティブな処理ループが終了します。

注意:

  1. レポーティングモードでは、現在アクティブになっているすべての処理ループ(LOOP ステートメントで明示的に終了していないもの)が END ステートメントにより自動的に終了します。
  2. LOOP ステートメントは省略できます。通常のコーディング方法に従い、推奨しません。

例 1

FIND ...
  READ ...
    READ ...
LOOP (0010)    /* closes all loops

例 2

FIND ...
  READ ...
    READ ...
    LOOP       /* closes loop initiated on line 0030  
  LOOP         /* closes loop initiated on line 0020
LOOP           /* closes loop initiated on line 0010