自由形式構文 | READC{(E)} レコード名 {データ構造} |
コード | 演算項目 1 | 演算項目 2 | 結果フィールド | 標識 | ||
---|---|---|---|---|---|---|
READC (E) | レコード名 | データ構造 | _ | ER | EOF |
READC 命令は、サブファイルの次の変更済みレコードを取り出すために、 外部記述ワークステーション・ファイルのみで使用することができます。 レコード名 オペランドは必須で、ファイル仕様書の SFILE キーワードによってサブファイルとして定義されたレコード様式の名前でなければなりません (SFILE キーワード については、SFILE(レコード様式:RRN フィールド)を参照してください)。
複数装置ファイルの場合には、データはプログラム装置に対応するサブファ イル・レコードから読み取られます。このプログラム装置は、ファイル仕様書の DEVID キーワードに指定されたフィールドによって識別されます。 そのような 指定がない場合には、データは最後の正常な入力操作で使用されたプログラム 装置から読み取られます。
READC 例外 (ファイル状況コードが 1000 より大きい) を 処理するために、命令コード拡張 'E' またはエラー標識 ER を指定できますが、 両方を指定することはできません。 エラー処理の詳細については、ファイル例外/エラーを参照してください。
サブファイルにそれ以上変更済みレコードがない時にオンに 設定される標識を 75 から 76 桁目に指定することができます。 この情報 は %EOF 組み込み関数からも入手することができます。この関数は、サブファイルに それ以上変更済みレコードがない場合に '1' を戻します。それ以外の場合には '0' を戻します。
データ構造 オペランドが指定されている場合、レコードはデータ構造に直接読み込まれます。 データ構造は、EXTNAME(...:*INPUT) または LIKEREC(...:*INPUT) で定義されているデータ構造にする必要があります。 データ構造の定義方法、およびファイルとデータ 構造の間でどのようにデータが転送されるかについては、ファイル命令を参照してください。
*...1....+....2....+....3....+....4....+....5....+....6....+....7...+.... FFilename++IPEASFRlen+LKlen+AIDevice+.Keywords++++++++++++++++++++++++++++ * CUSSCR is a WORKSTN file which displays a list of records from * the CUSINFO file. SFCUSR is the subfile name. * FCUSINFO UF E DISK FCUSSCR CF E WORKSTN SFILE(SFCUSR:RRN) F CL0N01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq.... * After the subfile has been loaded with the records from the * CUSINFO file. It is written out to the screen using EXFMT with * the subfile control record, CTLCUS. If there are any changes in * any one of the records listed on the screen, the READC operation * will read the changed records one by one in the do while loop. * The corresponding record in the CUSINFO file will be located * with the CHAIN operation and will be updated with the changed * field. C : C EXFMT CTLCUS C : * SCUSNO, SCUSNAM, SCUSADR, and SCUSTEL are fields defined in the * subfile. CUSNAM, CUSADR, and CUSTEL are fields defined in a * record, CUSREC which is defined in the file CUSINFO. * C READC SFCUSR C DOW %EOF = *OFF C SCUSNO CHAIN (E) CUSINFO * Update the record only if the record is found in the file. C : C IF NOT %ERROR C EVAL CUSNAM = SCUSNAM C EVAL CUSADR = SCUSADR C EVAL CUSTEL = SCUSTEL C UPDATE CUSREC C ENDIF C READC (E) SFCUSR C ENDDO
(C) Copyright IBM Corporation 1992, 2006. All Rights Reserved.