プログラム例
この例では、EMPMST ファイルが全手順更新ファイルとして定義されてい ます。 更新ファイル CHANGE はキーによって処理されます。 外部記述ファイル (EMPMST と CHANGE) の それぞれの DDS が、ENUM フィールドをキー・フィールドとして 指定します。 読み取り / 更新処理は、演算仕様書に指定された命令によってすべて制御されま す。
図 1. 外部記述ファイルのキーによる
ランダム処理
*****************************************************************
* プログラム名: EMSTUPD *
* 関連ファイル: EMPMST (物理ファイル) *
* CHANGE (物理ファイル) *
* 説明: このプログラムはキーによるランダム処理方式を *
* 使用するレコード処理例を示しています。CHAIN *
* 命令コードが使用されます。 *
* 物理ファイル CHANGE には、 *
* EMPMST ファイルに行なわれた変更がすべて入って *
* います。レコード様式名は CHGREC です。 *
* CHGREC にはブランクのままのフィールドもあり *
* ますが、その場合にはそのフィールドには変更は *
* 行なわれていません。 *
*****************************************************************
FCHANGE IP E K DISK
FEMPMST UF E K DISK
* 各レコードがプライマリー入力ファイルから読み取られるたびに、
* 社員番号 (ENUM) が検索引数として使用され、EMPMST
* ファイルの対応するレコードに連鎖されます。
* *IN03 は、対応するレコードが見付からなかった場合にオンに設定
* されます。これは正しくない ENUM が CHGREC レコードに入れられた時に
* 起こります。
C ENUM CHAIN EMPREC 03
C 03 GOTO NEXT
C NNAME IFNE *BLANK
C MOVE NNAME ENAME
C ENDIF
C NTYPE IFNE *BLANK
C MOVE NTYPE ETYPE
C ENDIF
C NDEPT IFNE *ZERO
C MOVE NDEPT EDEPT
C ENDIF
C NNHRS IFNE *ZERO
C MOVE NNHRS ENHRS
C ENDIF
C UPDATE EMPREC
C*
C NEXT TAG