バイトストリームファイルルーチン

バイトストリームファイルルーチンを使用することにより、COBOLレコード定義を添付することなく、データファイルの読込みと書込みを行なうことができる。

 CBL_CLOSE_FILE バイトストリームファイルを閉じる
 CBL_CREATE_FILE バイトストリームファイルを作成する
 CBL_FLUSH_FILE バイトストリームファイルのバッファをディスクにフラッシュする
 CBL_FREE_RECORD_LOCK ファイルのレコード錠を解錠する
 CBL_GET_RECORD_LOCK ファイルのレコード錠を取得する
 CBL_OPEN_FILE バイトストリームファイルを開く
 CBL_READ_FILE バイトストリームファイルを読み込む
 CBL_TEST_RECORD_LOCK ファイルのレコード錠を取得する
 CBL_WRITE_FILE バイトストリームファイルを書き込む

ルーチンの呼出しに成功すると、RETURN-CODEレジスタが0に設定される。呼出しがうまくいかない場合は、RETUNE-CODEレジスタにはファイルステータス値が含まれるため、呼出しに失敗したことがわかる。本ファイルステータス値は必ず標準ANSI'74ファイルステータス値が表示される。エラー時にANSI'74ファイルステータスが定義されない場合は、拡張ファイルステータスが返される(9/nnn:nnnは実行時システムエラー番号)。

本ルーチンを起動させるには、RETURNING句のないRETURN-CODEを必ず使用すること。バイトストリームを呼び出した時にRETURN-CODEが0以外になった場合は、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バイト1には"9"が、fsバイト2には実行時システムエラー番号が表示される。

関連項目