自由形式構文 | READP{(EN)} 名前 {データ構造} |
コード | 演算項目 1 | 演算項目 2 | 結果フィールド | 標識 | ||
---|---|---|---|---|---|---|
READP (E N) | 名前 (ファイルまたはレコード様式) | データ構造 | _ | ER | BOF |
READP 命令は全手順ファイル (ファイル仕様書 の 18 桁目の F に よって識別される) から、前のレコードを読み取ります。
名前 オペランドは、読み取るファイルまたはレコード様式の名前でなければなりません。 レコード様式名を使用できるのは、外部記述ファイルの場合だけです。名前 にレコード様式名が指定されている場合には、検索されるレコードは、指定したタイプで前にある最初のレコードです。間にあるレコードは回避されます。
データ構造 オペランドが指定されている場合、レコードはデータ構造に直接読み込まれます。 名前 がプログラム記述ファイル (ファイル記述仕様書の 22 桁目の F によって識別される) を参照する場合、 データ構造は宣言されているファイルのレコード長と同じ長さのデータ構造にすることができます。 名前 が外部記述ファイルまたは外部記述ファイルのレコード様式 を参照する場合、データ構造は EXTNAME(...:*INPUT) または LIKEREC(...:*INPUT) で定義されているデータ構造にする 必要があります。 データ構造の定義方法、およびファイルとデータ 構造の間でどのようにデータが転送されるかについては、ファイル命令を参照してください。
READP 命令が正常に実行された場合には、ファイルは、その読み取りを満たす 前のレコードに位置付けられます。
読み取るファイルが更新ディスク・ファイルの場合には、命令拡張 N を指 定して、読み取り時にレコードをロックする必要がないことを指示することがで きます。 詳細については、「WebSphere Development Studio: ILE RPG プログラマーの手引き」を参照してください。
READP 例外 (ファイル状況コードが 1000 より大きい) を 処理するために、命令コード拡張 'E' またはエラー標識 ER を指定できますが、 両方を指定することはできません。 エラー処理の詳細については、ファイル例外/エラーを参照してください。
ファイルに前のレコードが存在しない (ファイルの始め状態) 場合にオンに設定 される標識を 75 から 76 桁目に指定することができます。 この情報は %EOF 組み込み関数からも入手することができます。この関数 は、BOF 条件が発生した場合に '1' を戻します。それ以外の場合には '0' を戻します。
エラーまたは BOF 条件の後で正常な順次操作 (例えば、READ または READP) を さらに処理するためには、ファイルの位置を決め直さなければなりま せん (例えば、CHAIN、SETLL、または SETGT)。
ヌル値可能フィールドを持つレコードの読み取りについて は、データベースのヌル値サポートを参照してください。
詳細については、ファイル命令を参照してください。
図 338 に、演算項目 2 にファイル名およびレコード様式 名を指定した READP 命令を示します。
*...1....+....2....+....3....+....4....+....5....+....6....+....7...+.... CL0N01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq.... * * The READP operation reads the prior record from FILEA. * * The %EOF built-in function is set to return '1' if beginning * of file is encountered. When %EOF returns '1', the program * branches to the label BOF specified in the GOTO operation. C READP FILEA C IF %EOF C GOTO BOF C ENDIF * * The READP operation reads the next prior record of the type * REC1 from an externally described file. (REC1 is a record * format name.) Indicator 72 is set on if beginning of file is * encountered during processing of the READP operation. When * indicator 72 is set on, the program branches to the label BOF * specified in the GOTO operation. C READP PREC1 72 C 72 GOTO BOF * C BOF TAG
(C) Copyright IBM Corporation 1992, 2006. All Rights Reserved.