ファイル状況キーの値および意味

エラー処理については、 「IBM® Rational® Development Studio for i: ILE COBOL プログラマーの手引き」のセクション『"エラーおよび例外処理 "』を参照してください。

表 1. ファイル状況キーの値
高位桁 意味 低位桁 意味
0 正常終了 0 これ以上情報はありません。
2 READ ステートメントが正常に実行されましたが、重複キーが検出されました。 つまり、参照の現行キーのキー値が次のレコードのキー値と同じです。 ファイル状況 02 を使用可能にする方法については、READ ステートメントの注意事項を参照してください。
4 関連するファイル名の RECORD IS VARYING 文節によって認められている最大レコードよりも大きいか、 または最小レコードよりも小さいレコードを読み取る試みがありました。
5 OPEN ステートメントが正常に実行されましたが、 参照されたオプショナル・ファイルが OPEN ステートメントの実行時に存在しませんでした。 オープン・モードが I-O または EXTEND の場合は、ファイルが作成されています。CPF4101、CPF4102、CPF4103、CPF4207、CPF9812
7 NO REWIND、 REEL/UNIT、または FOR REMOVAL 句が指定された CLOSE ステートメント、 または NO REWIND 句が指定された OPEN ステートメントの場合に、 参照されたファイルが非リール/装置メディア上にあります。
  ジョブが CL コマンド ENDJOB、PWRDWNSYS、 ENDSYS、または ENDSBS CPF4741 によって制御付きで終了されました。 入力受け入れ操作、つまり送信勧誘されたプログラム装置からの READ 中に、 エスケープ・メッセージが送信されました (複数装置リストだけ)。
M 最後のレコードがサブファイルに書き込まれました。 CPF5003
P ファイルが正常にオープンされましたが、ヌル可能フィールドを含んでおり、ASSIGN 文節が ALWNULL および装置タイプ DATABASE を指定していません。
Q 順次処理相対ファイルに対する CLOSE ステートメントが正常に実行されました。 ファイルは *INZDLT および *NOMAX オプションを指定して作成されたため、 それの境界は書き込まれたレコードの数に設定されています。
1 AT END 条件 0 順次 READ ステートメントが試みられましたが、ファイルの終わりに達しているため、 ファイル内に次の論理レコードが存在しませんでした (未処理の送信勧誘はありません)。 CPF4740、CPF5001、CPF5025
2
IBM Extension

IBM Extension 変更サブファイル・レコードが見つかりません。 CPF5037 End of IBM Extension

End of IBM Extension
4 相対ファイルに対して順次 READ ステートメントが試みられましたが、 相対レコード番号内の有効数字の数が、そのファイルについて記述された相対キー・データ項目のサイズを超えていました。
2 無効キー 1 順次アクセスの索引付きファイルにシーケンス・エラーが存在します。 ある READ ステートメントが正常に実行されてから、そのファイルに対する次の REWRITE ステートメントが実行されるまでの間に、 基本レコード・キー値がプログラムによって変更されているか、 あるいは連続するレコード・キー値の昇順要件に対する違反がありました。

あるいは、重複キーを持つランダムまたは動的アクセス・ファイルに対する正常な READ 操作と後続の REWRITE または DELETE 操作との間に、 レコード・キー値がプログラムによって変更されています。

2 相対ファイルの中で重複キーを作成することになる、レコードの書き込みが試みられました。 あるいは、索引付きファイルの中で重複基本レコード・キーを作成することになる、 レコードの書き込みまたは再書き込みが試みられました。 CPF4759、CPF5008、CPF5026、CPF5034、 CPF5084、CPF5085
3 ファイル内に存在しないレコードにランダムにアクセスする試みがありました。 CPF5001、CPF5006、 CPF5013、CPF5020、CPF5025
4 相対または索引付きファイルの外部定義境界を超えて書き込む試みがありました。 あるいは、相対ファイルに対して順次 WRITE ステートメントが試みられましたが、 相対レコード番号内の有効数字の数が、 そのファイルについて記述された相対レコード・キー・データ項目のサイズを超えていました。 CPF5006、CPF5018、 CPF5021、CPF5043、CPF5272
3 永続エラー条件 0 これ以上情報はありません。 CPF4192、CPF5101、 CPF5102、CPF5129、CPF5030、CPF5143
4 境界違反のために永続エラーが存在します。 順次ファイルの外部定義境界を超えて書き込む試みがありました。 CPF5116、CPF5018、CPF5272 (編成が順次の場合)
5 INPUT、I-O、または EXTEND 句を指定した OPEN ステートメントが、 存在しない非オプショナル・ファイルに対して試みられました。 CPF4101、CPF4102、CPF4103、CPF4207、CPF9812
7 ファイルに対して OPEN ステートメントが試みられましたが、 その OPEN ステートメントで指定されたオープン・モードはそのファイルでサポートされません。 次に示す違反の可能性があります。
  • EXTEND または OUTPUT 句が指定されたが、 ファイルは書き込み操作をサポートしない。
  • I-O 句が指定されたが、ファイルは許可された入力および出力操作をサポートしない。
  • INPUT 句が指定されたが、ファイルは読み取り操作をサポートしない。
CPF4194
8 以前にロック付きでクローズされたファイルに対して OPEN ステートメントが試みられました。
9 固定ファイル属性と、プログラム内でそのファイルについて指定された属性との間に矛盾が検出されたため、OPEN ステートメントが失敗しました。 考えられる原因は次のとおりです。
  • プログラムによって指定された最小レコード長が、 そのファイルに必要な最小レコード長よりも小さいものでした。 レベル検査エラー。 CPF4131
  • ファイルが、ALTERNATE RECORD KEY 文節を指定し、次 のエラーのうち 1 つが検出されました。
    1. 代替レコード・キーとして使用されるデータベース・ファイルの フィールド (複数のフィールドの場合もあり) が無効です。
    2. データベース・ファイルが、分散データ管理機能 (DDM) ファイルで す。
    3. データベース・ファイルは、そのオープン・データ・パスが共有さ れることを許可しました。
    4. プログラムの各キーに対して指定された DUPLICATES 文節が、デ ータベース・ファイルの重複属性とは一致しませんでした。 これには、基本キーも含まれます。
4 論理エラー条件 1 オープン・モードのファイルに対して OPEN ステートメントが試みられました。
2 すでにクローズされたファイルに対して CLOSE ステートメントが試みられました。
3 順次アクセス・モードの順次ファイルの場合、REWRITE ステートメントの前にファイルに対して実行された最後の入出力ステートメントが、 正常に実行された READ ステートメントではありませんでした。 順次アクセス・モードの相対および索引付きファイルの場合、 DELETE または REWRITE ステートメントの前にファイルに対して実行された最後の入出力ステートメントが、 正常に実行された READ ステートメントではありませんでした。
4 レコードのファイルへの再書き込みが試みられましたが、 そのレコードが、置き換えられるレコードと同じサイズではなかったため、 境界違反が存在します。 関連するファイル名の RECORD IS VARYING 文節によって認められている最大レコードよりも大きいか、 または最小レコードよりも小さいレコードを書き込みまたは再書き込みする試みがありました。
6 入力または入出力モードでオープンされたファイルに対して順次 READ、READ NEXT、または READ PRIOR ステートメントが試みられましたが、 前の START ステートメントが失敗したか、あるいは前の READ ステートメントが失敗または AT END 条件を起こしたため、 有効な次のレコードが確立されていません。 CPF5001、 CPF5025、CPF5183
7 入力または入出力モードでオープンされていないファイルに対して READ または START ステートメントの実行が試みられました。
8 出力または拡張モードでオープンされていない順次ファイルに対して WRITE ステートメントの実行が試みられました。 入出力、出力、拡張モードでオープンされていない索引付きまたは相対ファイルに対して WRITE ステートメントの実行が試みられました。
9 入出力モードでオープンされていないファイルに対して DELETE または REWRITE ステートメントの実行が試みられました。
9 その他のエラー 0 その他のエラー
  • ファイルが見つからない
  • メンバーが見つからない
  • ファイルが、ALTERNATE RECORD KEY 文節を指定し、次 のエラーのうち 1 つが検出されました。
    1. 代替レコード・キー・オープン ID と既存のものとの間で、矛盾が 検出され ました。
    2. 永続索引が検出されず、CRTARKIDX オプションが指定されていませんでした。
    3. 代替レコード・キーを形成するために使用される隣接する DDS フィール ドの最大数 (156) を超過しました。
  • 予期しない入出力例外
ファイル (OPEN OUTPUT の非オプショナル・ファイル) について USE が適用可能な場合は、CPF4101、 CPF4102、CPF4103。一般に、次の例外がモニターされます。
  • CPF4101 ~ CPF4399
  • CPF4501 ~ CPF4699
  • CPF4701 ~ CPF4899
  • CPF5001 ~ CPF5099
  • CPF5101 ~ CPF5399
  • CPF5501 ~ CPF5699
これらの例外が見つかると、FILE STATUS が 90 に設定されます。
1 未定義または無許可のアクセス・タイプ。CPF2207、 CPF4104、CPF4236、CPF4238、CPF5057、CPF5109、 CPF5134、CPF5279
2 論理エラー
  • ファイルがロックされている
  • ファイルがすでにオープンされている
  • クローズされたファイルに対する入出力
  • ファイルの終わりの後の READ
  • オープンされていないファイルに対する CLOSE
CPF4106、CPF4132、CPF4740、CPF5067、CPF5070、 CPF5119、CPF5145、CPF5146、CPF5149、CPF5176、 CPF5209
4 順次アクセスでなく、最後の操作が成功した READ でなかった場合に、 ファイル位置標識のない REWRITE/DELETE が試みられました。
9 その他のエラー 5 無効または不完全なファイル情報 (1) COBOL プログラム内に重複キーが指定されています。 ファイルは正常にオープンされていますが、固有のキーを持つ索引付きデータベース・ファイルが作成されました。 または (2) COBOL プログラム内に重複キーが指定されておらず、 重複キーを認めるデータベース・ファイルが作成されました。
9 未定義 (表示または ICF)。
C 獲得が失敗しました。セッションは開始されませんでした。
D レコードがロックされています。CPF5027、CPF5032
G 装置またはセッションに対する出力例外。
H ACQUIRE 操作が失敗しました。 リソースが別のプログラムに所有されているか、または使用不可でした。 (9H は、ACQUIRE 操作によって、90 についてモニターされるオペレーティング・システムの例外、または 9N が発生した場合の結果です。)
I WRITE 操作が失敗しました。 CPF4702、CPF4737、 CPF5052、CPF5076
K 無効な形式名。形式が見つかりません。CPF5022、 CPF5023、CPF5053、CPF5054、CPF5121、CPF5152、 CPF5153、CPF5186、CPF5187
9 その他のエラー N

変更の始まり一時的な (回復の可能性がある) ハードウェア入出力エラー。 (通信セッション中のエラー。) CPF4145, CPF4146, CPF4193, CPF4229, CPF4291, CPF4299, CPF4354, CPF4526, CPF4542, CPF4577, CPF4592, CPF4602, CPF4603, CPF4611, CPF4612, CPF4616, CPF4617, CPF4622, CPF4623, CPF4624, CPF4625, CPF4628, CPF4629, CPF4630, CPF4631, CPF4632, CPF4705, CPF5013, CPF5107, CPF5128, CPF5166, CPF5198, CPF5280, CPF5282, CPF5287, CPF5293, CPF5352, CPF5353, CPF5517, CPF5524, CPF5529, CPF5530, CPF5532, CPF5533, CPF5257.変更の終わり

P ファイルをコミットメント制御下に置くことができないために、OPEN が失敗しました。 CPF4293、CPF4326、 CPF4327、CPF4328、CPF4329
Q ランダムまたは動的アクセスの相対ファイルに対する OPEN ステートメントが、 ファイルのサイズが *NOMAX であるために失敗しました。 ファイルのサイズを必要なサイズに変更し (例えば、CHGPF を使用して)、プログラムを再実行依頼してください。
R 参照保全エラー。CPF502D、CPF502E、CPF503A
S 最後の READ 操作で NO LOCK が指定されたため、REWRITE または DELETE が失敗しました。
T トリガー・プログラム例外。CPF502B
U READ NEXT からのブロックにレコードが残っているために READ PRIOR が完了できないか、またはその逆です。 CPF5184

ファイルをいったんクローズしてから、もう一度オープンしてください。

W 制約の例外をチェックしてください。CPF502F
X マルチスレッド・ジョブではそのファイル・タイプをサポートしていないため、OPEN が失敗しました。 ファイル・タイプを DATABASE、PRINTER (スプール・ファイルのみ) に変更するか、 タイプ *IP の DDM ファイルに変更して、プログラムを再実行依頼してください。CPF4380
Y ファイルが置かれている補助ストレージ・プール (ASP) 装置が使用できないため、OPEN が失敗しました。CPF980B.