COBOL2002 ユーザーズガイド


13.2 COBOL入出力サービスルーチンの説明

COBOL入出力サービスルーチンの一覧を,次に示します。

表13‒1 COBOL入出力サービスルーチンの一覧

サービスルーチンの名称

順ファイルの入出力

相対ファイルの入出力

機能

CBLOPEN

ファイルを開く

CBLCLOSE

ファイルを閉じる

CBLREAD

レコードの入力

CBLWRITE

レコードの出力

CBLREWRITE

レコードの書き換え

CBLUNLOCK

レコード施錠の解除

CBLDELETE

×

レコードの削除

CBLSTART

×

レコードの位置づけ

CBLWDISK

ファイルのディスクへの書き込み保証

(凡例)

○:使用できる

×:使用できない

各サービスルーチンの処理概要を,次に示します。

CBLOPENサービスルーチン
  • OPEN文のモード,ファイル属性に従い,ファイルを開く。

  • 書き込みモードの場合,ファイルを作成する。ファイルがすでにある場合は,既存のファイルに上書きする。

  • 追加書き込みモードの場合,ファイルの終端にファイルポインタを移動する。

  • ファイルの排他・共用のための施錠要求をする。

  • 内部的に必要な領域を確保する。

CBLCLOSEサービスルーチン
  • ファイルを閉じる。

  • レコードの施錠を解除する。

  • オープン時に確保した領域を解放する。

CBLREADサービスルーチン
  • レコードをバッファに読み込む。

  • 読み込んだレコードの長さを設定する。

  • レコード施錠の指定に従い,レコードを施錠する,または施錠を解除する。

  • 読み込んだレコードの相対レコード番号を設定する(相対ファイルだけ)。

CBLWRITEサービスルーチン
  • バッファのレコードを書き出す。

  • レコードの施錠を解除する。

  • 書き込んだレコードの相対番号を返す(相対ファイルだけ)。

CBLREWRITEサービスルーチン
  • 書き込みバッファのレコードとの書き換えをする。

  • 直前のREAD文をチェックする(順アクセスの場合だけ)。

  • 書き換えレコード長をチェックする。

  • レコードの施錠を解除する。

CBLUNLOCKサービスルーチン
  • すべてのレコード施錠を解除する。

CBLDELETEサービスルーチン
  • レコードを削除する。

  • 直前のREAD文をチェックする(順アクセスの場合だけ)。

  • レコードの施錠を解除する。

CBLSTARTサービスルーチン
  • キー番号と条件からレコードを位置づける。

  • ファイルのアクセスモードをチェックする(乱アクセスの場合はできない)。

CBLWDISKサービスルーチン
  • ファイルに出力したデータの,ディスクへの書き込み保証を適用する。

COBOL入出力サービスルーチンを呼び出すときの注意事項

COBOL2002のファイル入出力機能と同様に,オープン時のOPEN文のモードによって実行できないサービスルーチンがあります。