ファイル状態コード

各入出力操作の実行後にファイル状態として返される 2 バイトのコードを次に示します。

00
正常に完了したことを示します。
02
索引ファイルのみ。次のどちらかが該当しています。* READ 文では、現行キーのキー値は、参照用の現行キーにおける次のレコードの同一キーの値と同じです。* WRITE または REWRITE 文では、書き込まれたばかりのレコードが、少なくとも 1 つの重複可能な代替レコード キーに対して重複キー値を作成しています。
04
処理しているレコードの長さが、対象ファイルのファイル固定特性と合致していません。
05
OPEN 文の実行時に、参照したオプション ファイルが見つかりませんでした。
07
順ファイルのみ。REEL/UNIT 句のある OPEN あるいは CLOSE 文についての参照ファイルは非 reel/unit 媒体です。
10
次の論理レコードが存在しません。ファイルの終わりに達しました。
14
相対ファイルのみ。相対レコード番号における重要な桁数が、該当ファイルのために記述された相対キー データ項目よりも大きくなっています。
21
順ファイルのみ。順序誤りエラーを示します。連続するレコードのキー値に対して、キーを昇順に並べ替える要求が違反となりました。または、そのファイルに対する READ 文と次の REWRITE 文の正常な実行の間に、第一レコードのキー値が COBOL プログラムによって変更されています。
22
索引ファイルおよび相対ファイルのみ。重複キーの条件を示します。索引または相対ファイル内に重複キーを作成するレコード、または重複が許可されていない重複代替レコード キーを作成するレコードを格納しようとしています。
23
レコードが見つかりませんでした。キーによって識別されるレコードにアクセスしようとしましたが、ファイル内にそのレコードが存在しません。もしくは START または READ 操作が、存在しないオプションの入力ファイルに対して試行しています。
24
相対ファイルおよび索引ファイルのみ。境界違反を示します。外部で定義されたファイル境界を超える書き込みを実行しようとしたか、あるいは相対ファイルに順書き込み操作を試みたときに、相対レコード番号の上位桁の数値が、対象ファイルに定義されている相対キー データ項目のサイズを超えていました。
30
順ファイルの境界違反、入出力エラー (データ チェックパリティ エラーなど)、または送信エラーによって、入出力操作に失敗しました。
34
境界違反によって入出力文が失敗しました。これは、外部的に定義された順ファイルの境界線を越えて、書き込みが試行されたことを示しています。
35
I-O、INPUT、EXTEND のいずれかの指定を含む OPEN 操作を、存在しない OPTIONAL 以外のファイルに実行しようとしました。
37
OPEN 操作を試みたファイルが、OPEN 文で指定したオープン モードをサポートしていません。
38
ロック モードで閉じられたファイルの OPEN 操作を試みました。
39
ファイル固定特性と、プログラム内で対象ファイルに指定した特性が合致していません。
41
OPEN 操作が、既に開いているファイルに対して試行されました。
42
CLOSE 操作が、既に閉じているファイルに対して試行されました。
43
順呼び出しモードのファイルで発生します。DELETE または REWRITE 文の実行前に、ファイルに対して実行された最後の I/O 文が、READ 文ではありませんでした。
44
境界違反が発生しました。考えられる違反は次のとおりです。
  • 関連ファイルの RECORD IS VARYING 句によって許可されたレコードの最大よりも大きなレコード、または最小よりも小さなレコードの WRITE または REWRITE が試行されました。
  • ファイル内のレコードに REWRITE 操作を試みましたが、書き込むレコードと既存の対象レコードのサイズが一致しません。
46
INPUT モードまたは I-O モードで開いたファイルに順読み込み操作を試みましたが、有効な次のレコードが見つかりませんでした。
47
INPUT および I-O 以外のモードで開いたファイルに、READ 操作または START 操作を試みました。
48
OUTPUT、I-O、および EXTEND 以外のモードで開いたファイル、または順呼び出しの I-O モードで開いたファイルに WRITE 操作を実行しようとしました。
49
I-O 以外のモードで開いたファイルに DELETE 操作または REWRITE 操作を実行しようとしました。
51
指定した C-ISAM 形式の索引ファイルで索引が見つかりませんでした。
52
指定した C-ISAM 形式の索引ファイルに既に存在する索引を追加しようとしました。
53
指定した C-ISAM 形式の索引ファイルの主索引を削除しようとしました。
54
指定した C-ISAM 形式の索引ファイルが分散環境での共有用に開かれています。