IF ステートメントが、その可能な分岐の 1 つとして別の IF ステートメントを含んでいるとき、これらの IF ステートメントはネストされている といいます。 論理上は、ネストされた IF ステートメントの深さに制限はありません。
ただし、ネストされた IF ステートメントを多用しないでください。 明示範囲終了符号および字下げが役に立つとはいえ、ロジックをたどるのが困難になる可能性があります。 プログラムが 2 つを超える値について変数をテストしなければならない場合には、おそらく EVALUATE を使用する方が適切です。
以下に、ネストされた IF ステートメントの疑似コードを示します。
IF condition-p
IF condition-q
statement-1
ELSE
statement-2
END-IF
statement-3
ELSE
statement-4
END-IF
上記の疑似コードでは、IF ステートメントと順次構造が外側の IF の 1 つの分岐にネストされています。 このような構造では、ネストされた IF を閉じる END-IF が非常に重要になります。ピリオドは外側の IF 構造も終了させるため、ピリオドではなく END-IF を使用してください。
次の図は、上記の疑似コードの論理構造を示しています。

関連タスク
アクションの選択項目のコーディング
関連参照
明示範囲終了符号 (Enterprise COBOL 言語解説書)