バイトストリーム ファイル ルーチンを使用すると、データ ファイルの読み取りや書き込みを COBOL レコード定義に準拠せずに行うことができます。
これらのすべてのルーチンについて、ルーチンが成功した場合は、RETURN-CODE レジスタがゼロに設定されます。これらのルーチンが失敗した場合は、RETURN-CODE レジスタに失敗を示すファイル状態値が含まれます。このファイル状態は、常に標準の ANSI'74 ファイル状態値です。エラーに対応する ANSI'74 ファイル状態が定義されていない場合は、拡張ファイル状態が返されます (9/nnn。この nnn はランタイム システム エラー番号です)。
これが適切に機能するようにするには、RETURN-CODE を使用する必要があり、RETURNING 句を含めてはなりません。バイトストリーム ルーチンを呼び出した後に RETURN-CODE がゼロ以外である場合は、PIC XX COMP-X データ項目に移動してファイル状態として処理します。次に例を示します。
01 file-stat pic xx comp-x. 01 redefines file-stat. 03 fs-byte-1 pic x. 03 fs-byte-2 pic x comp-x. . . . call "CBL_xxx_FILE" using <parameters> if return-code not = 0 move return-code to file-stat . . .
この時点で、fs-byte-1 には 9 が含まれ、fs-byte-2 にはランタイム システム エラー番号が含まれます。