CALL LOOP

ストラクチャードモード構文

CALL LOOP operand1 [operand2] ...40
statement ../graphics/dot3.gif
END-LOOP

レポーティングモード構文

CALL LOOP operand1 [operand2] ...40
statement ../graphics/dot3.gif
LOOP

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

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

関連ステートメント:CALL | CALL FILE | CALLNAT | DEFINE SUBROUTINE | ESCAPE | FETCH | PERFORM

関連機能グループ:プログラムおよびルーチンの呼び出し


関数

CALL LOOP ステートメントは、Natural 以外のプログラムを呼び出す処理ループを生成します。

CALL ステートメントとは異なり、CALL LOOP ステートメントは、処理ループ内で繰り返し Natural 以外のプログラムを呼び出します。CALL 処理の詳細については、CALL ステートメントを参照してください。

制限事項

ステートメント AT BREAKAT START OF DATA および AT END OF DATA は、CALL LOOP 処理ループ内では使用できません。

構文説明

オペランド定義テーブル:

オペランド 構文要素 フォーマット オペランド参照 ダイナミック定義
operand1 C S       A                         ×
operand2 C S A G   A U N P I F B D T L C    

構文要素の説明:

構文要素 説明
operand1
呼び出すプログラム:
呼び出される Natural プログラムの名前は、定数または変数で指定できます。プログラムロジックによって呼び出すプログラムが異なる場合は、長さ 1~8 の英数字の変数として指定します。変数では、プログラム名を左詰めで指定する必要があります。
operand2
Parameters:
CALL LOOP ステートメントは、最大 40 個までのパラメータを受け渡すことができます。パラメータリストの構成は、CALL ステートメントと同じです。パラメータリストのフィールドは、CALL LOOP ステートメント自体で最初に定義するか、または事前に定義しておくことができます。
statement ...
処理ループ:
CALL LOOP ステートメントによって開始された処理ループは、ESCAPE ステートメントで終了する必要があります。
END-LOOP
CALL LOOP ステートメントの終了:

ストラクチャードモードでは、CALL LOOP ステートメントを終了するには、Natural の予約語 END-LOOP を使用する必要があります。

レポーティングモードでは、Natural のステートメント LOOP を使用して CALL LOOP ステートメントを終了します。

LOOP

DEFINE DATA LOCAL
1 PARAMETER1 (A10)
END-DEFINE
CALL LOOP 'ABC' PARAMETER1
  IF PARAMETER1 = 'END'
     ESCAPE BOTTOM
  END-IF
END-LOOP
END