COBOL2002 使用の手引 手引編


7.2.1 ファイルレベルのファイル共用

ファイルは,常に次の活性状態か不活性状態のどちらかの状態にあります。

活性状態のファイルは,ほかの実行単位からOUTPUTモードで開けません。存在しないファイルは,OUTPUTモードで自動的に生成されますが,このファイルはほかのCOBOLプログラムとは共用できません。

活性状態のファイルのモードには,次に示す排他モードと共用モードの二つがあります。

〈この項の構成〉

(1) 排他モード

排他モードのファイルは,一つの実行単位に対してだけ開かれています。ほかの実行単位がこのファイルを使用しようとしても,ファイル施錠のエラーが返り,使用が拒否されます。

排他モードでは,ファイルが一つの実行単位に対して施錠され,その実行単位だけがファイルを使用できます。この実行単位がファイルを閉じるとファイルの施錠は解除されます。

順編成ファイル,相対編成ファイルおよびテキスト編成ファイルの場合,排他モードで開くときは,INPUTモードであってもファイルに対して書き込み権限が必要です。

(2) 共用モード

共用モードのファイルは,複数のプログラムから使用できます。各実行単位がファイルを使うとき,一つまたは複数のレコード単位に施錠すれば,データを保護できます。

次に,ファイルレベルのファイル共用の例を示します。

[図データ]

  1. プログラムXが,排他モードでファイル'MASTER1'を開きます。

  2. プログラムYが'MASTER1'を開こうとしますが,すでにプログラムXが排他モードで開いているため,OPEN文は失敗します。このとき,入出力状態には93が返されます。