COBOL言語の「STOP RUN」の使い方について理解しよう!|用語辞典

COBOL(コボル)言語のSTOP RUNを使ったプログラムの処理終了とは

COBOL言語のSTOPRUNを使ったプログラムの処理終了_用語辞典

COBOL(コボル)言語のSTOP RUNとは?

COBOL言語などプログラミングしたプログラムの処理を中断、終了したいという事はよくあります。実際に処理が正常に終了したら制御をオペレーティングシステム(OS)へ移す必要がありますが、その時に使うのが「STOP」文です。「STOP」を使用すると実行しているプログラムの処理を中断する事ができます。「STOP RUN」を使用すると実行しているプログラムの処理を終了する事ができます。では早速COBOL言語での使い方について見ていきましょう。

書き方(STOP RUN)

STOP RUN

使用例:

COBOL言語のSTOPRUN_使用例

使用例でもわかる通り、一般的に「STOP RUN」はプログラムの最後に記述します。

必ず最後に記述する必要はありませんが明示的に記述する事でプログラムの終了場所がわかるようになります。

COBOL言語用語辞典では他にもサンプルプログラムを多数紹介していますので、「STOP RUN」がどのプログラムにも記述されている事を確認してみましょう。

実行結果:

COBOL言語のSTOPRUN_実行結果

STOP RUNのCOBOL(コボル)言語における基本事項やルールについて

1.「STOP RUN」の間の空白や改行は、自由に設定できます。

2.「STOP RUN」はそれ以降の処理は実行されないため、最後の文にする必要があります。

3.「STOP RUN」を実行すると処理が停止され、OSに制御が移されます。

4.「STOP RUN」を実行するとその時点で開かれている各ファイルは暗黙的にCLOSE文が実行されます。

COBOL(コボル)言語のSTOP RUNを扱う上での注意点

現在のCOBOLプログラムでは、STOP RUNを明示的に使用して処理を終了させる必要があります。ただし、ANSI規格の全面改訂の際には削除されるという事も検討されているため、今後の改定情報には注意しておきましょう。また、STOP RUNの実行中は、実行中に開いている各ファイルに対してCLOSE文が暗黙的に実行されますが、今後どのようにSTOP文が見直されるかわかりませんので、必ずファイルをCLOSEするタイミングでCLOSE文を実行するように処理の確認も行っておきましょう。

STOP RUNを使ったCOBOL(コボル)プログラムの活用法

STOP RUNは先ほどご紹介した通り、実行されているプログラムの処理を終了したい場合に使用するものでした。ここでは実際にSTOP RUNを理解するために、処理の途中に複数のSTOP RUNを記述してみましょう。そうする事で処理がどこまで実行され、それ以降の処理が実行されない事を実際に確認してみましょう。

サンプルプログラム(STOP RUN2):

  1. IDENTIFICATION DIVISION.
  2. PROGRAM-ID. STOP_SAMPLE2.
  3. ENVIRONMENT DIVISION.
  4. INPUT-OUTPUT SECTION.
  5. DATA DIVISION.
  6. WORKING-STORAGE SECTION.
  7. PROCEDURE DIVISION.
  8. DISPLAY "STOP RUNのサンプルプログラム2です。"
  9. STOP RUN.
  10. DISPLAY "この実行文は実行されません。"
  11. DISPLAY "コンパイル時にもエラーになりません。"
  12. STOP RUN.

実行結果(STOP RUN2):

COBOL言語のSTOPRUN_活用法の実行結果

使用例では、プログラム内に「STOP RUN」を複数記述しています。

サンプルプログラムでは、最初の「STOP RUN」までは認識しますが、以降記述しているプログラムが実行されていない事が確認できると思います。また、「STOP RUN」の記述は複数記述する事はできます。コンパイル時にもエラーは発生しません。あくまで実行されるのは最初の「STOP RUN」の記述までとなります。

「STOP RUN」を複数記述するケースとしては、例えばテスト時に最初の「STOP RUN」までのプログラムの処理を確認し、そこまでの処理結果が確認できた後、以降の処理を確認するという使い方ができます。その際は、最初の「STOP RUN」をコメントアウトする事で最後までプログラムが実行される事になります。

今回ご紹介したSTOP RUNは、実行されているプログラムの処理を終了したい場合に使用するものでした。処理の終了はプログラムを実行していれば必ず最後に実行されますが、テスト時には意図的に処理を中断したりして、その時点のデータ状態を確認する事などありますので、実際にプログラミングして理解を深めておきましょう。

この記事を読んだ人は、こちらの記事も読んでいます

【未経験者歓迎】COBOLプログラマー・システムエンジニアの募集

株式会社COBOLの求人・転職・募集情報を見る

COBOL入門のカテゴリー

取引企業様 募集中
COBOL技術者 募集
COBOL魂
読者採用
COBOL入門