COBOL では、他のプログラムとの間で戻りコードの受け渡しを行うことができます。
制約事項: 次の説明はネイティブ COBOL のみに該当します。
大部分の言語では、戻りコードを呼び出し元のプログラムに返すことができます。COBOL では、次のようにして戻りコードの受渡しができます。
- 非 COBOL プログラムからの戻りコードを受け取るには、呼び出し元の COBOL プログラムの CALL 文で RETURNING 句を使用します。
- COBOL プログラムで戻りコードを返すには、EXIT PROGRAM、GOBACK、または STOP RUN 文で RETURNING 句を使用します。
RETURNING 句を使用して、ユーザー自身で戻りコードの形式を定義できるので、どのようなサイズの戻りコードでも処理可能です。
IF ERRORLEVEL 構文を使用して戻り値を確認する場合は、オペレーティング システムで戻り値が 2 バイトに制限されるので、注意が必要です。
COBOL および Microsoft C で戻りコードを返すために使用するレジスタは、次のとおりです。
32 ビット Intel 戻りコード サイズ |
レジスタ |
1 バイト |
AL |
2 バイト |
AX |
4 バイト |
EAX |
X64 戻りコードのサイズ |
レジスタ |
1、2、および 4 バイト |
X86 |
8 バイト |
RAX |
IA64 戻りコードのサイズ |
レジスタ |
あらゆるサイズ |
R8 |