ILE RPG Programmer's Guide


EXAMPLE PROGRAM

In this example, the EMPMST file is defined as an Update Full-Procedural file. The update file CHANGE is to be processed by keys. The DDS for each of the externally described files (EMPMST and CHANGE) identify the ENUM field as the key field. The read/update processes are all controlled by the operations specified in the Calculation Specifications.

Figure 178. Random-by-Key Processing of an Externally Described File
      *****************************************************************
      *  PROGRAM NAME:  EMSTUPD                                       *
      * RELATED FILES:  EMPMST   (Physical File)                      *
      *                 CHANGE   (Physical File)                      *
      *   DESCRIPTION:  This program shows the processing of records  *
      *                 using the random-by-key method. The CHAIN     *
      *                 operation code is used.                       *
      *                 The physical file CHANGE contains all the     *
      *                 changes made to the EMPMST file.  Its record  *
      *                 format name is CHGREC.  There may be some     *
      *                 fields in the CHGREC that are left blank,     *
      *                 in that case, no changes are made to those    *
      *                 fields.                                       *
      *****************************************************************
     FCHANGE    IP   E           K DISK
     FEMPMST    UF   E           K DISK
      *  As each record is read from the primary input file, CHANGE,
      *  the employee number (ENUM) is used as the search argument
      *  to chain to the corresponding record in the EMPMST file.
      *  *IN03 will be set on if no corresponding record is found, which
      *  occurs when an invalid ENUM is entered into the CHGREC record.
     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

[ Top of Page | Previous Page | Next Page | Contents | Index ]