STOP(停止)文は、実行単位の実行を、永久的にまたは一時的に停止させる。
「STOP定数」文は、ANSI'85標準では廃要素に分類されており、ANSI標準の次回の全面改訂の際に、削除される予定である。
この構文は、Micro Focus COBOL に組み込まれているすべての方言で全面的に使用できる。FLAGSTD指令を使用すると、この構文が使われているすべての箇所を見つけ出すことができる。
標準COBOL定義の一部を構成するにもかかわらず、X/OpenのCOBOL言語定義では、「STOP定数」の書き方は明示的に除外されている。したがって、X/OpenのCOBOLに準拠する原始プログラム内ではこの文を使用するべきではない。
符号付きの整数を使用できる。
必ずしも、一連の無条件文の最後にSTOP RUN文を書かなくてもよい。しかし、一連の文の中でSTOP RUN文よりも後ろにあるものは実行されない。
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を送出し側としそのシステム領域を受取り側として、MOVE文を実行したかのように動作する。
CALL 'CBL_THREAD_EXIT' USING BY VALUE ADDRESS OF スレッドパーム