13.2 COBOL入出力サービスルーチンの説明
COBOL入出力サービスルーチンの一覧を,次に示します。
サービスルーチンの名称 |
順ファイルの入出力 |
相対ファイルの入出力 |
機能 |
---|---|---|---|
○ |
ファイルを開く |
||
○ |
ファイルを閉じる |
||
○ |
レコードの入力 |
||
○ |
レコードの出力 |
||
○ |
レコードの書き換え |
||
○ |
レコード施錠の解除 |
||
× |
○ |
レコードの削除 |
|
× |
○ |
レコードの位置づけ |
|
○ |
ファイルのディスクへの書き込み保証 |
各サービスルーチンの処理概要を,次に示します。
- CBLOPENサービスルーチン
-
-
OPEN文のモード,ファイル属性に従い,ファイルを開く。
-
書き込みモードの場合,ファイルを作成する。ファイルがすでにある場合は,既存のファイルに上書きする。
-
追加書き込みモードの場合,ファイルの終端にファイルポインタを移動する。
-
ファイルの排他・共用のための施錠要求をする。
-
内部的に必要な領域を確保する。
-
- CBLCLOSEサービスルーチン
-
-
ファイルを閉じる。
-
レコードの施錠を解除する。
-
オープン時に確保した領域を解放する。
-
- CBLREADサービスルーチン
-
-
レコードをバッファに読み込む。
-
読み込んだレコードの長さを設定する。
-
レコード施錠の指定に従い,レコードを施錠する,または施錠を解除する。
-
読み込んだレコードの相対レコード番号を設定する(相対ファイルだけ)。
-
- CBLWRITEサービスルーチン
-
-
バッファのレコードを書き出す。
-
レコードの施錠を解除する。
-
書き込んだレコードの相対番号を返す(相対ファイルだけ)。
-
- CBLREWRITEサービスルーチン
-
-
書き込みバッファのレコードとの書き換えをする。
-
直前のREAD文をチェックする(順アクセスの場合だけ)。
-
書き換えレコード長をチェックする。
-
レコードの施錠を解除する。
-
- CBLUNLOCKサービスルーチン
-
-
すべてのレコード施錠を解除する。
-
- CBLDELETEサービスルーチン
-
-
レコードを削除する。
-
直前のREAD文をチェックする(順アクセスの場合だけ)。
-
レコードの施錠を解除する。
-
- CBLSTARTサービスルーチン
-
-
キー番号と条件からレコードを位置づける。
-
ファイルのアクセスモードをチェックする(乱アクセスの場合はできない)。
-
- CBLWDISKサービスルーチン
-
-
ファイルに出力したデータの,ディスクへの書き込み保証を適用する。
-
- COBOL入出力サービスルーチンを呼び出すときの注意事項
-
COBOL2002のファイル入出力機能と同様に,オープン時のOPEN文のモードによって実行できないサービスルーチンがあります。