次の表では、データベース、ファイル、および WebSphere® MQ メッセージ・キューに影響を与える入出力 (I/O) 操作に関する EGL エラー値が説明されています。 V6 の例外互換性を使用する場合 (『V6 の例外互換性の使用』を参照)、 ハード入出力エラーおよびソフト入出力エラーの両方にアクセスできます (『is/not 演算子』を参照)。 詳しくは、『例外処理』を参照してください。
| エラー値 | エラーのタイプ | レコードのタイプ | エラー値の意味 |
|---|---|---|---|
| deadlock | ハード | SQL | 2 つのプログラム・インスタンスがレコードを変更しようとしていますが、システム介入がない限りどちらも変更できません。DB2® の SQL テーブルにアクセスしている場合、deadlock は sqlcode の値が -911 であることを表します。 |
| duplicate | ソフト | DL/I、索引付き、または相対 | 詳しくは、このトピック内の「duplicate」を参照してください。 |
| endOfFile | ソフト | DL/I、索引付き、相対、シリアル | 詳しくは、このトピック内の「endOfFile」を参照してください。 |
| ioError | ハードまたはソフト | すべてのタイプ | 詳しくは、このトピックの『ioError』を参照してください。 |
| fileNotAvailable | ハード | 索引付き、相対、シリアル | fileNotAvailable はどの入出力操作でも生じる可能性があり、 例えば、別のプログラムがファイルを使用していること、またはファイルにアクセスするために必要なリソースが不足していることを表す場合があります。 |
| fileNotFound | ハード | 索引付き、メッセージ・キュー、相対、シリアル | fileNotFound は、すべての入出力操作で発生する可能性があり、要求されたファイルが見つからないことを示します。 |
| full | ハード | 索引付き、相対、シリアル | full は、以下の場合に設定されます。
|
| hardIOError | ハード | すべてのタイプ | 詳しくは、このトピック内の『hardIOError』を参照してください。 |
| invalidFormat | ハード | 索引付き、相対、シリアル | アクセスされたファイルがレコード定義と非互換です。詳しくは、このトピック内の「invalidFormat」を参照してください。 |
| noRecordFound | ソフト | すべてのタイプ | 詳しくは、このトピック内の「noRecordFound」を参照してください。 |
| softIOError | ソフト | すべてのタイプ | ソフト・エラー (endOfFile、noRecordFound、または duplicate) が発生しました。 |
| unique | ハード | DL/I、索引付き、相対、SQL | コードが、既存のキーを持つレコードを追加または置換しようとして失敗しました。 詳しくは、このトピック内の「unique」を参照してください。 |
duplicate 設定は、アクセス・メソッドが情報を戻す場合にのみ戻されます。 これは、一部のオペレーティング・システムに当てはまりますが、 他のオペレーティング・システムには当てはまりません。このオプションは、SQL データベース・アクセス中は使用不可です。
iSeries® 上で、EGL 生成 COBOL プログラムからエミュレートされた VSAM ファイルにアクセスする場合、生成時に使用される、リソース関連パーツの duplicates プロパティーの説明については、「EGL 生成ガイド」の『関連要素』を参照してください。
DL/I データベースでは、duplicate はソフト・エラーです。重複キーを持つレコードが許可されていないデータベースに add 文がセグメントを挿入しようとする場合、および同じキーを持つレコードがそのデータベースに既に存在している場合に、これが設定されます。add は、失敗します。対応する状況コードは、II です。DL/I では duplicate と unique の値は等価です。
DL/I データベースの場合、get next または get next inParent 文によってデータを取得しようとするときに、関連するデータベース・ポインターがデータベースの終わりにあると、endOfFile が設定されます。 対応する状況コードは GB です。
ファイル形式 (固定長または可変長) が EGL レコード形式と異なる。
固定長レコードの場合、ファイル内のレコードの長さが EGL レコードの長さと異なる。 可変長レコードの場合、ファイル内のレコードの長さが EGL レコードの長さより大きい。
レコードに指定されているファイル・タイプが、実行時のファイル・タイプと一致しない。
ファイル内のキー長が、EGL 索引付きレコード内のキー長と異なる。
ファイル内のキー位置が、EGL 索引付きレコード内のキー位置と異なる。
unique 設定は、アクセス・メソッドが情報を戻す場合にのみ戻されます。 これは、一部のオペレーティング・システムに当てはまりますが、 他のオペレーティング・システムには当てはまりません。
追加または置換されている SQL 行が、固有索引に既に存在するキーを 持っている場合は、SQL データベース・アクセス時に unique が設定されます。対応する sqlcode は -803 です。
DL/I データベースでは、add 文が、 重複キーが許可されていないレコードのある、また同じキーが既にある レコードを持つデータベースにセグメントを挿入しようとしている場合に、 unique が設定されます。add は、失敗します。対応する状況コードは、II です。DL/I では duplicate と unique の値は等価です。