レコード識別標識は、入力仕様書の 21 から 22 桁目の記入項目によって定義され 、対応するレコード・タイプが処理のために選択された時にオンに設定されます。 その標識は、次に、特定の演算および出力命令を条件付けするために使用するこ とができます。 レコード識別標識は、特定の順序で割り当てる必要はありません。
有効なレコード識別標識は次のとおりです。
外部記述ファイルの場合には、レコード識別標識は任意指定ですが、指定する場 合には、プログラム記述ファイルの場合と同じ規則に従ってください。
一般に、標識 01 から 99 がレコード識別標識として使用されます。 しかし、制御レベル標識 (L1 から L9) および最終レコード標識 (LR) を使用するこ ともできます。 レコード識別情報として L1 から L9 を指定した場合には、より低いレベルの標識は オンに設定されません。
レコード・タイプを処理のために選択した時に、対応するレコード識別標識が オンに設定されます。 その他すべてのレコード識別標識は、明細および合計の 演算時にファイルからレコードを検索するためにファイル命令コードが使用され ている場合 (以下を参照) を除き、オフに設定されます。 レコード識別標識は、レコードが 選択された後、入力フィールドが入力域へ転送 される前にオンに設定されます。 新しいレコードのレコード識別標識は、古い レコードの合計時にオンに設定されます。古いレコードのフィールドを使用し て合計時に処理される演算を、その古いレコードのレコード識別標識を使用して 条件付けすることはできません。 プログラム・サイクルの任意の時点に標識をオフに設定することができます。 それらは、次の 1 次または 2 次レコードが選択される前にオ フに設定されます。
演算仕様書でファイル命令コードを使用して レコードを検索する場合には、フ ァイルからレコードが検索されると同時にレコード識別標識がオンに設定され ます。 このレコード識別標識は、RPG IV サイクル中の適切な点になるまで、オフに設定されません。 (図 8 を参照してください。) したがって、 同じ RPG IV プログラム・サイクル内で同じファイルに対して複 数の命令を出している場合には、同じファイルに対する複数のレコード識別標識 だけでなく、レコード不在標識も同時にオンに設定される可能性があります。
プログラム記述ファイル中のレコードにレコード識別標識を割り当てる場合には、 以下の点に留意してください。
外部記述ファイル中のレコードにレコード識別標識を割り当ている場合には、以 下の点に留意してください。
レコード識別標識の例については、図 10 を参照してください。
*...1....+....2....+....3....+....4....+....5....+....6....+....7... IFilename++SqNORiPos1+NCCPos2+NCCPos3+NCC................................ I........................Fmt+SPFrom+To+++DcField+++++++++L1M1FrPlMnZr.... * I*Record identifying indicator 01 is set on if the record read I*contains an S in position 1 or an A in position 1. IINPUT1 NS 01 1 CS I OR 1 CA I 1 25 FLD1 * Record identifying indicator 02 is set on if the record read * contains XYZA in positions 1 through 4. I NS 02 1 CX 2 CY 3 CZ I AND 4 CA I 1 15 FLDA I 16 20 FLDB * Record identifying indicator 95 is set on if any record read * does not meet the requirements for record identifying indicators * 01 or 02. I NS 95 *...1....+....2....+....3....+....4....+....5....+....6....+....7... IRcdname+++....Ri........................................................ * * For an externally described file, record identifying indicator 10 * is set on if the ITMREC record is read and record identifying * indicator 20 is set on if the SLSREC or COMREC records are read. IITMREC 10 ISLSREC 20 ICOMREC 20
(C) Copyright IBM Corporation 1992, 2006. All Rights Reserved.