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文のモードによって実行できないサービスルーチンがあります。