| ランタイムシステムのエラーメッセージ | SAA、OSVS および VSC2 実装上の制限 | ![]() |
FILE STATUS 句で定義される各ファイルでは、I/O 操作のたびに状態コードが返されます。 この章では、それらのコードを説明します。 ANSI'85 操作にロードされた標準システムを使用している場合は、ANSI'85 コードがデフォルトで作成されます。 ANSI'74 ファイル状態コードを作成するには、実行時に ‐A スイッチを設定します。
または、NOANS85 指令によってプログラムをコンパイルします。 コンパイル時に NOANS85 を指定しないと、ANSI'85 ファイル状態コードが生成されます。
ANSI'85 構文を使用する場合で ANSI'74 ファイル状態コードを持っている場合は、NOANS85 指令を ANS85"SYNTAX" と置換するか、または NOANS85 指令を削除して実行時に -A スイッチを使用します。
上記のファイル状態の規則に加えて、さらに詳細な拡張ファイル状態コードを生成することができます。 拡張ファイル状態コードは、次の書式で構成されています。
9/nnn
ここで nnn は、実行時のエラー番号に相当する 2 進数 (COMP‐X) です。
実行時エラーについては、『ランタイムシステムのエラーメッセージ』の章で説明します。
たとえば、ファイルをディスクに書き込んでいるときにディスクの空き領域が足りなくなった場合には、ANSI'74 ファイル状態は「30」となります。これは、エラーメッセージ「永続的エラー。これ以外の情報はありません」を意味します。 このエラーメッセージは大変一般的です。「永続的エラー」とは、ディスクに障害が発生したか、またはディスクドライブが開いていることを意味します。 そこで、一般的なファイル状態を返すかわりに、この COBOL システムでは 9/007 の拡張ファイル状態を返します。
ANSI'74 または ANSI'85 ファイル状態コードの使用時には、拡張ファイル状態のほうが通常返されるものよりも明確である場合は、ランタイムシステムによって拡張状態コードが返されます。
特に指定されていない限り、それぞれのファイル状態コードは、どのアクセスモードにおけるどのファイル編成への操作についても受け取ることができます。
| '74 |
'85 |
意味 |
|
|---|---|---|---|
| 00 | 00 | 正常終了 | |
| 02 | 02 |
索引ファイルのみ。 |
|
|
|||
|
|||
| 00 | 04 | 処理中のレコードのレコード長は、該当ファイルの固定ファイル属性に適合しません。 | |
| 00 | 05 | 参照されるオプションファイルは、OPEN 文が実行される時点では存在しません。 | |
| 00 | 07 | 順ファイルのみ。 REEL/UNIT 句のある OPEN あるいは CLOSE 文についての参照ファイルは非 reel/unit 媒体です。 | |
| 10 | 10 | 次の論理レコードは存在しません。 ファイルの終わりに達しました。 |
|
| 14 | 相対ファイルのみ。 相対レコード番号における重要な桁数が、該当ファイルのために記述された相対キーデータ項目よりも大きくなっています。 |
||
| 21 | 21 | 順呼び出しのファイルのみ。 順序誤りエラーを示します。 連続するレコードのキー値に対して、キーを昇順に並べ替える要求が違反となりました。または、そのファイルに対する READ 文と次の REWRITE 文の正常な実行の間に、第一レコードのキー値が COBOL プログラムによって変更されています。 |
|
| 22 | 22 | 索引ファイルと相対ファイルのみ。 重複キーの条件を示します。 索引または相対ファイル内に重複キーを作成するレコード、または重複が許可されていない重複代替レコードキーを作成するレコードを格納しようとしています。 |
|
| 23 | 23 | レコードがまったく検出されなかったことを示します。 キーによって識別されるレコードにアクセスしようとしましたが、ファイル内にそのレコードが存在しません。 もしくは START または READ 操作が、存在しないオプションの入力ファイルに対して試行しています。 |
|
| 24 | 24 | 相対ファイルと索引ファイルのみ。 次の状態から起こる境界違反を示しています。 |
|
| 外部的に定義されたファイルの境界線を越えて、書き込みが試行されています。 | |||
| 順 WRITE 操作が相対ファイルに対して試行されましたが、相対レコード番号における重要な桁数は、該当ファイルのために記述された相対キーデータ項目よりも大きくなっています。 | |||
| 30 | 順ファイルに対する境界違反の結果、またはデータチェックでのパリティエラーや伝送エラーなどの I/O エラーの結果、I/O 文の実行が異常終了しました。 | ||
| 34 | 境界違反のため、I/O 文が異常終了しました。 これは、外部的に定義された順ファイルの境界線を越えて、書き込みが試行されたことを示しています。 |
||
| 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 モードで開いているファイルに対して、順 READ 操作が試行されましたが、有効な次のレコードが確立されませんでした。 | ||
| 47 | INPUT モードまたは I‐O モードで開いていないファイルに対して、READ または START 操作が試行されました。 | ||
| 48 | OUTPUT モード、I‐O モード、または EXTEND モードで開いていないファイル、または順呼び出しモードの I‐O モードで開いているファイルに対して、WRITE 操作が試行されました。 | ||
| 49 | I‐O モードで開いていないファイルに対して、DELETE または REWRITE 操作が試行されました。 | ||
| 9/nnn | 拡張ファイル状態コード | ||
| RT001 | バッファスペースが不足しています。 OS/2 の場合は、SWAPPATH が正しく設定されていないか、SWPPATH ドライブの空き領域が不足していることを示します。 また、メモリ不足の状態を示しています。 | ||
| RT002 | アクセスしてもファイルが開きません。 | ||
| RT003 | 逐次モードエラー。 | ||
| RT004 | ファイル名が無効です。 | ||
| RT005 | 装置の指定が無効です。 | ||
| RT006 | 入力用に開いたファイルに対して書き込もうとしました。 | ||
| RT007 | ディスクの空き領域がなくなりました。 | ||
| RT008 | 出力用に開いたファイルから入力しようとしました。 | ||
| RT009 | ディレクトリ内に十分な領域がありません。(または、ディレクトリが存在しません) | ||
| RT010 | ファイル名が指定されていません。 | ||
| RT012 | すでに開いているファイルを開こうとしました。 | ||
| RT013 | ファイルが見つかりませんでした。 | ||
| RT014 | 同時に開いているファイルの数が多すぎます。 | ||
| RT015 | 開いている索引ファイルの数が多すぎます。 | ||
| RT016 | 開いている装置ファイルの数が多すぎます。 | ||
| RT017 | レコードエラー。 長さが 0 になっています。 | ||
| RT018 | レコード部分読みエラー。 EOR の前に EOF になったか、または正しくないモードでファイルを開いています。 | ||
| RT019 | 再書き出しエラー。 オープンモードまたはアクセスモードが正しくありません。 | ||
| RT020 | 装置または資源が使用中です。 | ||
| RT021 | ファイルがディレクトリです。 | ||
| RT022 | 無効なアクセスモードまたは使用できないアクセスモードで OPEN を実行しました。 | ||
| RT023 | 無効なアクセスモードまたは使用できないアクセスモードで CLOSE を実行しました。 | ||
| RT024 | ディスク I/O エラー。 | ||
| RT025 | オペレーティングシステムデータエラー。 | ||
| RT026 | ブロック I/O エラー。 | ||
| RT027 | 装置が使用できません。 | ||
| RT028 | 装置に空き領域がありません。 | ||
| RT029 | 開いているファイルを削除しようとしました。 | ||
| RT030 | ファイルシステムは読み取り専用です。 | ||
| RT031 | ファイルの所有者ではありません。 | ||
| RT032 | 索引ファイルが多すぎるか、そのような処理はありません。 | ||
| RT033 | 物理的 I/O エラー。 | ||
| RT034 | モードまたはファイル記述子が正しくありません。 | ||
| RT035 | ファイルへのアクセスが、正しくない権限でおこなわれました。 | ||
| RT036 | ファイルがすでに存在しています。 | ||
| RT037 | ファイルアクセスが拒否されました。 | ||
| RT038 | ディスクに互換性がありません。 | ||
| RT039 | ファイルに互換性がありません。 | ||
| RT040 | 言語の初期化の設定が正しくありません。 | ||
| RT041 | 索引ファイルが破損しています。 | ||
| RT042 | 壊れたパイプに書き込もうとしました。 | ||
| RT043 | 索引ファイルのファイル情報が見つかりませんでした。 | ||
| RT045 | 互換性のないプログラムを使用して NLS ファイルを開こうとしました。 | ||
| RT047 | 索引の構造がオーバーフローしました。 (重複キーの最大数に達したことを示しています。) | ||
| RT065 | ファイルがロックされています。 | ||
| RT066 | 索引ファイルに対して重複レコードキーを追加しようとしました。 | ||
| RT068 | レコードがロックされています。 | ||
| RT069 | ISAM モジュールに対する引数が無効です。 | ||
| RT070 | 開いている索引ファイルの数が多すぎます。 | ||
| RT071 | 索引ファイルの書式が正しくありません。 | ||
| RT072 | 索引ファイルの終わりです。 | ||
| RT099 | 無効な整列操作です。 | ||
| RT100 | 無効なファイル操作です。 | ||
| RT104 | ファイル操作に NULL ファイル名が使用されました。 | ||
| RT105 | メモリ割り当てエラー。 | ||
| RT138 | ファイルがロック状態で閉じられているため、開くことができません。 | ||
| RT139 | レコード長またはキーデータが一致しません。 | ||
| RT141 | ファイルがすでに開かれているため、開くことができません。 | ||
| RT142 | ファイルが開かれていないため、閉じることはできません。 | ||
| RT143 | 順呼び出しモードでの REWRITE/DELETE の前に、READ が正常終了していません。 | ||
| RT146 | 順読み込みに定義されている現行レコードはありません。 | ||
| RT147 | READ/START に使用するオープンモードまたはアクセスモードが正しくありません。 | ||
| RT148 | WRITE に使用するオープンモードまたはアクセスモードが正しくありません。 | ||
| RT149 | REWRITE/ DELETE に使用するオープンモードまたはアクセスモードが正しくありません。 | ||
| RT161 | ファイルヘッダが見つかりませんでした。 | ||
| RT173 | 呼び出されたプログラムが見つかりませんでした。 | ||
| RT188 | ファイル名が長すぎます。 | ||
| RT194 | ファイルサイズが大きすぎます。 | ||
| RT195 | DELETE/REWRITE の前に READ がおこなわれていません。 | ||
| RT196 | 相対ファイルまたは索引ファイルのレコード番号が大きすぎます。 | ||
| RT210 | ファイルがロック状態で閉じています。 | ||
| RT213 | ロックが多すぎます。 | ||
| RT218 | MULTIPLE REEL/UNIT ファイルの書式が正しくありません。 | ||
| RT219 | オペレーティングシステムの共有ファイル制限を超えました。 | ||
Copyright © 2002 Micro Focus International Limited. All rights reserved.
本書、ならびに使用されている固有の商標と商品名は国際法で保護されています。
![]() |
ランタイムシステムのエラーメッセージ | SAA、OSVS および VSC2 実装上の制限 | ![]() |