OPEN 文の REVERSED 指定は、ANSI'85 規格では廃要素に分類されており、ANSI 規格の次回の全面改訂の際に削除される予定である。
この構文は、この COBOL 実装のすべての方言で全面的にサポートされている。FLAGSTD コンパイラ指令を使用すると、この構文を使用するすべての箇所を検出できる。
OPEN 文の REVERSED 指定は、標準 COBOL 定義の一部であるが、X/Open の COBOL 言語定義では明示的に除外されている。したがって、X/Open の COBOL 準拠のソース プログラム内では使用するべきではない。
OPEN 文は、同期データ項目用にシステム リソースを割り当て、そのデータ項目を初期化する。
必要語の INPUT、OUTPUT、I-O、および EXTEND は、ファイル結合子を介してファイルに対する入出力操作の種類を指定し、オープン モードを確立する。後出の表「文およびオープン モードの使用可能な組み合わせ」を参照。
ファイルが物理的に存在しており、ファイル処理システムに認識されていれば、そのファイルは利用可能である。表 1「(現在開いていない) 利用可能なファイルおよび利用不可能なファイルを開く処理」に、現在開いていない利用可能なファイルおよび利用不可能なファイルを開いた際の結果を示す。表 2「現在は他のファイル結合子が開いている利用可能な共有ファイルを開く処理」に、現在は他のファイル結合子が開いている利用可能なファイルおよび利用不可能なファイルを開いた際の結果を示す。
オープン モード | ファイルが利用可能な場合 | ファイルが利用不可能な場合 |
---|---|---|
INPUT | 通常どおり開く | ファイルを開けない |
INPUT (不定ファイル) | 通常どおり開く | 通常どおり開く。最初の読み取り時に、ファイル終了条件または無効キー条件が発生する |
I-O | 通常どおり開く | ファイルを開けない |
I-O (不定ファイル) | 通常どおり開く | 開く処理によりファイルが作成される |
OUTPUT | 通常どおり開く。ファイルにはレコードは含まれない | 開く処理によりファイルが作成される |
EXTEND | 通常どおり開く | ファイルを開けない |
EXTEND (不定ファイル) | 通常どおり開く | 開く処理によりファイルが作成される |
開く要求 | 最も厳格な既存の共有モードおよびオープン モード | |||||
---|---|---|---|---|---|---|
他と共有しない | 読み取りのみで共有 | 他のすべてと共有 | ||||
拡張/入出力/入力/出力 | 拡張/入出力/出力 | 入力 | 拡張/入出力/出力 | 入力 | ||
SHARING WITH NO OTHER | EXTEND/ I-O/ INPUT/ OUTPUT/ | 開けない | 開けない | 開けない | 開けない | 開けない |
SHARING WITH READ ONLY | EXTEND/ I-O | 開けない | 開けない | 開けない | 開けない | 通常どおり開く |
INPUT | 開けない | 開けない | 通常どおり開く | 開けない | 通常どおり開く | |
OUTPUT | 開けない | 開けない | 開けない | 開けない | 開けない | |
SHARING WITH ALL OTHER | EXTEND/ I-O | 開けない | 開けない | 開けない | 通常どおり開く | 通常どおり開く |
INPUT | 開けない | 通常どおり開く | 通常どおり開く | 通常どおり開く | 通常どおり開く | |
OUTPUT | 開けない | 開けない | 開けない | 開けない | 開けない |
ファイルの呼び出し法 | オープン モード | ||||
---|---|---|---|---|---|
文 | 入力 | 出力 | 入出力 | 拡張 | |
順呼び出し | READ | X | X | ||
WRITE | X | X | |||
REWRITE | X | ||||
乱呼び出し (非順編成ファイル) | READ | X | X | ||
WRITE | X | X | |||
REWRITE | X | ||||
START | |||||
DELETE | X | ||||
動的呼び出し (非順編成ファイル) | READ | X | X | ||
WRITE | X | X | |||
REWRITE | X | ||||
START | X | X | |||
DELETE | X |
または行順編成ファイル
ただし、ORGANIZATION LINE SEQUENTIAL を指定したファイルは除く。
ファイルが存在しない場合は、そのファイルが作成され、空のファイルとして入力に使用される。
ただし、SELECT 文で NOT OPTIONAL を指定した場合は除く。
新規作成したファイルから読み取りを行うと、エラーが発生する。