COBOL2002 言語 拡張仕様編


3.2.8 WRITE文(ファイル共用機能)

一般規則
  1. 二つまたはそれ以上の実行単位でEXTENDモードで開かれ,共用している相対ファイルに対しレコードを追加するとき,追加するレコードの相対キーの値は必ずしも連続していないが,昇順になっている。

  2. 二つまたはそれ以上の実行単位でEXTENDモードで開かれ,共用している索引ファイルに対しレコードを追加するとき,ALTERNATE RECORD KEY句にDUPLICATES指定があれば追加するレコードの副レコードキーの重複を許す。DUPLICATES指定がなければ許さない。

  3. LOCK MODE指定がAUTOMATICのとき,WRITE文が成功すると存在しているレコード施錠は解放される。

(備考)

主レコードキーが一意で昇順のときでも,二つまたはそれ以上の実行単位でEXTENDモードで開かれ共用されている索引ファイルに対し,WRITE文を実行すると,「不当キー,順序エラー」を返し,失敗となる可能性がある。したがって,利用者は,索引ファイルをEXTENDモードで開くとき,排他を指定するべきである。

二つまたはそれ以上の実行単位で追加するレコードの相対キーは,必ずしも追加された位置とは同一でない可能性がある。したがって,利用者は相対ファイルをEXTENDモードで開く場合,排他を指定するべきである。

順ファイルをEXTENDモードで開き,二つまたはそれ以上の実行単位でレコードを追加するとき,実際の書き出し位置はファイルシステムに依存している。

したがって,利用者は順ファイルをEXTENDモードで開く場合,排他を指定するべきである。

【標準仕様との関連】

COBOL2002 言語 標準仕様編」 「10.8.55 WRITE文