埋め込みの説明
@1@ : エラーを検出した文の動詞.
例題
[P2509.cob] 000001 IDENTIFICATION DIVISION. 000002 PROGRAM-ID. P2509. 000003 ENVIRONMENT DIVISION. 000004 DATA DIVISION. 000005 WORKING-STORAGE SECTION. 000006 01 WDA PIC X. 000007 PROCEDURE DIVISION. 000008 PERFORM 10 TIMES 000009 IF WDA = SPACE THEN 000010 DISPLAY "SPACE" 000011 END-PERFORM. 000012 END PROGRAM P2509.
P2509.cob 9: JMN2509I-S 条件文IFが,無条件文しか指定できないところに指定されています.IF文を受け入れます.
詳細な説明
COBOL言語において,無条件文とは次のいずれかです.
無条件文として区別される文
明示範囲符で閉じた条件文
明示範囲符とは,例えば,IF文に対するEND-IFです.一般に,この診断メッセージが出力されるのは,条件文内に明示範囲符で閉じられていない他の条件文が存在する場合です.
例題プログラムでは,うちPERFORM文の内部にEND-IFで閉じられていないIF文があることが,この診断メッセージが出力される原因です.
この診断メッセージが出力された場合は,条件文とその明示範囲符の対応関係を見直してください.