プログラム例

この例では、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