PERFORM ステートメント

PERFORM ステートメントは、1 つまたは複数のプロシージャーに明示的に制御を 移し、指定されたプロシージャーの実行終了後に、PERFORM ステートメントの次 の実行可能ステートメントに暗黙的に制御を戻します。 PERFORM ステートメントは、その PERFORM ステートメントの有効範囲内にある 1 つ以上の命令ステートメントの実行を制御するためにも使用されます。

フォーマット 1: 基本 PERFORM ステートメント

構文図を読むビジュアル構文図をスキップPERFORMprocedure-name-1THROUGHTHRUprocedure-name-2imperative-statement-1END-PERFORM
procedure-name-1 , procedure-name-2
手続き部の中のセクションまたは段落を指名しなければなりません。

プロシージャー名-1 およびプロシージャー名-2 を両方指定する場合、 いずれか一方が宣言型プロシージャーの中のプロシージャー名であれば、 両方が、同じ宣言型プロシージャーの中のプロシージャー名でなければなりません。

プロシージャー名-1 を指定した場合、命令ステートメント-1 と END-PERFORM 句を指定することはできません。

プロシージャー名-1 を省略した場合、命令ステートメント-1 と END-PERFORM 句を指定する必要があります。

imperative-statement-1
行内 PERFORM ステートメントで実行されるステートメント

行内および行外の PERFORM ステートメント

プロシージャー名-1 が省略されている場合、PERFORM ステートメントは行内 PERFORM ステートメントです。

プロシージャー名-1 が指定されている場合、PERFORM ステートメントは行外 PERFORM ステートメントです。

行内 PERFORM ステートメントは、END-PERFORM 句によって区切る必要があります。

行内フォーマットと行外フォーマットを合わせて使用することはできません。 例えば、プロシージャー名-1 を指定した場合、 命令ステートメントと END-PERFORM 句は指定できません。

EXIT PERFORM ステートメントを使用して、 GO TO ステートメントまたは PERFORM ... を使用せずにインライン PERFORM を終了することができます。 THROUGH ステートメント。 詳細は、 フォーマット5(インライン実行 )を参照してください。

INLINE ディレクティブを使用すれば、PERFORM ステートメントによって参照されるプロシージャーがインライン化に適格かどうかを判別できます。 詳細はINLINE を参照。

END-PERFORM

行内 PERFORM ステートメントの範囲を区切ります。 この範囲内の最後のステートメントが実行されると、行内 PERFORM の実行が完了します。