サブフィールド位置 *STATUS に入るコードで 99 より大きいものは、例外/エラー条件と見なされます。 状況コードが 99 より大きい場合に は、73 から 74 桁目にエラー標識が指定されていれば、その標識がオンに設定され ます。'E' 拡張が指定されていれば、%ERROR 組み込み関数が 1 を戻すように 設定されます。そうでない場合は、ファイル例外/エラー処理サブルーチンが 制御を受け取ります。位置 *STATUS は各ファイル操作の後に更新されます。
例外/エラーに関する情報を入手するために、%STATUS 組み込み関数を使用 することができます。この関数は、プログラムまたはファイル状況に関して設定された最新の値を戻します。 ファイルが指定されている場合、%STATUS は、 指定されたファイルに関する INFDS *STATUS フィールドに入っている値を戻します。
ファイル情報データ構造のサブフィールド位置 *STATUS には、以下の表のコード が入れられます。
| コード | 装置1 | RC2 | 条件 |
|---|---|---|---|
| 00000 | 例外/エラーなし。 | ||
| 00002 | W | 適用されません。 | 機能キーを使用した表示の終了。 |
| 00011 | W、D、SQ | 11xx | 読み取り時のファイルの終わり (入力)。 |
| 00012 | W、D、SQ | 適用されません。 | CHAIN、SETLL、または SETGT 命令でのレコード不在条件。 |
| 00013 | W | 適用されません。 | WRITE 命令でサブファイルがいっぱい。 |
注: 1「装置」は、条件が該当する装置のこと
です。次の略語が使用されます。
P = PRINTER; D = DISK; W = WORKSTN; SP = SPECIAL; SQ = 順次。RC の欄のメジャー/マイナー戻りコードは、ワークステーション・ファイルにのみ適用されます。2 メジャー/マイナー戻りコードを
記述するために mmnn の形式が使用されています。mm がメジャー戻りコード
で、nn がマイナー戻りコードです。
|
|||
| コード | 装置1 | RC2 | 条件 |
|---|---|---|---|
| 01011 | W、D、SQ | 適用されません。 | 定義されていないレコード・タイプ (入力レコードがレコード識別標識と一致 しない)。 |
| 01021 | W、D、SQ | 適用されません。 | すでに存在しているレコードを書き出そうとした (使用中のファイルに固有の キーがあり、キーが重複した場合、あるいは相対レコード番号を重複してサブフ ァイルに書き出そうとした場合)。 |
| 01022 | D | 適用されません。 | ファイル・メンバーで参照制約エラーが検出された。 |
| 01023 | D、SQ | 適用されません。 | ファイル操作が実行される前のトリガー・プログラムのエラー。 |
| 01024 | D、SQ | 適用されません。 | ファイル操作が実行された後のトリガー・プログラムのエラー。 |
| 01031 | W、D、SQ | 適用されません。 | 突き合わせフィールドの順序の誤り。 |
| 01041 | 適用されません。 | 適用されません。 | 配列/テーブルのロード順序のエラー。 |
| 01042 | 適用されません。 | 適用されません。 | 配列/テーブルのロード順序のエラー。代替照合順序が使用されます。 |
| 01051 | 適用されません。 | 適用されません。 | 配列/テーブル・ファイルの項目が多すぎる。 |
| 01061 | 適用されません。 | 適用されません。 | ファイル・パラメーターに関連付けられている変数のエラー処理 |
| 01071 | W、D、SQ | 適用されません。 | 数値順序エラー。 |
| 011214 | W | 適用されません。 | 印刷キーの DDS キーワードに標識がない。 |
| 011224 | W | 適用されません。 | 前ページ・キーの DDS キーワードに標識がない。 |
| 011234 | W | 適用されません。 | 次ページ・キーの DDS キーワードに標識がない。 |
| 011244 | W | 適用されません。 | CLEAR キーの DDS キーワードに標識がない。 |
| 011254 | W | 適用されません。 | HELP キーの DDS キーワードに標識がない。 |
| 011264 | W | 適用されません。 | HOME キーの DDS キーワードに標識がない。 |
| 01201 | W | 34xx | 入力でレコードの不一致が検出された。 |
| 01211 | すべて | 適用されません。 | クローズされているファイルへの入出力操作。 |
| 01215 | すべて | 適用されません。 | すでにオープン済みのファイルへ OPEN が出された。 |
| 012163 | すべて | はい | 暗黙の OPEN/CLOSE 命令でのエラー。 |
| 012173 | すべて | はい | 明示の OPEN/CLOSE 命令でのエラー。 |
| 01218 | D、SQ | 適用されません。 | レコードがすでにロックされている。 |
| 01221 | D、SQ | 適用されません。 | 前に読み取りを行わないで更新操作を行おうとした。 |
| 01222 | D、SQ | 適用されません。 | 参照制約エラーのためにレコードを割り振ることができない。 |
| 01231 | SP | 適用されません。 | SPECIAL ファイルでのエラー。 |
| 01235 | P | 適用されません。 | PRTCTL のスペースまたはスキップ記入項目にエラー。 |
| 01241 | D、SQ | 適用されません。 | レコード番号が見付からない (レコード・アドレス・ファイルに指定されたレコード番号が処理中のファイル にない)。 |
| 01251 | W | 80xx 81xx | 永続的な入出力エラーが起こった。 |
| 01255 | W | 82xx 83xx | セッションまたは装置エラーが起こった。 回復手順が使用できる。 |
| 01261 | W | 適用されません。 | 入手できる装置の最大数を超えようとした。 |
| 01271 | W | 適用されません。 | 使用できない装置を入手しようとした。 |
| 01281 | W | 適用されません。 | 入手されていない装置への操作。 |
| 01282 | W | 0309 | 制御付きオプションによるジョブの終了。 |
| 01284 | W | 適用されません。 | 単一装置ファイルの 2 番目の装置を入手できない。 |
| 01285 | W | 0800 | すでに入手済みの装置を入手しようとした。 |
| 01286 | W | 適用されません。 | 共用ファイルを SAVDS または IND オプションによりオープンしようとした。 |
| 01287 | W | 適用されません。 | 応答標識が IND 標識と上書きしている。 |
| 01299 | W、D、SQ | はい | その他の入出力エラーが検出された。 |
| 01331 | W | 0310 | ワークステーション・ファイルからの READ で待ち時間を超過した。 |
注:
|
|||
次の表は、ワークステーション・ファイルだけを使用している プログラムで起こったエラーをマッピングする *STATUS 値に対するメジャー/マイナー戻りコードを示しています。 メジャー/マイナー戻りコードの詳細については、Information Center を参照してください。
| メジャー | マイナー | *STATUS |
|---|---|---|
| 00、02 | すべて | 00000 |
| 03 | すべて (09、10 を除く) | 00000 |
| 03 | 09 | 01282 |
| 03 | 10 | 01331 |
| 04 | すべて | 01299 |
| 08 | すべて | 012851 |
| 11 | すべて | 00011 |
| 34 | すべて | 01201 |
| 80、81 | すべて | 01251 |
| 82、83 | すべて | 01255 |
注:
|
||