Methods for Processing Disk Files
EXAMPLE PROGRAM 2 (Sequential-by-Key Using READ):
This example is the
same as the previous example except that the EMPL1 file is defined as a full-
procedural file, and the reading of the file is done by the READ operation code.
*****************************************************************
* PROGRAM NAME: YTDRPT2 *
* RELATED FILES: EMPL1 (Logical File) *
* PRINT (Printer File) *
* DESCRIPTION: This program shows an example of processing *
* records using the read operation code. *
* This program prints out each employee's *
* information and weekly hours worked. *
*****************************************************************
FPRINT O F 80 PRINTER
FEMPL1 IF E K DISK
* The two records (EMPREC and RCWEEK) are contained in the same
* file, and a record-identifying indicator is assigned to each
* record. The record-identifying indicators are used to control
* processing for the different record types. No control levels
* or match fields can be specified for a full-procedural file.
IEMPREC 01
I*
IRCWEEK 02
I*
* The READ operation code reads a record from the EMPL1 file. An
* end-of-file indicator is specified in positions 58 and 59. If
* the end-of-file indicator 99 is set on by the READ operation,
* the program branches to the EOFEND tag and processes the end-of-
* file routine.
C SETOFF 12
C READ EMPL1 99
C 99 GOTO EOFEND
C*
C 01 MOVE ENUM EMPNO 5 0
C*
C IF (*IN02='1') AND (ENUM=EMPNO)
C SETON 12
C ENDIF
* Since EMPL1 is defined as a full-procedural file, indicator
* *INLR has to be seton to terminate the program after processing
* the last record.
C EOFEND TAG
C 99 SETON LR
Figure 148 (Part 1 of 2). Sequential-by-Key Processing, Example 2
296 ILE RPG for AS/400 Programmer's Guide