次の表は、データベース、ファイル、および MQSeries® メッセージ・キューに影響を及ぼす入出力 (I/O) 操作の EGL エラー値を説明しています。 ハード・エラーに関連した値がコードで有効となるのは、 『例外処理』で説明されているとおり、システム変数 VGVar.handleHardIOErrors が 1 に設定されている場合のみです。
エラー値 | エラーのタイプ | レコードのタイプ | エラー値の意味 |
---|---|---|---|
deadLock | ハード | SQL | 2 つのプログラム・インスタンスがレコードを変更しようとしていますが、システム介入がない限りどちらも変更できません。DB2® の SQL 表にアクセスしている場合、deadlock は sqlcode の値が -911 であることを表します。 |
duplicate | ソフト | 索引付きまたは相対 | コードが、すでに存在するキーを持つレコードにアクセスしようとし、その試行は成功しました。詳細については、『duplicate』を参照してください。 |
endOfFile | ソフト | 索引付き、相対、シリアル | 詳細については、『endOfFile』を参照してください。 |
ioError | ハードまたはソフト | 任意 | EGL で入出力操作から非ゼロの戻りコードが受け取られました。 |
format | ハード | 任意 | アクセスされたファイルがレコード定義と非互換です。詳細については、『format』を参照してください。 |
fileNotAvailable | ハード | 任意 | fileNotAvailable はどの入出力操作でも生じる可能性があり、 例えば、別のプログラムがファイルを使用していること、またはファイルにアクセスするために必要なリソースが不足していることを表す場合があります。 |
fileNotFound | ハード | 索引付き、メッセージ・キュー、相対、シリアル | ファイルが見つかりませんでした。 |
full | ハード | 索引付き、相対、シリアル | full は、以下の場合に設定されます。
|
hardIOError | ハード | 任意 | ハード・エラーが発生しました。これは、endOfFile、noRecordFound、duplicate 以外のエラーです。 |
noRecordFound | ソフト | 任意 | 詳細については、『noRecordFound』を参照してください。 |
unique | ハード | 索引付き、相対、または SQL | UNQ は固有 (unique) を表します。コードが、すでに存在するキーを持つレコードを追加または置換しようとしましたが、その試行は失敗しました。詳細については、『unique』を参照してください。 |
duplicate 設定は、アクセス・メソッドが情報を戻す場合にのみ戻されます。 これは、一部のオペレーティング・システムに当てはまりますが、 他のオペレーティング・システムには当てはまりません。このオプションは、SQL データベース・アクセス中は使用不可です。
iSeries™ 上で、EGL 生成 COBOL プログラムからエミュレートされた VSAM ファイルにアクセスしている場合、生成時に使用される、リソース関連パーツの duplicates プロパティーの説明については、『関連要素』を参照してください。
(空のファイルは、すべてのレコードが削除されたファイルです。 未初期化ファイルは、一度もレコードが追加されたことがないファイルです。)
ファイル形式 (固定長または可変長) が EGL レコード形式と異なる。
固定長レコードの場合、ファイル内のレコードの長さが EGL レコードの長さと異なる。 可変長レコードの場合、ファイル内のレコードの長さが EGL レコードの長さより大きい。
レコードに指定されているファイル・タイプが、実行時のファイル・タイプと一致しない。
ファイル内のキー長が、EGL 索引付きレコード内のキー長と異なる。
ファイル内のキー位置が、EGL 索引付きレコード内のキー位置と異なる。
unique 設定は、アクセス・メソッドが情報を戻す場合にのみ戻されます。 これは、一部のオペレーティング・システムに当てはまりますが、 他のオペレーティング・システムには当てはまりません。
追加または置換されている SQL 行が、固有索引にすでに存在するキーを 持っている場合は、SQL データベース・アクセス時に unique が設定されます。対応する sqlcode は -803 です。