STOP(停止)文は、実行単位の実行を、永久的にまたは一時的に停止させる。
  「STOP定数」文は、ANSI'85標準では廃要素に分類されており、ANSI標準の次回の全面改訂の際に、削除される予定である。
「STOP定数」文は、ANSI'85標準では廃要素に分類されており、ANSI標準の次回の全面改訂の際に、削除される予定である。
  この構文は、Micro Focus COBOL に組み込まれているすべての方言で全面的に使用できる。FLAGSTD指令を使用すると、この構文が使われているすべての箇所を見つけ出すことができる。
この構文は、Micro Focus COBOL に組み込まれているすべての方言で全面的に使用できる。FLAGSTD指令を使用すると、この構文が使われているすべての箇所を見つけ出すことができる。
  標準COBOL定義の一部を構成するにもかかわらず、X/OpenのCOBOL言語定義では、「STOP定数」の書き方は明示的に除外されている。したがって、X/OpenのCOBOLに準拠する原始プログラム内ではこの文を使用するべきではない。
標準COBOL定義の一部を構成するにもかかわらず、X/OpenのCOBOL言語定義では、「STOP定数」の書き方は明示的に除外されている。したがって、X/OpenのCOBOLに準拠する原始プログラム内ではこの文を使用するべきではない。
 
 
 
 
  符号付きの整数を使用できる。
符号付きの整数を使用できる。
 整数-1は 符号を付けてもよい。
整数-1は 符号を付けてもよい。
  必ずしも、一連の無条件文の最後にSTOP RUN文を書かなくてもよい。しかし、一連の文の中でSTOP RUN文よりも後ろにあるものは実行されない。
必ずしも、一連の無条件文の最後にSTOP RUN文を書かなくてもよい。しかし、一連の文の中でSTOP RUN文よりも後ろにあるものは実行されない。
 GIVING と RETURNING は同義語であり、どちらを書いてもよい。
GIVING と RETURNING は同義語であり、どちらを書いてもよい。
 一意名-1は8バイト以下のサイズとする。.
一意名-1は8バイト以下のサイズとする。.
 STOP RUN GIVING文が、START文により作成され(形式 3 スレッド)たスレッド内で実行され、ADDRESS指定が使用されない場合、一意名-1は、USAGE POINTERまたはサイズが4バイトのデータ項目として定義しなければならない。一意名-1の定義は、START文中のRETURNING項目の定義により異なる。 一意名-1は、USAGE POINTER項目として定義された場合に関数一意名であってはならない。
STOP RUN GIVING文が、START文により作成され(形式 3 スレッド)たスレッド内で実行され、ADDRESS指定が使用されない場合、一意名-1は、USAGE POINTERまたはサイズが4バイトのデータ項目として定義しなければならない。一意名-1の定義は、START文中のRETURNING項目の定義により異なる。 一意名-1は、USAGE POINTER項目として定義された場合に関数一意名であってはならない。
 STOP RUN文の実行により、戻り値がシステム領域で設定される。COBOL以外のランタイム要素は通常、このシステム領域を使用して戻り値を返す。オペレーティング システムが、動作するプログラムからオペレーティング システムへ値を返す機能をサポートしている場合、値はシステム領域から返される。
STOP RUN文の実行により、戻り値がシステム領域で設定される。COBOL以外のランタイム要素は通常、このシステム領域を使用して戻り値を返す。オペレーティング システムが、動作するプログラムからオペレーティング システムへ値を返す機能をサポートしている場合、値はシステム領域から返される。
  GIVING指定を書かないと、実行単位の動作は下記のようになる。具体的には、システム領域がCOBOLの数字データ項目であり、それにUSAGE COPM-5が指定されていて、そのサイズはCOBOLシステムの外の操作環境によって決められているものとして宣言されている状態で、RETURN-CODEを送出し側としシステム領域を受取り側として、MOVE文を実行したかのように動作する。(RETURN-CODE詳細については、COBOL言語の概念の章の特殊レジスタ節を参照。)
GIVING指定を書かないと、実行単位の動作は下記のようになる。具体的には、システム領域がCOBOLの数字データ項目であり、それにUSAGE COPM-5が指定されていて、そのサイズはCOBOLシステムの外の操作環境によって決められているものとして宣言されている状態で、RETURN-CODEを送出し側としシステム領域を受取り側として、MOVE文を実行したかのように動作する。(RETURN-CODE詳細については、COBOL言語の概念の章の特殊レジスタ節を参照。)
  「GIVING 一意名-1」指定を書いた場合、一意名-1はシステム領域に戻り値を収めるのにちょうど必要な長さであり、オペレーティング システムによって期待される型と用途のものでなければならない。通常、一意名-1はPIC S9 (9) USAGE COMP-5を明示的または暗黙的に指定して宣言する必要がある。一意名-1を送出し側項目とし、システム領域を受取り側項目として、MOVE文を実行したかのように、実行単位は動作する。
「GIVING 一意名-1」指定を書いた場合、一意名-1はシステム領域に戻り値を収めるのにちょうど必要な長さであり、オペレーティング システムによって期待される型と用途のものでなければならない。通常、一意名-1はPIC S9 (9) USAGE COMP-5を明示的または暗黙的に指定して宣言する必要がある。一意名-1を送出し側項目とし、システム領域を受取り側項目として、MOVE文を実行したかのように、実行単位は動作する。
  「GIVING 整数-1」指定を指定した場合、整数-1の値はシステム領域に保持できるよりも大きくてはならない。実行単位は、整数-1を送出し側としそのシステム領域を受取り側として、MOVE文を実行したかのように動作する。
「GIVING 整数-1」指定を指定した場合、整数-1の値はシステム領域に保持できるよりも大きくてはならない。実行単位は、整数-1を送出し側としそのシステム領域を受取り側として、MOVE文を実行したかのように動作する。
 START文またはCBL_CREATE_THREAD登録集ルーチンで作成されたスレッド中で実行されると、STOP RUN GIVING文は実行単位を終了しない。単に、戻り値を返し、スレッドを終了させる。 以下の文と同じである。
START文またはCBL_CREATE_THREAD登録集ルーチンで作成されたスレッド中で実行されると、STOP RUN GIVING文は実行単位を終了しない。単に、戻り値を返し、スレッドを終了させる。 以下の文と同じである。
CALL 'CBL_THREAD_EXIT' USING BY VALUE ADDRESS OF スレッドパーム
 START文またはCBL_THREAD_CREATE登録集ルーチンにより作成されていないスレッド(つまり、主なスレッドまたは別のプログラム言語で書かれたプログラムによる作成されたスレッド)中のSTOP RUNは、実行中のCBL_THREAD_CREATEすべてが終了するのを待ち、その後、実行単位を終了する。
START文またはCBL_THREAD_CREATE登録集ルーチンにより作成されていないスレッド(つまり、主なスレッドまたは別のプログラム言語で書かれたプログラムによる作成されたスレッド)中のSTOP RUNは、実行中のCBL_THREAD_CREATEすべてが終了するのを待ち、その後、実行単位を終了する。