ファイルを開こうとして失敗したことを示す入出力条件です。
結果
指定されたファイルはアプリケーション プログラムに対して未定義になります。
発生
ファイルを開こうとして失敗した場合に発生します。
注
次の場合に、ファイルを開こうとして失敗する可能性があります。
- 属性が競合している (DIRECT と PRINT など)
- ブロック サイズがレコード サイズよりも小さい (スパンド レコードを除く)
- LINESIZE が許容される最大値を超えている
- INDEXED データ セットの作成で KEYLENGTH がゼロであるか指定されていない
- INDEXED データ セットに対して KEYLOC オプションが指定されているが、KEYLENGTH + KEYLOC の値がレコード長を超えている
- STREAM データ セットに対して 18 バイト未満の V 形式の論理レコード長が指定されている
- FB 形式のレコードに対してレコード サイズの整数倍ではないブロック サイズが指定されている
- VB 形式のレコードに対して指定のブロック サイズよりも 4 バイト以上小さい長さ以外の論理レコード長が指定されている
複数のファイルを指定する OPEN 文を実行しようとした場合、指定されたすべてのファイルを開こうとした後に UNDEFINEDFILE が発生します。
同じ OPEN 文の複数のファイルに対して UNDEFINEDFILE が発生した場合は、その OPEN 文でのファイル名の出現順序 (通常は左から右) に従って ON-unit が実行されます。
データ送信文での暗黙的なファイル オープンによって発生した場合、ON-unit からの通常の復帰時にデータ送信文の残りの部分について処理が続行されます。ON-unit でファイルが開かれていない場合、文は続行できず、ERROR 条件が発生します。
構文
UNDEFINEDFILE file-reference
パラメーター
- file-reference
- スカラーのファイル参照。
その他の情報
- 省略形
- UNDF
- 条件コード
- 80 から 89、91 から 95
- 暗黙の処理
- メッセージを出力し、ERROR 条件を発生させます。
- 通常の復帰
- 最後の ON-unit が正常に完了すると、この条件を発生させた OPEN 文の直後の文に制御が移ります。