ILE COBOL 解説書

ステートメント・カテゴリー

COBOL のステートメントには、次の 4 種類があります。

命令ステートメント

命令ステートメントは、プログラムが実行する無条件処置を指定するか、明示範囲終了符号によって終了する条件ステートメントになるかのいずれかです (範囲区切りステートメントを参照してください)。 1 つの命令ステートメントを指定できるときにはいつでも、一連の命令ステートメントを指定できます。

表 28 に COBOL 命令ステートメントをリストします。

表 28. 命令ステートメントのタイプ

タイプ 命令ステートメント
演算 ADD1
COMPUTE1
DIVIDE1
INSPECT (TALLYING)
MULTIPLY1
SUBTRACT1
データの操作 ACCEPT (DATE, DAY, DAY-OF-WEEK, TIME)
INITIALIZE
INSPECT (CONVERTING)
INSPECT (REPLACING)
MOVE
SET
STRING2
UNSTRING2

+----------------------------------IBM 拡張----------------------------------+


XML GENERATE6
XML PARSE6

+------------------------------End of IBM 拡張-------------------------------+

終了 STOP RUN
EXIT PROGRAM

+----------------------------------IBM 拡張----------------------------------+

GOBACK

+------------------------------End of IBM 拡張-------------------------------+

Input/Output ACCEPT6 ID
CLOSE
DELETE3
DISPLAY6
OPEN
READ4
REWRITE3
SET (UPSI スイッチの場合)
START3
STOP リテラル
WRITE5

+----------------------------------IBM 拡張----------------------------------+


ACQUIRE
COMMIT
DROP
ROLLBACK

+------------------------------End of IBM 拡張-------------------------------+

順序付け MERGE
RELEASE
RETURN
SORT
プロシージャーの分岐 ALTER
EXIT
GO TO
PERFORM
サブプログラム・リンケージ CALL7
CANCEL
テーブルの処理 SET

表 28 の注:

1
ON SIZE ERROR または NOT ON SIZE ERROR 句が指定されていないもの

2
NOT ON OVERFLOW または ON OVERFLOW 句が指定されていないもの

3
INVALID KEY または NOT INVALID KEY 句が指定されていないもの

4
AT END、NOT AT END、INVALID KEY、NO DATA、または NOT INVALID KEY 句が指定されていないもの

5
INVALID KEY、NOT INVALID KEY、END-OF-PAGE、または NOT END-OF-PAGE 句が指定されていないもの

6
ON EXCEPTION または NOT ON EXCEPTION 句が指定されていないもの

7
ON OVERFLOW、ON EXCEPTION、または NOT ON EXCEPTION 句が指定されていないもの

条件ステートメント

条件ステートメントは、条件の真理値を判別すること、そしてオブジェクト・プログラムの次に取るべき処置がこの真理値によって決まることを指定します。 (条件式を参照してください。)

図 14 には、条件ステートメントである COBOL ステートメント、または条件が含まれていて (例 : ON SIZE ERROR または ON OVERFLOW)、 かつそのステートメントが明示範囲終了符号によって終了しないときに条件ステートメントになる COBOL ステートメントを列挙しています。

図 14. 条件ステートメント


算術                            順序付け
ADD...ON SIZE ERROR             RETURN...AT END
ADD...NOT ON SIZE ERROR         RETURN...NOT AT END
COMPUTE...ON SIZE ERROR
COMPUTE...NOT ON SIZE ERROR
DIVIDE...ON SIZE ERROR
DIVIDE...NOT ON SIZE ERROR
MULTIPLY...ON SIZE ERROR
MULTIPLY...NOT ON SIZE ERROR
SUBTRACT...ON SIZE ERROR
SUBTRACT...NOT ON SIZE ERROR
データの操作                    サブプログラム・リンケージ
STRING...ON OVERFLOW            CALL...ON OVERFLOW
STRING...NOT ON OVERFLOW        CALL...ON EXCEPTION
UNSTRING...ON OVERFLOW          CALL...NOT ON EXCEPTION
UNSTRING...NOT ON OVERFLOW

+----------------------------------IBM 拡張----------------------------------+

XML GENERATE...ON EXCEPTION XML GENERATE...NOT ON EXCEPTION XML PARSE...ON EXCEPTION XML PARSE...NOT ON EXCEPTION

+------------------------------End of IBM 拡張-------------------------------+

判断  テーブル処理 IF SEARCH...WHEN EVALUATE 入力/出力 ACCEPT...ON EXCEPTION READ...NO DATA ACCEPT...NOT ON EXCEPTION REWRITE...INVALID KEY DELETE...INVALID KEY REWRITE...NOT INVALID KEY DELETE...NOT INVALID KEY START...INVALID KEY DISPLAY...ON EXCEPTION START...NOT INVALID KEY DISPLAY...NOT ON EXCEPTION WRITE...AT END~OF~PAGE READ...AT END WRITE...NOT AT END~OF~PAGE READ...NOT AT END WRITE...INVALID KEY READ...INVALID KEY WRITE...NOT INVALID KEY READ...NOT INVALID KEY

範囲区切りステートメント

範囲区切りステートメントは、明示範囲終了符号を使用して、条件ステートメントを命令ステートメントに変えます。 この命令ステートメントは、その後でネストされます。

さらに、明示範囲終了符号は命令ステートメントの範囲の終了を示すのに使用されることもあります。 明示範囲終了符号は、条件句を持つことができるすべての COBOL verb に提供されています。

特に明示的に指定されていない限り、言語の規則によって命令ステートメントを指定できる場合はいつでも、範囲区切りステートメントを指定できます。

関連情報

明示範囲終了符号

明示範囲終了符号は、特定の手続き部ステートメントの終わりを示します。 明示範囲終了符号によって区切られる条件ステートメントは、命令ステートメントと見なされ、命令ステートメントの規則に従わなければなりません。

明示範囲終了符号は次のとおりです。

END-ACCEPT              END-PERFORM
END-ADD                 END-READ
END-CALL                END-RETURN
END-COMPUTE             END-REWRITE
END-DELETE              END-SEARCH
END-DISPLAY             END-START
END-DIVIDE              END-STRING
END-EVALUATE            END-SUBTRACT
END-IF                  END-UNSTRING
END-MULTIPLY            END-WRITE
 

+----------------------------------IBM 拡張----------------------------------+

END-XML

+------------------------------End of IBM 拡張-------------------------------+

暗黙範囲終了符号

文の終わりにある区切りのピリオドは暗黙範囲終了符号であり、まだ終了していない前のステートメントすべての範囲を終了させます。 あるステートメントが別のステートメントの中に含まれているとき、含まれる側のステートメントの後にある含む側のステートメントの次の句が、 含まれる側のステートメントの範囲を終了させる暗黙範囲終了符号となります。

範囲終了符号によって終了していない条件ステートメントを、別のステートメントの中に入れることはできません。

IF ステートメントの中でネストしている条件ステートメントを除いて、ネストされるステートメントは命令ステートメントでなければならず、命令ステートメントの規則に従わなければなりません。 条件ステートメントをネストすべきではありません。

コンパイラー指示ステートメント

指定した処置を行うようコンパイラーに指示するステートメントのことです。 これらのステートメントについては コンパイラー指示ステートメントで説明してあります。

タイプ コンパイラー指示ステートメント
ライブラリー COPY
宣言 USE
文書化 ENTER
コンパイラー・オプション PROCESS
ソース・テキスト REPLACE
ソース・リスト

+----------------------------------IBM 拡張----------------------------------+


*CBL
*CONTROL
EJECT
SKIP1
SKIP2
SKIP3
TITLE

+------------------------------End of IBM 拡張-------------------------------+


[ ページのトップ | 前ページ | 次ページ | 目次 | 索引 ]