このプログラムでは、CRTSEQ プログラムによって作成されたファイルを更新および拡張します。 INPUT-FILE と MASTER-FILE をそれぞれ読み込みます。 INPUT-EMPLOYEE-NUMBER と MST-EMPLOYEE-NUMBER が一致していれば、元のレコードが入力レコードによって置き換えられます。 MASTER-FILE を処理した後、新しい従業員レコードをファイルの末尾に追加します。
5722WDS V5R4M0 060210 LN IBM ILE COBOL CBLGUIDE/UPDTSEQ ISERIES1 06/02/15 14:48:09 ページ 2
ソ ー ス
STMT PL SEQNO -A 1 B..+....2....+....3....+....4....+....5....+....6....+....7..IDENTFCN S コピー名 変更日付
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 V5R4M0 060210 LN IBM ILE COBOL CBLGUIDE/UPDTSEQ ISERIES1 06/02/15 14:48:09 ページ 3
STMT PL SEQNO -A 1 B..+....2....+....3....+....4....+....5....+....6....+....7..IDENTFCN S コピー名 変更日付
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.
* * * * * ソ ー ス 仕 様 の 終 わ り * * * * *
(C) Copyright IBM Corporation 1992, 2006. All Rights Reserved.