このプログラムでは、銀行預金者の記録の索引付きファイルを作成します。 各索引付きファイル・レコード内のキーは INDEX-KEY (預金者の口座番号) です。 入力レコードは、このキーの昇順に並べられています。 レコードは入力ファイルから読み取られて、索引付きファイル・レコード域に転送されます。 その後、索引付きファイルのレコードが書き込まれます。
5722WDS V5R4M0 060210 LN IBM ILE COBOL CBLGUIDE/CRTIND ISERIES1 06/02/15 14:52:38 ページ 2
ソ ー ス
STMT PL SEQNO -A 1 B..+....2....+....3....+....4....+....5....+....6....+....7..IDENTFCN S コピー名 変更日付
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 ページ 3
STMT PL SEQNO -A 1 B..+....2....+....3....+....4....+....5....+....6....+....7..IDENTFCN S コピー名 変更日付
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
* * * * * ソ ー ス 仕 様 の 終 わ り * * * * *
(C) Copyright IBM Corporation 1992, 2006. All Rights Reserved.