This program creates an indexed file of summary records for bank depositors. The key within each indexed file record is INDEX-KEY (the depositor's account number); the input records are ordered in ascending sequence upon this key. Records are read from the input file and transferred to the indexed file record area. The indexed file record is then written.
5722WDS V5R4M0 060210 LN IBM ILE COBOL CBLGUIDE/CRTIND ISERIES1 06/02/15 14:52:38 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. CRTIND.
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 INDEXED-FILE ASSIGN TO DISK-INDEXFILE
11 001100 ORGANIZATION IS INDEXED
12 001200 ACCESS IS SEQUENTIAL
13 001300 RECORD KEY IS INDEX-KEY
14 001400 FILE STATUS IS INDEXED-FILE-STATUS.
15 001500 SELECT INPUT-FILE ASSIGN TO DISK-FILEG
17 001600 FILE STATUS IS INPUT-FILE-STATUS.
001700
18 001800 DATA DIVISION.
19 001900 FILE SECTION.
20 002000 FD INDEXED-FILE.
21 002100 01 INDEX-RECORD.
22 002200 05 INDEX-KEY PICTURE X(10).
23 002300 05 INDEX-FLD1 PICTURE X(10).
24 002400 05 INDEX-NAME PICTURE X(20).
25 002500 05 INDEX-BAL PICTURE S9(5)V99.
26 002600 FD INPUT-FILE.
27 002700 01 INPUT-RECORD.
28 002800 05 INPUT-KEY PICTURE X(10).
29 002900 05 INPUT-NAME PICTURE X(20).
30 003000 05 INPUT-BAL PICTURE S9(5)V99.
31 003100 WORKING-STORAGE SECTION.
32 003200 77 INDEXED-FILE-STATUS PICTURE XX.
33 003300 77 INPUT-FILE-STATUS PICTURE XX.
34 003400 77 OP-NAME PICTURE X(7).
35 003500 01 INPUT-END PICTURE X VALUE SPACES.
36 003600 88 THE-END-OF-INPUT VALUE "E".
003700
37 003800 PROCEDURE DIVISION.
38 003900 DECLARATIVES.
004000 INPUT-ERROR SECTION.
004100 USE AFTER STANDARD ERROR PROCEDURE ON INPUT-FILE.
004200 INPUT-ERROR-PARA.
39 004300 DISPLAY "UNEXPECTED ERROR ON ", OP-NAME, " FOR INPUT-FILE ".
40 004400 DISPLAY "FILE STATUS IS ", INPUT-FILE-STATUS.
41 004500 DISPLAY "PROCESSING ENDED"
42 004600 STOP RUN.
004700
004800 OUTPUT-ERROR SECTION.
004900 USE AFTER STANDARD ERROR PROCEDURE ON INDEXED-FILE.
005000 OUTPUT-ERROR-PARA.
43 005100 DISPLAY "UNEXPECTED ERROR ON ", OP-NAME, " FOR INDEXED-FILE ".
44 005200 DISPLAY "FILE STATUS IS ", INDEXED-FILE-STATUS.
45 005300 DISPLAY "PROCESSING ENDED"
5722WDS V5R4M0 060210 LN IBM ILE COBOL CBLGUIDE/CRTIND ISERIES1 06/02/15 14:52:38 Page 3
STMT PL SEQNBR -A 1 B..+....2....+....3....+....4....+....5....+....6....+....7..IDENTFCN S COPYNAME CHG DATE
46 005400 STOP RUN.
005500 END DECLARATIVES.
005600
005700 MAIN-PROGRAM SECTION.
005800 MAINLINE.
47 005900 MOVE "OPEN" TO OP-NAME.
48 006000 OPEN INPUT INPUT-FILE
006100 OUTPUT INDEXED-FILE.
006200
49 006300 MOVE "READ" TO OP-NAME.
50 006400 READ INPUT-FILE
51 006500 AT END SET THE-END-OF-INPUT TO TRUE
006600 END-READ.
006700
52 006800 PERFORM UNTIL THE-END-OF-INPUT
53 006900 MOVE INPUT-KEY TO INDEX-KEY
54 007000 MOVE INPUT-NAME TO INDEX-NAME
55 007100 MOVE INPUT-BAL TO INDEX-BAL
56 007200 MOVE SPACES TO INDEX-FLD1
57 007300 MOVE "WRITE" TO OP-NAME
58 007400 WRITE INDEX-RECORD
007500
59 007600 MOVE "READ" TO OP-NAME
60 007700 READ INPUT-FILE
61 007800 AT END SET THE-END-OF-INPUT TO TRUE
007900 END-READ
008000 END-PERFORM.
008100
62 008200 MOVE "CLOSE" TO OP-NAME.
63 008300 CLOSE INPUT-FILE
008400 INDEXED-FILE.
64 008500 STOP RUN.
008600
* * * * * E N D O F S O U R C E * * * * *(C) Copyright IBM Corporation 1992, 2006. All Rights Reserved.