ILE COBOL Programmer's Guide

Sequential File Updating and Extension

This program updates and extends the file created by the CRTSEQ program. The INPUT-FILE and the MASTER-FILE are each read. When a match is found between INPUT-EMPLOYEE-NUMBER and MST-EMPLOYEE-NUMBER, the input record replaces the original record. After the MASTER-FILE is processed, new employee records are added to the end of the file.

Figure 123. Example of a Sequential File Update Program


 5722WDS V5R3M0  030905 LN  IBM ILE COBOL                 CBLGUIDE/UPDTSEQ         ISERIES1   03/09/15 14:48:09        Page      2
                                     S o u r c e
  STMT PL SEQNBR -A 1 B..+....2....+....3....+....4....+....5....+....6....+....7..IDENTFCN  S COPYNAME   CHG DATE
     1     000100 IDENTIFICATION DIVISION.
     2     000200 PROGRAM-ID.  UPDTSEQ.
           000300
     3     000400 ENVIRONMENT DIVISION.
     4     000500 CONFIGURATION SECTION.
     5     000600 SOURCE-COMPUTER.  IBM-ISERIES
     6     000700 OBJECT-COMPUTER.  IBM-ISERIES
     7     000800 INPUT-OUTPUT SECTION.
     8     000900 FILE-CONTROL.
     9     001000     SELECT INPUT-FILE ASSIGN TO DISK-FILES
    11     001100         FILE STATUS IS INPUT-FILE-STATUS.
    12     001200     SELECT MASTER-FILE ASSIGN TO DISK-MSTFILEB
    14     001300         FILE STATUS IS MASTER-FILE-STATUS.
           001400
    15     001500 DATA DIVISION.
    16     001600 FILE SECTION.
    17     001700 FD  INPUT-FILE.
    18     001800 01  INPUT-RECORD.
    19     001900     05  INPUT-EMPLOYEE-NUMBER      PICTURE 9(6).
    20     002000     05  INPUT-EMPLOYEE-NAME        PICTURE X(28).
    21     002100     05  INPUT-EMPLOYEE-CODE        PICTURE 9.
    22     002200     05  INPUT-EMPLOYEE-SALARY      PICTURE 9(6)V99.
    23     002300 FD  MASTER-FILE.
    24     002400 01  MASTER-RECORD.
    25     002500     05 MST-EMPLOYEE-NUMBER         PICTURE 9(6).
    26     002600     05 MST-EMPLOYEE-NAME           PICTURE X(28).
    27     002700     05 MST-EMPLOYEE-CODE           PICTURE 9.
    28     002800     05 MST-EMPLOYEE-SALARY         PICTURE 9(6)V99.
    29     002900 WORKING-STORAGE SECTION.
    30     003000 77  INPUT-FILE-STATUS              PICTURE XX.
    31     003100 77  MASTER-FILE-STATUS             PICTURE XX.
    32     003200 77  OP-NAME                        PICTURE X(12).
    33     003300 01  INPUT-END                      PICTURE X VALUE SPACE.
    34     003400     88 THE-END-OF-INPUT            VALUE "E".
    35     003500 01  MASTER-END                     PICTURE X VALUE SPACE.
    36     003600     88 THE-END-OF-MASTER           VALUE "E".
    37     003700 PROCEDURE DIVISION.
    38     003800 DECLARATIVES.
           003900 INPUT-ERROR SECTION.
           004000      USE AFTER STANDARD ERROR PROCEDURE ON INPUT-FILE.
           004100 INPUT-ERROR-PARA.
    39     004200      DISPLAY "UNEXPECTED ERROR ON ", OP-NAME, "FOR INPUT-FILE".
    40     004300      DISPLAY "FILE STATUS IS ", INPUT-FILE-STATUS.
    41     004400      DISPLAY "PROCESSING ENDED".
    42     004500      STOP RUN.
           004600
           004700 I-O-ERROR SECTION.
           004800      USE AFTER STANDARD ERROR PROCEDURE ON MASTER-FILE.
           004900 I-O-ERROR-PARA.
    43     005000      DISPLAY "UNEXPECTED ERROR ON ", OP-NAME, "FOR MASTER-FILE".
    44     005100      DISPLAY "FILE STATUS IS ", MASTER-FILE-STATUS.
    45     005200      DISPLAY "PROCESSING ENDED".
    46     005300      STOP RUN.
 5722WDS V5R3M0  030905 LN  IBM ILE COBOL                 CBLGUIDE/UPDTSEQ         ISERIES1   03/09/15 14:48:09        Page      3
  STMT PL SEQNBR -A 1 B..+....2....+....3....+....4....+....5....+....6....+....7..IDENTFCN  S COPYNAME   CHG DATE
           005400 END DECLARATIVES.
           005500
           005600 MAIN-PROGRAM SECTION.
           005700 MAINLINE.
    47     005800        MOVE "OPEN" TO OP-NAME.
    48     005900        OPEN INPUT INPUT-FILE
           006000             I-O   MASTER-FILE.
           006100
    49     006200       PERFORM READ-INPUT-FILE.
    50     006300       PERFORM READ-MASTER-FILE.
    51     006400       PERFORM PROCESS-FILES UNTIL THE-END-OF-INPUT.
           006500
    52     006600       MOVE "CLOSE" TO OP-NAME.
    53     006700       CLOSE MASTER-FILE
           006800             INPUT-FILE.
    54     006900       STOP RUN.
           007000
           007100 READ-INPUT-FILE.
    55     007200       MOVE "READ" TO OP-NAME.
    56     007300       READ INPUT-FILE
    57     007400           AT END SET THE-END-OF-INPUT TO TRUE
           007500       END-READ.
           007600
           007700 READ-MASTER-FILE.
    58     007800       MOVE "READ" TO OP-NAME.
    59     007900       READ MASTER-FILE
           008000           AT END
    60     008100              SET THE-END-OF-MASTER TO TRUE
    61     008200              MOVE "AT END CLOSE" TO OP-NAME
    62     008300              CLOSE MASTER-FILE
    63     008400              MOVE "OPEN EXTEND" TO OP-NAME
    64     008500              OPEN EXTEND MASTER-FILE
           008600       END-READ.
           008700
           008800 PROCESS-FILES.
    65     008900     IF THE-END-OF-MASTER THEN
    66     009000         WRITE MASTER-RECORD FROM INPUT-RECORD
    67     009100         PERFORM READ-INPUT-FILE
           009200     ELSE
    68     009300         IF MST-EMPLOYEE-NUMBER
           009400            LESS THAN INPUT-EMPLOYEE-NUMBER THEN
    69     009500              PERFORM READ-MASTER-FILE
           009600        ELSE
    70     009700           IF MST-EMPLOYEE-NUMBER EQUAL INPUT-EMPLOYEE-NUMBER THEN
    71     009800              MOVE "REWRITE" TO OP-NAME
    72     009900              REWRITE MASTER-RECORD FROM INPUT-RECORD
    73     010000              PERFORM READ-INPUT-FILE
    74     010100              PERFORM READ-MASTER-FILE
           010200           ELSE
    75     010300               DISPLAY "ERROR RECORD -> ", INPUT-EMPLOYEE-NUMBER
    76     010400               PERFORM READ-INPUT-FILE
           010500           END-IF
           010600        END-IF
           010700     END-IF.
                           * * * * *   E N D   O F   S O U R C E   * * * * *


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