自由形式演算ステートメントを除くすべての自由形式ステートメントの内部で、/IF、/ELSEIF、/ELSE、および /ENDIF 指示
を使用できます。
ただし、以下の規則が適用されます。
- /IF、/ELSEIF、または /ELSE 指示の後でステートメントが始まっている場合、
次の指示の前に、そのステートメントの最後のセミコロンが指定されなければなりません。
次のコードは無効です。DSPLY ステートメントは /IF 指示の
後で始まっているので、この DSPLY ステートメントに対するセミコロンが /ELSE 指示の
前に指定される必要があります。
/IF DEFINED(TRUE)
DSPLY
/ELSE
print
/ENDIF
('start');
- 条件付きグループの /IF がステートメント内で始まっている場合、
そのステートメントの最後のセミコロンの前に /ENDIF が指定されなければなりません。
次のコードでは、DCL-S ステートメントが始まった後に /IF 指示が
指定されていて、この DCL-S ステートメントに対する最後のセミコロンの後に /ENDIF が
指定されているため、このコードは無効です。
DCL-S name
/IF DEFINED(TRUE)
CHAR(10);
/ELSE
VARCHAR(10);
/ENDIF