ファイル情報データ構造 (INFDS) を各ファイルに定義することによって、ファイ ルの例外/エラーおよびファイル・フィードバック情報をプログラムで使用可能 にすることができます。 ファイル情報データ構造は各ファイルごとに固有のものであって、メイン・ソース・セク ションに定義されていなければなりません。 同じ INFDS が、ファイルを使用するすべてのプロシージャーによって使用されます。
INFDS には、次のフィードバック情報が入れられます。
INFDS の長さは、INFDS の中で宣言したフィールドによって異なります。 INFDS の最小の長さは 80 です。
ファイル・フィードバック情報は、ファイル情報データ構造の 1 桁目から始まり 、80 桁目で終わります。 ファイル・フィードバック情報には、RPG に固有のファイルに関するデータが入 れられます。 これには、次のものを識別するエラー/例外に関する情報が含まれます。
INFDS のファイル・フィードバック・セクションの 1 から 66 桁目のフィールドは、 プログラム中で INFDS が指定されなくとも常に提供および更新されます。 INFDS の ファイル・フィードバック・セクションの 67 から 80 桁目のフィールドは 、特定の装置に対する POST 命令の後にのみ更新されます。
INFDS が指定されていない場合には、DUMP 命令を使用して、INFDS のファイル・ フィードバック・セクションの情報を出力することができます。 詳細については、DUMP (プログラム・ダンプ)を参照 してください。
INFDS のファイル・フィードバック・セクションの重ね書きは、後続のエラー処 理で予期しない結果になることがあり、お勧めできません。
INFDS のファイル・フィードバック・セクションで一般によく使用される サブフィールドの一部の位置は、特殊なキーワードによって定義されます。 INFDS のファイル・フィードバック・セクションの内容および特殊なキーワード とその説明は、次の表にあります。
開始位置 (26 から 32 桁目) |
終了 (26 から 39 桁目) |
形式 |
長さ |
キーワード |
情報 |
---|---|---|---|---|---|
1 | 8 | 文字 | 8 | *FILE | ファイル名の最初の 8 文字。 |
9 | 9 | 文字 | 1 | オープン指示 (1 = オープン)。 | |
10 | 10 | 文字 | 1 | ファイルの終わり (1 = ファイルの終わり)。 | |
11 | 15 | ゾーン 10 進数 | 5,0 | *STATUS | 状況コード。 これらのコードの説明については、ファイル状況コードを 参照してください。 |
16 | 21 | 文字 | 6 | *OPCODE | 命令コード。最初の 5 桁 (左寄せ) は、演算命令コードの文字表現を使用する
ことによって命令のタイプを指定します。 たとえば、READE が処理されていた場
合には、READE が左端の 5 桁に入れられます。 命令が暗黙の操作 (たとえば、1 次ファイルの読み取りまたは出力仕様書
に対する更新) であった場合には、同等の命令コード (READ または UPDAT など) が生成され、
位置 *OPCODE に入れられます。 6 文字の英字名をもつ命令コードは 5 文字の英字に短縮されます。
|
22 | 29 | 文字 | 8 | *ROUTINE | ファイル操作が実行されたルーチン (サブルーチンを含む) の名前の最初の 8 文字。 |
30 | 37 | 文字 | 8 | OPTION(*NOSRCSTMT) が指定されている場合、これは、ファイル操作 のソース・リスト行番号です。OPTION(*SRCSTMT) が指定されている 場合、これは、ファイル操作のソース・リスト・ステートメント番号 です。 そのステートメント番号がルート・ソース・メンバーに適用される 場合、ステートメント番号全体が組み込まれます。 ステートメント番号が 6 桁を超える場合、すなわち、ゼロ以外 のソース ID を組み込んでいる場合、8 バイト・フィードバック域の 最初の 2 桁は、ステートメント番号の残りの部分が 53 から 54 桁目に保管される ことを示す "+" になります。 | |
38 | 42 | ゾーン 10 進数 | 5,0 | SPECIAL ファイルでのエラーに対するユーザー指定の理由。 | |
38 | 45 | 文字 | 8 | *RECORD | プログラム記述ファイルの場合には、レコード識別標識は左寄せしてフィールド に入れられ、残りの 6 桁には、ブランクが埋め込まれます。 外部記述ファイルの場合には、例外/エラーが起こった時に処理されていたレコ ードの名前の最初の 8 文字。 |
46 | 52 | 文字 | 7 | マシンまたはシステム・メッセージ番号。 | |
53 | 66 | 文字 | 14 | 未使用。 | |
77 | 78 | 2 進数 | 2 | ソース ID は、30 から 37 桁目からのステートメント番号と突き合わせ られます。 |
開始位置 (26 から 32 桁目) |
終了 (26 から 39 桁目) |
形式 |
長さ |
キーワード |
情報 |
---|---|---|---|---|---|
67 | 70 | ゾーン 10 進数 | 4,0 | *SIZE | 画面サイズ (装置の画面の行数と桁数の積)。 |
71 | 72 | ゾーン 10 進数 | 2,0 | *INP | 表示装置のキーボード・タイプ。 表示装置が英数字またはカタカナの場合は 00 に設定されます。 キーボードが漢字の場合は 10 に設定されます。 |
73 | 74 | ゾーン 10 進数 | 2,0 | *OUT | 表示装置タイプ。 表示装置が英数字またはカタカナの場合は 00 に設定されます。 表示装置が漢字の場合は 10 に設定されます。 表示装置が DBCS の場合は 20 に設定されます。 |
75 | 76 | ゾーン 10 進数 | 2,0 | *MODE | 常に 00 に設定されます。 |
ファイル・フィードバック・セクションのフィールドが入る INFDS を指定す るために、次の指定を行うことができます。
FFilename++IPEASFRlen+LKlen+AIDevice+.Keywords+++++++++++++++++++++++++++++Comments++++++++++ FMYFILE IF E DISK INFDS(FILEFBK) DName+++++++++++ETDsFrom+++To/L+++IDc.Keywords+++++++++++++++++++++++++++++Comments++++++++++ DFILEFBK DS D FILE *FILE * ファイル名 D OPEN_IND 9 9N * ファイルはオープン ? D EOF_IND 10 10N * ファイルは EOF ? D STATUS *STATUS * 状況コード D OPCODE *OPCODE * 最後の命令コード D ROUTINE *ROUTINE * RPG ルーチン D LIST_NUM 30 37 * リスト行 D SPCL_STAT 38 42S 0 * SPECIAL 状況 D RECORD *RECORD * レコード名 D MSGID 46 52 * エラー MSGID D SCREEN *SIZE * 画面サイズ D NLS_IN *INP * NLS 入力 ? D NLS_OUT *OUT * NLS 出力 ? D NLS_MODE *MODE * NLS モード ?
ファイル情報データ構造の 81 から 240 桁目には、オープン・フィードバック情 報が入れられます。 INFDS と関連したファイルがオープンされている時にはいつ でも、RPG によってファイル・オープン・フィードバック域の内容が INFDS のオ ープン・フィードバック・セクションにコピーされます。 これには、複数のメン バーが処理されるファイルの読み取り操作の結果としてオープンされたメンバーが 含まれます。
オープン・フィードバック域の内容、およびそれらのフィールドがどのファイル・タイプの場合に有効かについては、iSeries Information Center に説明があります。
オープン・フィードバック・セクションのフィールドが入る INFDS を指定す るためには、次の記入を行うことができます。
開始位置 = 81 + オフセット 終了位置 = 開始位置 - 1 + 文字の長さ 文字の長さ = 長さ (バイト数)
たとえば、印刷装置ファイルのオーバーフロー行番号の場合は、Information Center には次のように示されています。
オフセット = 107 データ・タイプは 2 進数 長さ = 2 したがって、 開始位置 = 81 + 107 = 188 終了位置 = 188 - 1 + 2 = 189 以下の例のサブフィールド OVERFLOW を参照してください。
FFilename++IPEASFRlen+LKlen+AIDevice+.Keywords+++++++++++++++++++++++++++++Comments++++++++++ FMYFILE O F 132 PRINTER INFDS(OPNFBK) DName+++++++++++ETDsFrom+++To/L+++IDc.Keywords+++++++++++++++++++++++++++++Comments++++++++++ DOPNFBK DS D ODP_TYPE 81 82 * ODP タイプ D FILE_NAME 83 92 * ファイル名 D LIBRARY 93 102 * ライブラリー名 D SPOOL_FILE 103 112 * スプール・ファイル名 D SPOOL_LIB 113 122 * スプール・ファイル・ライブラリー D SPOOL_NUM 123 124I 0 * スプール・ファイル番号 D RCD_LEN 125 126I 0 * 最大レコード長 D KEY_LEN 127 128I 0 * 最大キー長 D MEMBER 129 138 * メンバー名 D TYPE 147 148I 0 * ファイル・タイプ D ROWS 152 153I 0 * PRT/DSP 行数 D COLUMNS 154 155I 0 * PRT/DSP 桁数 D NUM_RCDS 156 159I 0 * レコード数 D ACC_TYPE 160 161 * アクセス・タイプ D DUP_KEY 162 162 * 重複キー? D SRC_FILE 163 163 * ソース・ファイル? D VOL_OFF 184 185I 0 * ボリューム・ラベル・オフセット D BLK_RCDS 186 187I 0 * ブロックの最大レコード数 D OVERFLOW 188 189I 0 * オーバーフロー行 D BLK_INCR 190 191I 0 * ブロック増分 D FLAGS1 196 196 * 雑フラグ D REQUESTER 197 206 * 要求元端末名 D OPEN_COUNT 207 208I 0 * オープン・カウント D BASED_MBRS 211 212I 0 * 基本メンバー数 D FLAGS2 213 213 * 雑フラグ D OPEN_ID 214 215 * オープン識別コード D RCDFMT_LEN 216 217I 0 * 最大レコード様式長 D CCSID 218 219I 0 * データベース CCSID D FLAGS3 220 220 * 雑フラグ D NUM_DEVS 227 228I 0 * 定義済み装置数
ファイル情報データ構造の 241 から 366 桁目は、入出力フィードバック情報用に 使用されます。 次の場合に、ファイル共通入出力フィードバック域の内容は、RPG によって INFDS の入出力フィードバック・セクションにコピーされます。
詳細については、POST (転記)を参照してください。
入出力フィードバック域の内容の説明は、Information Center にあります。
入出力フィードバック・セクションのフィールドが入る INFDS を指定するために は、次の記入を行うことができます。
開始位置 = 241 + オフセット 終了位置 = 開始位置 - 1 + 文字の長さ 文字の長さ = 長さ (バイト数)
たとえば、ファイルの装置クラスの場合は、Information Center には次のように示されています。
オフセット = 30 データ・タイプは文字 長さ = 2 したがって、 開始位置 = 241 + 30 = 271, 終了位置 = 271 - 1 + 2 = 272. 以下の例のサブフィールド DEV_CLASS を参照してください。
FFilename++IPEASFRlen+LKlen+AIDevice+.Keywords+++++++++++++++++++++++++++++Comments++++++++++ FMYFILE IF E DISK INFDS(MYIOFBK) DName+++++++++++ETDsFrom+++To/L+++IDc.Keywords+++++++++++++++++++++++++++++Comments++++++++++ DMYIOFBK DS D * 241 から 242 未使用 D WRITE_CNT 243 246I 0 * 書き出しカウント D READ_CNT 247 250I 0 * 読み取りカウント D WRTRD_CNT 251 254I 0 * 読み取り/書き出しカウント D OTHER_CNT 255 258I 0 * その他の入出力カウント D OPERATION 260 260 * 現在の命令 D IO_RCD_FMT 261 270 * レコード様式名 D DEV_CLASS 271 272 * 装置クラス D IO_PGM_DEV 273 282 * プログラム装置名 D IO_RCD_LEN 283 286I 0 * 入出力のレコード長
ファイル情報データ構造の装置固有のフィードバック情報は INFDS の 367 桁目 から始まり、装置固有の入出力フィードバック情報が入れられます。
装置固有のフィードバック情報が必要な時の INFDS の長さは、ファイルの 装置タイプと DISK ファイルがキー付きかどうかの 2 つの要因によって 異なります。 最 小の長さは 528 ですが、一部のファイルにはそれより長い INFDS が必要です。
データベース・ファイル、印刷装置ファイル、ICF ファイルおよび表示装置ファイルの、装置フィードバックの内容および長さの詳細については、iSeries Information Center の 「データベースおよびファイル・システム」カテゴリーにあります。
次の場合に、ファイルの装置固有の入出力フィードバック域の内容は RPG に よって INFDS の装置固有のフィードバック・セクションにコピーされます。
詳細については、POST (転記)を参照してください。
装置固有のフィードバック・セクションのフィールドが入る INFDS を指定するた めには、次の記入を行うことができます。
開始位置 = 367 + オフセット 終了位置 = 開始位置 - 1 + 文字の長さ 文字の長さ = 長さ (バイト数)
たとえば、データベース・ファイルの相対レコード番号の場合は、Information Center には次のように示されています。
オフセット = 30 データ・タイプは 2 進数 長さ = 4 したがって、 開始位置 = 367 + 30 = 397 終了位置 = 397 - 1 + 4 = 400 以下の例の DBFBK データ構造のサブフィールド DB_RRN を参照してください。
FFilename++IPEASFRlen+LKlen+AIDevice+.Keywords+++++++++++++++++++++++++++++Comments++++++++++ FMYFILE O F 132 PRINTER INFDS(PRTFBK) DName+++++++++++ETDsFrom+++To/L+++IDc.Keywords+++++++++++++++++++++++++++++Comments++++++++++ DPRTFBK DS D CUR_LINE 367 368I 0 * 現在の行番号 D CUR_PAGE 369 372I 0 * 現在のページ・カウント * PRT_FLAGS の最初のビットがオンの場合は、スプール・ファイルが削除されます。 * このビットをテストするには、TESTB X'80' または TESTB '0' を使用します。 D PRT_FLAGS 373 373 D PRT_MAJOR 401 402 * メジャー戻りコード D PRT_MINOR 403 404 * マイナー戻りコード
FFilename++IPEASFRlen+LKlen+AIDevice+.Keywords+++++++++++++++++++++++++++++Comments++++++++++ FMYFILE IF E DISK INFDS(DBFBK) DName+++++++++++ETDsFrom+++To/L+++IDc.Keywords+++++++++++++++++++++++++++++Comments++++++++++ DDBFBK DS D FDBK_SIZE 367 370I 0 * DB フィードバックのサイズ D JOIN_BITS 371 374I 0 * JFILE ビット D LOCK_RCDS 377 378I 0 * ロック・レコード数 D POS_BITS 385 385 * ファイル位置ビット D DLT_BITS 384 384 * レコード削除済みビット D NUM_KEYS 387 388I 0 * キーの数 (2 進数) D KEY_LEN 393 394I 0 * キー長 D MBR_NUM 395 396I 0 * メンバー番号 D DB_RRN 397 400I 0 * 相対レコード番号 D KEY 401 2400 * キー値 D * (最大サイズ 2000)
FFilename++IPEASFRlen+LKlen+AIDevice+.Keywords+++++++++++++++++++++++++++++Comments++++++++++ FMYFILE CF E WORKSTN INFDS(ICFFBK) DName+++++++++++ETDsFrom+++To/L+++IDc.Keywords+++++++++++++++++++++++++++++Comments++++++++++ DICFFBK DS D ICF_AID 369 369 * AID バイト D ICF_LEN 372 375I 0 * 実際のデータ長 D ICF_MAJOR 401 402 * メジャー戻りコード D ICF_MINOR 403 404 * マイナー戻りコード D SNA_SENSE 405 412 * SNA センス戻りコード D SAFE_IND 413 413 * 安全標識 D RQSWRT 415 415 * 要求書き出し D RMT_FMT 416 425 * リモート・レコード様式 D ICF_MODE 430 437 * モード名
FFilename++IPEASFRlen+LKlen+AIDevice+.Keywords+++++++++++++++++++++++++++++Comments++++++++++ FMYFILE CF E WORKSTN INFDS(DSPFBK) DName+++++++++++ETDsFrom+++To/L+++IDc.Keywords+++++++++++++++++++++++++++++Comments++++++++++ DDSPFBK DS D DSP_FLAG1 367 368 * 表示フラグ D DSP_AID 369 369 * AID バイト D CURSOR 370 371 * カーソル位置 D DATA_LEN 372 375I 0 * 実際のデータ長 D SF_RRN 376 377I 0 * サブファイル RRN D MIN_RRN 378 379I 0 * サブファイル最小 RRN D NUM_RCDS 380 381I 0 * サブファイル・レコード数 D ACT_CURS 382 383 * 活動ウィンドウ D * カーソル位置 D DSP_MAJOR 401 402 * メジャー戻りコード D DSP_MINOR 403 404 * マイナー戻りコード
ファイル情報データ構造の属性入手フィードバック情報は、INFDS の 241 桁 目から始まり、表示装置または ICF セッション (ワークステーション・ファイルと関連した装 置) に関する情報が入れられます。 属性入手フィードバック情報の終了位置は、属性入手データ管理操作によって戻 されたデータの長さによって異なります。 属性入手データ管理操作は、演算項目 1 にプログラム装置を指定した POST が使用された時に実行されます。
属性入手データの内容および長さについての詳細は、Information Center にあります。
属性入手フィードバック・セクションのフィールドが入る INFDS を指定する ためには、次の記入を行うことができます。
開始位置 = 241 + オフセット 終了位置 = 開始位置 - 1 + 文字の長さ 文字の長さ = 長さ (バイト数)
たとえば、ファイルの装置タイプの場合は、Information Center には次のように示されています。
オフセット = 31 データ・タイプは文字 長さ = 6 したがって、 開始位置 = 241 + 31 = 272, 終了位置 = 272 - 1 + 6 = 277 以下の例のサブフィールド DEV_TYPE を参照してください。
FFilename++IPEASFRlen+LKlen+AIDevice+.Keywords+++++++++++++++++++++++++++++Comments++++++++++ FMYFILE CF E WORKSTN INFDS(DSPATRFBK) DName+++++++++++ETDsFrom+++To/L+++IDc.Keywords+++++++++++++++++++++++++++++Comments++++++++++ DDSPATRFBK DS D PGM_DEV 241 250 * プログラム装置 D DEV_DSC 251 260 * 装置記述 D USER_ID 261 270 * ユーザー ID D DEV_CLASS 271 271 * 装置クラス D DEV_TYPE 272 277 * 装置タイプ D REQ_DEV 278 278 * 要求元端末? D ACQ_STAT 279 279 * 入手状況 D INV_STAT 280 280 * 送信勧誘状況 D DATA_AVAIL 281 281 * 使用可能データ D NUM_ROWS 282 283I 0 * 行数 D NUM_COLS 284 285I 0 * 桁数 D BLINK 286 286 * 明滅可能? D LINE_STAT 287 287 * オンライン/オフライン? D DSP_LOC 288 288 * 表示位置 D DSP_TYPE 289 289 * 表示装置タイプ D KBD_TYPE 290 290 * キーボード・タイプ D CTL_INFO 342 342 * 制御装置情報 D COLOR_DSP 343 343 * カラー可能? D GRID_DSP 344 344 * 格子線表示? * 次のフィールドは ISDN に適用されます。 D ISDN_LEN 385 386I 0 * リモート番号長 D ISDN_TYPE 387 388 * リモート番号タイプ D ISDN_PLAN 389 390 * リモート番号計画 D ISDN_NUM 391 430 * リモート番号 D ISDN_SLEN 435 436I 0 * リモート・サブアドレス D * 長 D ISDN_STYPE 437 438 * リモート・サブアドレス D * タイプ D ISDN_SNUM 439 478 * リモート・サブアドレス D ISDN_CON 480 480 * 接続 D ISDN_RLEN 481 482I 0 * リモート・アドレス長 D ISDN_RNUM 483 514 * リモート・アドレス D ISDN_ELEN 519 520 * 拡張長 D ISDN_ETYPE 521 521 * 拡張タイプ D ISDN_ENUM 522 561 * 拡張番号 D ISDN_XTYPE 566 566 * X.25 呼び出しタイプ D
FFilename++IPEASFRlen+LKlen+AIDevice+.Keywords+++++++++++++++++++++++++++++Comments++++++++++ FMYFILE CF E WORKSTN INFDS(ICFATRFBK) DName+++++++++++ETDsFrom+++To/L+++IDc.Keywords+++++++++++++++++++++++++++++Comments++++++++++ DICFATRFBK DS D PGM_DEV 241 250 * プログラム装置 D DEV_DSC 251 260 * 装置記述 D USER_ID 261 270 * ユーザー ID D DEV_CLASS 271 271 * 装置クラス D DEV_TYPE 272 272 * 装置タイプ D REQ_DEV 278 278 * 要求元端末? D ACQ_STAT 279 279 * 入手状況 D INV_STAT 280 280 * 送信勧誘状況 D DATA_AVAIL 281 281 * 使用可能データ D SES_STAT 291 291 * セッション状況 D SYNC_LVL 292 292 * 同期レベル D CONV_TYPE 293 293 * 会話タイプ D RMT_LOC 294 301 * リモート・ロケーション D LCL_LU 302 309 * ローカル LU 名 D LCL_NETID 310 317 * ローカル・ネットワーク ID D RMT_LU 318 325 * リモート LU D RMT_NETID 326 333 * リモート・ネットワーク ID D APPC_MODE 334 341 * APPC モード D LU6_STATE 345 345 * LU6 会話状態 D LU6_COR 346 353 * LU6 会話 D * 相関係数 * 次のフィールドは ISDN に適用されます。 D ISDN_LEN 385 386I 0 * リモート番号長 D ISDN_TYPE 387 388 * リモート番号タイプ D ISDN_PLAN 389 390 * リモート番号計画 D ISDN_NUM 391 430 * リモート番号 D ISDN_SLEN 435 436I 0 * サブアドレス長 D ISDN_STYPE 437 438 * サブアドレス・タイプ D ISDN_SNUM 439 478 * リモート・サブアドレス D ISDN_CON 480 480 * 接続 D ISDN_RLEN 481 482I 0 * リモート・アドレス長 D ISDN_RNUM 483 514 * リモート・アドレス D ISDN_ELEN 519 520 * 拡張長 D ISDN_ETYPE 521 521 * 拡張タイプ D ISDN_ENUM 522 561 * 拡張番号 D ISDN_XTYPE 566 566 * X.25 呼び出しタイプ
* 次の情報が入手可能となるのは、プログラム開始要求を受信した * 結果としてプログラムが開始された時のみです。(P_ は保護を表します。) D TRAN_PGM 567 630 * トランザクション・プログラム名 D P_LUWIDLN 631 631 * LUWID フィールドの長さ D P_LUNAMELN 632 632 * LU-NAME の長さ D P_LUNAME 633 649 * LU-NAME D P_LUWIDIN 650 655 * LUWID インスタンス D P_LUWIDSEQ 656 657I 0 * LUWID 順序番号 * 次の情報が入手可能となるのは、保護会話がリモート・システムで * 開始された時のみです。(U_ は非保護を表します。) D U_LUWIDLN 658 658 * LUWID フィールドの長さ D U_LUNAMELN 659 659 * LU-NAME の長さ D U_LUNAME 660 676 * LU-NAME D U_LUWIDIN 677 682 * LUWID インスタンス D U_LUWIDSEQ 683 684I 0 * LUWID 順序番号
INFDS の入出力固有のフィードバックのフィールドおよび INFDS の装置固有のフ ィードバック情報セクションのフィールドは、レコードがブロック化および非ブ ロック化されているファイルに対する操作のたびには更新されません。 フィードバック情報が更新されるのは、レコードのブロックが RPG プログ ラムとオペレーティング・システムの間で転送された時のみです。 しかし、データベース・ファイル で入力のブロック化を実行している場合には、INFDS の データベース・フィードバック・セクションの相対レコード番号お よびキーの値は次の場合に更新されます。
更新済みの有効なフィードバック情報は、CL コマンドの OVRDBF (データベー ス・ファイル一時変更) に SEQONLY(*NO) を指定することによって得られます。 ファイル一時変更コマンドを使用した場合には、ILE RPG コンパイラーはファイル中のレコードのブロック化または非ブロック化は実行しません。
RPG でのレコードのブロック化および非ブロック化の詳細について は、「WebSphere Development Studio: ILE RPG プログラマーの手引き」を参照してください。
サブフィールド位置 *STATUS に入るコードで 99 より大きいものは、例外/エラー条件と見なされます。 状況コードが 99 より大きい場合に は、73 から 74 桁目にエラー標識が指定されていれば、その標識がオンに設定され ます。'E' 拡張が指定されていれば、%ERROR 組み込み関数が 1 を戻すように 設定されます。そうでない場合は、ファイル例外/エラー処理サブルーチンが 制御を受け取ります。 位置 *STATUS は各ファイル操作の後に更新されます。
例外/エラーに関する情報を入手するために、%STATUS 組み込み関数を使用 することができます。この関数は、プログラムまたはファイル状況に関して設定された最新の値を戻します。 ファイルが指定されている場合、%STATUS は、 指定されたファイルに関する INFDS *STATUS フィールドに入っている値を戻します。
ファイル情報データ構造のサブフィールド位置 *STATUS には、以下の表のコード が入れられます。
コード | 装置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 | 適用されません。 | 適用されません。 | 配列/テーブル・ファイルの項目が多すぎる。 |
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 で待ち時間を超過した。 |
注:
|
次の表は、ワークステーション・ファイルだけを使用している AS/400 プログラムで起こったエラーをマッピングする *STATUS 値に対するメジャー/マイナー戻りコードを示しています。 メジャー/マイナー戻りコードの詳細については、Information Center を参照してください。
(C) Copyright IBM Corporation 1992, 2006. All Rights Reserved.