次のルーチンをご覧ください。
これらのルーチンが失敗した場合は、RETURN-CODE レジスタに失敗を示すファイル状態値が含まれます。このファイル状態は、常に標準の ANSI'74 ファイル状態値です。エラーに対応する ANSI'74 ファイル状態が定義されていない場合は、拡張ファイル状態が返されます (9/nnn。この nnn はランタイム システム エラー番号です)。
そのため、RETURNING 句ではなく RETURN-CODE 句を使用する必要があります。上記のルーチンのいずれかを呼び出した後に RETURN-CODE がゼロ以外である場合は、ファイル状態として処理する必要があります。たとえば、次のようになります。
01 file-status pic xx comp-x. 01 redefines file-status. 03 fs-byte-1 pic x. 03 fs-byte-2 cblt-x1-compx . . . call "CBL_xxx_xxx" using parameters if return-code not = 0 move return-code to file-status . . .
この時点で fs-byte-1 には 9 が含まれ、fs-byte-2 にはランタイム システム エラー番号が含まれます。