UNDEFINEDFILE 入出力条件は、ファイルのオープンに失敗するたびに起こります。
複数のファイルを指定している OPEN ステートメントによってオープンしよう
とした場合、指定されているすべてのファイルのオープンが試みられたあとで、
この条件が起こります。
同じ OPEN ステートメント内の複数のファイルについて UNDEFINEDFILE 条件が起こった場合は、その OPEN ステートメントにファイル名が記述されている順に (右から左へ)、ON ユニットが実行されます。
データ伝送ステートメントで、ファイルが暗黙にオープンされるときにこの条
件が起こった場合は、ON ユニットから正常に戻ると、そのデータ伝送ステート
メントの残りの部分から処理が続けられます。
ON ユニット内でファイルがオープンされなかった場合は、そのステートメントは処理を続けられず、ERROR 条件が起こります。
UNDEFINEDFILE 条件は、属性の指定が矛盾している場合 (例えば、
DIRECT と PRINT をともに指定する) に起こるだけでなく、次の場合にも起こります。
- ブロック・サイズがレコード・サイズより小さいとき (ただし、スパン・レコードの場合は除く)。
- LINESIZE が許可されている最大値を超えているとき。
- INDEXED データ・セットの作成時に、KEYLENGTH がゼロであるか、または指定されていないとき。
- INDEXED データ・セットの場合に、KEYLENGTH + KEYLOC の値が
レコード長を超えるような KEYLOC オプションを指定したとき。
- STREAM データ・セットの場合に、V フォーマットの論理レコードの長さとして 18 バイト未満の値を指定したとき。
- FB フォーマット・レコードのブロック・サイズとして、レコード・サイズの整数倍でない値を指定したとき。
- VB フォーマット・レコードの場合に、指定した論理レコードの長さが、指定したブロック・サイズ
より少なくとも 4 バイト小さい値になっていないとき。
 >>-UNDEFINEDFILE--(file-reference)-----------------------------><
|
file-reference (ファイル参照) はスカラー参照でなければなりません。