ここでは、レコード域または別個の標識域のいずれかで標識を使用する ILE COBOL プログラムの例を示します。
すべての ILE COBOL プログラムは、次のことを行います。
図 135 には、レコード域内の標識は使用するが、入出力ステートメントの中で INDICATORS 句を使わない ILE COBOL プログラムを示します。 図 134 には、そのファイルに対する関連付けられた DDS を示します。
図 136 には、レコード域の中の標識を使用し、入出力ステートメントで INDICATORS 句を使用する ILE COBOL プログラムが示されています。 図 136 に対する関連付けられた DDS は、図 134 です。
図 138 には、形式 2 の COPY ステートメントを使用して WORKING-STORAGE SECTION 中で定義された別個の標識域で標識を使う ILE COBOL プログラムが示されています。 図 137 には、そのファイルに対する関連付けられた DDS を示します。
図 139 で、WORKING-STORAGE SECTION のテーブルで定義され、個別の標識域の標識を使用する、ILE COBOL プログラムを示します。 そのファイルに関連する DDS は 図 137 と同じです。
....+....1....+....2....+....3....+....4....+....5....+....6....+....7....+.... A* DISPLAY FILE DDS FOR INDICATOR EXAMPLES - INDICATORS IN RECORD AREA A* DSPFILEX 1 A 2 R FORMAT1 3 CF01(99 'END OF PROGRAM') A CF05(51 'DAILY REPORT') A CF09(52 'MONTHLY REPORT') A* A 4 10 10'DEPARTMENT NUMBER:' A DEPTNO 5 I 10 32 A 5 01 20 26'PRODUCE MONTHLY REPORTS' A DSPATR(BL) A* A 6 24 01'F5 = DAILY REPORT' A 24 26'F9 = MONTHLY REPORT' A 24 53'F1 = TERMINATE' A R ERRFMT A 98 6 5'INPUT-OUTPUT ERROR'
5722WDS V5R4M0 060210 LN IBM ILE COBOL CBLGUIDE/INDIC1 ISERIES1 06/02/15 14:59:29 ページ 2 ソ ー ス STMT PL SEQNO -A 1 B..+....2....+....3....+....4....+....5....+....6....+....7..IDENTFCN S コピー名 変更日付 1 000100 IDENTIFICATION DIVISION. 2 000200 PROGRAM-ID. INDIC1. 000300* SAMPLE PROGRAM WITH INDICATORS IN RECORD AREA. 000400 3 000500 ENVIRONMENT DIVISION. 4 000600 CONFIGURATION SECTION. 5 000700 SOURCE-COMPUTER. IBM-ISERIES 6 000800 OBJECT-COMPUTER. IBM-ISERIES 7 000900 INPUT-OUTPUT SECTION. 8 001000 FILE-CONTROL. 9 001100 SELECT DISPFILE 10 001200 ASSIGN TO WORKSTATION-DSPFILEX 1 11 001300 ORGANIZATION IS TRANSACTION 12 001400 ACCESS IS SEQUENTIAL. 001500 13 001600 DATA DIVISION. 14 001700 FILE SECTION. 15 001800 FD DISPFILE. 16 001900 01 DISP-REC. 002000 COPY DDS-ALL-FORMATS OF DSPFILEX. 2 17 +000001 05 DSPFILEX-RECORD PIC X(8). <-ALL-FMTS +000002* INPUT FORMAT:FORMAT1 FROM FILE DSPFILEX OF LIBRARY CBLGUIDE <-ALL-FMTS +000003* <-ALL-FMTS 18 +000004 05 FORMAT1-I REDEFINES DSPFILEX-RECORD. <-ALL-FMTS 19 +000005 06 FORMAT1-I-INDIC. <-ALL-FMTS 20 +000006 07 IN99 PIC 1 INDIC 99. 3 <-ALL-FMTS +000007* END OF PROGRAM <-ALL-FMTS 21 +000008 07 IN51 PIC 1 INDIC 51. <-ALL-FMTS +000009* DAILY REPORT <-ALL-FMTS 22 +000010 07 IN52 PIC 1 INDIC 52. <-ALL-FMTS +000011* MONTHLY REPORT <-ALL-FMTS 23 +000012 06 DEPTNO PIC X(5). <-ALL-FMTS +000013* OUTPUT FORMAT:FORMAT1 FROM FILE DSPFILEX OF LIBRARY CBLGUIDE <-ALL-FMTS +000014* <-ALL-FMTS 24 +000015 05 FORMAT1-O REDEFINES DSPFILEX-RECORD. <-ALL-FMTS 25 +000016 06 FORMAT1-O-INDIC. <-ALL-FMTS 26 +000017 07 IN01 PIC 1 INDIC 01. <-ALL-FMTS +000018* INPUT FORMAT:ERRFMT FROM FILE DSPFILEX OF LIBRARY CBLGUIDE <-ALL-FMTS +000019* <-ALL-FMTS +000020* 05 ERRFMT-I REDEFINES DSPFILEX-RECORD. <-ALL-FMTS +000021* OUTPUT FORMAT:ERRFMT FROM FILE DSPFILEX OF LIBRARY CBLGUIDE <-ALL-FMTS +000022* <-ALL-FMTS 27 +000023 05 ERRFMT-O REDEFINES DSPFILEX-RECORD. <-ALL-FMTS 28 +000024 06 ERRFMT-O-INDIC. <-ALL-FMTS 29 +000025 07 IN98 PIC 1 INDIC 98. <-ALL-FMTS 002100 30 002200 WORKING-STORAGE SECTION. 31 002300 01 CURRENT-DATE. 32 002400 05 CURR-YEAR PIC 9(2). 33 002500 05 CURR-MONTH PIC 9(2). 34 002600 05 CURR-DAY PIC 9(2). 35 002700 01 INDIC-AREA. 4 36 002800 05 IN01 PIC 1.
5722WDS V5R4M0 060210 LN IBM ILE COBOL CBLGUIDE/INDIC1 ISERIES1 06/02/15 14:59:29 ページ 3 STMT PL SEQNO -A 1 B..+....2....+....3....+....4....+....5....+....6....+....7..IDENTFCN S コピー名 変更日付 37 002900 88 NEW-MONTH VALUE B"1". 5 38 003000 05 IN51 PIC 1. 39 003100 88 WANT-DAILY VALUE B"1". 40 003200 05 IN52 PIC 1. 41 003300 88 WANT-MONTHLY VALUE B"1". 42 003400 05 IN98 PIC 1. 43 003500 88 IO-ERROR VALUE B"1". 44 003600 05 IN99 PIC 1. 45 003700 88 NOT-END-OF-JOB VALUE B"0". 46 003800 88 END-OF-JOB VALUE B"1". 003900 47 004000 PROCEDURE DIVISION. 48 004100 DECLARATIVES. 004200 DISPLAY-ERR-SECTION SECTION. 004300 USE AFTER STANDARD EXCEPTION PROCEDURE ON DISPFILE. 004400 DISPLAY-ERR-PARAGRAPH. 49 004500 SET IO-ERROR TO TRUE 50 004600 MOVE CORR INDIC-AREA TO ERRFMT-O-INDIC *** CORRESPONDING items for statement 50: *** IN98 *** End of CORRESPONDING items for statement 50 51 004700 WRITE DISP-REC FORMAT IS "ERRFMT" 004800 END-WRITE 52 004900 CLOSE DISPFILE. 53 005000 STOP RUN. 005100 END DECLARATIVES. 005200 005300 MAIN-PROGRAM SECTION. 005400 MAINLINE. 54 005500 OPEN I-O DISPFILE. 55 005600 ACCEPT CURRENT-DATE FROM DATE. 56 005700 SET NOT-END-OF-JOB TO TRUE. 57 005800 PERFORM UNTIL END-OF-JOB 005900 58 006000 MOVE ZEROS TO INDIC-AREA 6 59 006100 IF CURR-DAY = 01 THEN 60 006200 SET NEW-MONTH TO TRUE 7 006300 END-IF 61 006400 MOVE CORR INDIC-AREA TO FORMAT1-O-INDIC 8 *** CORRESPONDING items for statement 61: *** IN01 *** End of CORRESPONDING items for statement 61 62 006500 WRITE DISP-REC FORMAT IS "FORMAT1" 9 006600 END-WRITE 006700 63 006800 MOVE ZEROS TO INDIC-AREA 64 006900 READ DISPFILE FORMAT IS "FORMAT1" 10 007000 END-READ 65 007100 MOVE CORR FORMAT1-I-INDIC TO INDIC-AREA 11 *** CORRESPONDING items for statement 65: *** IN99 *** IN51 *** IN52 *** End of CORRESPONDING items for statement 65 66 007200 IF WANT-DAILY THEN 67 007300 CALL "DAILY" USING DEPTNO 007400 ELSE 68 007500 IF WANT-MONTHLY THEN 69 007600 CALL "MONTHLY" USING DEPTNO 12 007700 END-IF 007800 END-IF 007900 008000 END-PERFORM. 70 008100 CLOSE DISPFILE. 71 008200 STOP RUN. * * * * * ソ ー ス 仕 様 の 終 わ り * * * * *
別個の標識域はなく、 これ以前の MOVE CORRESPONDING ステートメントでレコード域内に標識値が設定されているので、INDICATORS 句は不要です。
5722WDS V5R4M0 060210 LN IBM ILE COBOL CBLGUIDE/INDIC1 ISERIES1 06/02/15 15:00:29 ページ 2 ソ ー ス STMT PL SEQNO -A 1 B..+....2....+....3....+....4....+....5....+....6....+....7..IDENTFCN S コピー名 変更日付 1 000100 IDENTIFICATION DIVISION. 2 000200 PROGRAM-ID. INDIC2. 000300* SAMPLE PROGRAM - FILE WITH INDICATORS IN RECORD AREA 000400 3 000500 ENVIRONMENT DIVISION. 4 000600 CONFIGURATION SECTION. 5 000700 SOURCE-COMPUTER. IBM-ISERIES 6 000800 OBJECT-COMPUTER. IBM-ISERIES 7 000900 INPUT-OUTPUT SECTION. 8 001000 FILE-CONTROL. 9 001100 SELECT DISPFILE 10 001200 ASSIGN TO WORKSTATION-DSPFILEX 1 11 001300 ORGANIZATION IS TRANSACTION 12 001400 ACCESS IS SEQUENTIAL. 001500 13 001600 DATA DIVISION. 14 001700 FILE SECTION. 15 001800 FD DISPFILE. 16 001900 01 DISP-REC. 002000 COPY DDS-ALL-FORMATS OF DSPFILEX. 2 17 +000001 05 DSPFILEX-RECORD PIC X(8). <-ALL-FMTS +000002* INPUT FORMAT:FORMAT1 FROM FILE DSPFILEX OF LIBRARY CBLGUIDE <-ALL-FMTS +000003* <-ALL-FMTS 18 +000004 05 FORMAT1-I REDEFINES DSPFILEX-RECORD. <-ALL-FMTS 19 +000005 06 FORMAT1-I-INDIC. <-ALL-FMTS 20 +000006 07 IN99 PIC 1 INDIC 99. 3 <-ALL-FMTS +000007* END OF PROGRAM <-ALL-FMTS 21 +000008 07 IN51 PIC 1 INDIC 51. <-ALL-FMTS +000009* DAILY REPORT <-ALL-FMTS 22 +000010 07 IN52 PIC 1 INDIC 52. <-ALL-FMTS +000011* MONTHLY REPORT <-ALL-FMTS 23 +000012 06 DEPTNO PIC X(5). <-ALL-FMTS +000013* OUTPUT FORMAT:FORMAT1 FROM FILE DSPFILEX OF LIBRARY CBLGUIDE <-ALL-FMTS +000014* <-ALL-FMTS 24 +000015 05 FORMAT1-O REDEFINES DSPFILEX-RECORD. <-ALL-FMTS 25 +000016 06 FORMAT1-O-INDIC. <-ALL-FMTS 26 +000017 07 IN01 PIC 1 INDIC 01. <-ALL-FMTS +000018* INPUT FORMAT:ERRFMT FROM FILE DSPFILEX OF LIBRARY CBLGUIDE <-ALL-FMTS +000019* <-ALL-FMTS +000020* 05 ERRFMT-I REDEFINES DSPFILEX-RECORD. <-ALL-FMTS +000021* OUTPUT FORMAT:ERRFMT FROM FILE DSPFILEX OF LIBRARY CBLGUIDE <-ALL-FMTS +000022* <-ALL-FMTS 27 +000023 05 ERRFMT-O REDEFINES DSPFILEX-RECORD. <-ALL-FMTS 28 +000024 06 ERRFMT-O-INDIC. <-ALL-FMTS 29 +000025 07 IN98 PIC 1 INDIC 98. <-ALL-FMTS 002100 30 002200 WORKING-STORAGE SECTION. 31 002300 01 CURRENT-DATE. 32 002400 05 CURR-YEAR PIC 9(2). 33 002500 05 CURR-MONTH PIC 9(2). 34 002600 05 CURR-DAY PIC 9(2). 002700 35 002800 77 IND-OFF PIC 1 VALUE B"0".
5722WDS V5R4M0 060210 LN IBM ILE COBOL CBLGUIDE/INDIC1 ISERIES1 06/02/15 15:00:29 ページ 3 STMT PL SEQNO -A 1 B..+....2....+....3....+....4....+....5....+....6....+....7..IDENTFCN S コピー名 変更日付 36 002900 77 IND-ON PIC 1 VALUE B"1". 003000 37 003100 01 RESPONSE-INDICS. 38 003200 05 END-OF-PROGRAM PIC 1. 4 39 003300 05 DAILY-REPORT PIC 1. 40 003400 05 MONTHLY-REPORT PIC 1. 41 003500 01 OPTION-INDICS. 42 003600 05 NEW-MONTH PIC 1. 43 003700 01 ERROR-INDICS. 44 003800 05 IO-ERROR PIC 1. 003900 45 004000 PROCEDURE DIVISION. 46 004100 DECLARATIVES. 004200 DISPLAY-ERR-SECTION SECTION. 004300 USE AFTER STANDARD EXCEPTION PROCEDURE ON DISPFILE. 004400 DISPLAY-ERR-PARAGRAPH. 47 004500 MOVE IND-ON TO IO-ERROR 48 004600 WRITE DISP-REC FORMAT IS "ERRFMT" 004700 INDICATORS ARE ERROR-INDICS 004800 END-WRITE 49 004900 CLOSE DISPFILE. 50 005000 STOP RUN. 005100 END DECLARATIVES. 005200 005300 MAIN-PROGRAM SECTION. 005400 MAINLINE. 51 005500 OPEN I-O DISPFILE. 52 005600 ACCEPT CURRENT-DATE FROM DATE. 53 005700 MOVE IND-OFF TO END-OF-PROGRAM. 54 005800 PERFORM UNTIL END-OF-PROGRAM = IND-ON 55 005900 MOVE ZEROS TO OPTION-INDICS 56 006000 IF CURR-DAY = 01 THEN 5 57 006100 MOVE IND-ON TO NEW-MONTH 006200 END-IF 58 006300 WRITE DISP-REC FORMAT IS "FORMAT1" 6 006400 INDICATORS ARE OPTION-INDICS 006500 END-WRITE 006600 59 006700 MOVE ZEROS TO RESPONSE-INDICS 60 006800 READ DISPFILE FORMAT IS "FORMAT1" 7 006900 INDICATORS ARE RESPONSE-INDICS 8 007000 END-READ 61 007100 IF DAILY-REPORT = IND-ON THEN 62 007200 CALL "DAILY" USING DEPTNO 9 007300 ELSE 63 007400 IF MONTHLY-REPORT = IND-ON THEN 64 007500 CALL "MONTHLY" USING DEPTNO 007600 END-IF 007700 END-IF 007800 007900 END-PERFORM 65 008000 CLOSE DISPFILE. 66 008100 STOP RUN. 008200 * * * * * ソ ー ス 仕 様 の 終 わ り * * * * *
....+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....
A* DISPLAY FILE FOR INDICATOR EXAMPLES - INDICATORS IN SI AREA
A* DSPFILE
A INDARA 1
A R FORMAT1 CF01(99 'END OF PROGRAM')
A CF05(51 'DAILY REPORT')
A CF09(52 'MONTHLY REPORT')
A*
A 10 10'DEPARTMENT NUMBER:'
A DEPTNO 5 I 10 32
A 01 20 26'PRODUCE MONTHLY REPORTS'
A DSPATR(BL)
A*
A 24 01'F5 = DAILY REPORT'
A 24 26'F9 = MONTHLY REPORT'
A 24 53'F1 = TERMINATE'
A R ERRFMT
A 98 6 5'INPUT-OUTPUT ERROR'
5722WDS V5R4M0 060210 LN IBM ILE COBOL CBLGUIDE/INDIC1 ISERIES1 06/02/15 15:01:36 ページ 2 ソ ー ス STMT PL SEQNO -A 1 B..+....2....+....3....+....4....+....5....+....6....+....7..IDENTFCN S コピー名 変更日付 1 000100 IDENTIFICATION DIVISION. 2 000200 PROGRAM-ID. INDIC3. 000300* SAMPLE PROGRAM - FILE WITH SEPERATE INDICATORS AREA 000400 3 000500 ENVIRONMENT DIVISION. 4 000600 CONFIGURATION SECTION. 5 000700 SOURCE-COMPUTER. IBM-ISERIES 6 000800 OBJECT-COMPUTER. IBM-ISERIES 7 000900 INPUT-OUTPUT SECTION. 8 001000 FILE-CONTROL. 9 001100 SELECT DISPFILE 10 001200 ASSIGN TO WORKSTATION-DSPFILE-SI 1 11 001300 ORGANIZATION IS TRANSACTION 12 001400 ACCESS IS SEQUENTIAL. 001500 13 001600 DATA DIVISION. 14 001700 FILE SECTION. 15 001800 FD DISPFILE. 16 001900 01 DISP-REC. 002000 COPY DDS-ALL-FORMATS OF DSPFILE. 2 17 +000001 05 DSPFILE-RECORD PIC X(5). <-ALL-FMTS +000002* INPUT FORMAT:FORMAT1 FROM FILE DSPFILE OF LIBRARY CBLGUIDE <-ALL-FMTS +000003* <-ALL-FMTS 18 +000004 05 FORMAT1-I REDEFINES DSPFILE-RECORD. <-ALL-FMTS 19 +000005 06 DEPTNO PIC X(5). <-ALL-FMTS +000006* OUTPUT FORMAT:FORMAT1 FROM FILE DSPFILE OF LIBRARY CBLGUIDE <-ALL-FMTS +000007* <-ALL-FMTS +000008* 05 FORMAT1-O REDEFINES DSPFILE-RECORD. <-ALL-FMTS +000009* INPUT FORMAT:ERRFMT FROM FILE DSPFILE OF LIBRARY CBLGUIDE <-ALL-FMTS +000010* <-ALL-FMTS +000011* 05 ERRFMT-I REDEFINES DSPFILE-RECORD. <-ALL-FMTS +000012* OUTPUT FORMAT:ERRFMT FROM FILE DSPFILE OF LIBRARY CBLGUIDE <-ALL-FMTS +000013* <-ALL-FMTS +000014* 05 ERRFMT-O REDEFINES DSPFILE-RECORD. <-ALL-FMTS 002100 20 002200 WORKING-STORAGE SECTION. 21 002300 01 CURRENT-DATE. 22 002400 05 CURR-YEAR PIC 9(2). 23 002500 05 CURR-MONTH PIC 9(2). 24 002600 05 CURR-DAY PIC 9(2). 002700 25 002800 77 IND-OFF PIC 1 VALUE B"0". 26 002900 77 IND-ON PIC 1 VALUE B"1". 003000 27 003100 01 DISPFILE-INDICS. 003200 COPY DDS-ALL-FORMATS-INDIC OF DSPFILE. 3 28 +000001 05 DSPFILE-RECORD. <-ALL-FMTS +000002* INPUT FORMAT:FORMAT1 FROM FILE DSPFILE OF LIBRARY CBLGUIDE <-ALL-FMTS +000003* <-ALL-FMTS 29 +000004 06 FORMAT1-I-INDIC. <-ALL-FMTS 30 +000005 07 IN51 PIC 1 INDIC 51. 4 <-ALL-FMTS +000006* DAILY REPORT <-ALL-FMTS 31 +000007 07 IN52 PIC 1 INDIC 52. <-ALL-FMTS
5722WDS V5R4M0 060210 LN IBM ILE COBOL CBLGUIDE/INDIC1 ISERIES1 06/02/15 15:01:36 ページ 3 STMT PL SEQNO -A 1 B..+....2....+....3....+....4....+....5....+....6....+....7..IDENTFCN S コピー名 変更日付 +000008* MONTHLY REPORT <-ALL-FMTS 32 +000009 07 IN99 PIC 1 INDIC 99. <-ALL-FMTS +000010* END OF PROGRAM <-ALL-FMTS +000011* OUTPUT FORMAT:FORMAT1 FROM FILE DSPFILE OF LIBRARY CBLGUIDE <-ALL-FMTS +000012* <-ALL-FMTS 33 +000013 06 FORMAT1-O-INDIC. <-ALL-FMTS 34 +000014 07 IN01 PIC 1 INDIC 01. <-ALL-FMTS +000015* INPUT FORMAT:ERRFMT FROM FILE DSPFILE OF LIBRARY CBLGUIDE <-ALL-FMTS +000016* <-ALL-FMTS +000017* 06 ERRFMT-I-INDIC. <-ALL-FMTS +000018* OUTPUT FORMAT:ERRFMT FROM FILE DSPFILE OF LIBRARY CBLGUIDE <-ALL-FMTS +000019* <-ALL-FMTS 35 +000020 06 ERRFMT-O-INDIC. <-ALL-FMTS 36 +000021 07 IN98 PIC 1 INDIC 98. <-ALL-FMTS 003300 37 003400 PROCEDURE DIVISION. 38 003500 DECLARATIVES. 003600 DISPLAY-ERR-SECTION SECTION. 003700 USE AFTER STANDARD EXCEPTION PROCEDURE ON DISPFILE. 003800 DISPLAY-ERR-PARAGRAPH. 39 003900 MOVE IND-ON TO IN98 IN ERRFMT-O-INDIC 40 004000 WRITE DISP-REC FORMAT IS "ERRFMT" 004100 INDICATORS ARE ERRFMT-O-INDIC 004200 END-WRITE 41 004300 CLOSE DISPFILE. 42 004400 STOP RUN. 004500 END DECLARATIVES. 004600 004700 MAIN-PROGRAM SECTION. 004800 MAINLINE. 004900 43 005000 OPEN I-O DISPFILE. 44 005100 ACCEPT CURRENT-DATE FROM DATE. 45 005200 MOVE IND-OFF TO IN99 IN FORMAT1-I-INDIC. 46 005300 PERFORM UNTIL IN99 IN FORMAT1-I-INDIC = IND-ON 005400 47 005500 MOVE ZEROS TO FORMAT1-O-INDIC 48 005600 IF CURR-DAY = 01 THEN 49 005700 MOVE IND-ON TO IN01 IN FORMAT1-O-INDIC 5 005800 END-IF 50 005900 WRITE DISP-REC FORMAT IS "FORMAT1" 006000 INDICATORS ARE FORMAT1-O-INDIC 6 006100 END-WRITE 006200 51 006300 MOVE ZEROS TO FORMAT1-I-INDIC 52 006400 READ DISPFILE FORMAT IS "FORMAT1" 006500 INDICATORS ARE FORMAT1-I-INDIC 7 006600 END-READ 53 006700 IF IN51 IN FORMAT1-I-INDIC = IND-ON THEN 54 006800 CALL "DAILY" USING DEPTNO 006900 ELSE 55 007000 IF IN52 IN FORMAT1-I-INDIC = IND-ON THEN 56 007100 CALL "MONTHLY" USING DEPTNO 8 007200 END-IF 007300 END-IF 007400 007500 END-PERFORM 57 007600 CLOSE DISPFILE. 58 007700 STOP RUN. 007800 * * * * * ソ ー ス 仕 様 の 終 わ り * * * * *
5722WDS V5R4M0 060210 LN IBM ILE COBOL CBLGUIDE/INDIC4 ISERIES1 06/02/15 15:02:22 ページ 2 ソ ー ス STMT PL SEQNO -A 1 B..+....2....+....3....+....4....+....5....+....6....+....7..IDENTFCN S コピー名 変更日付 1 000100 IDENTIFICATION DIVISION. 2 000200 PROGRAM-ID. INDIC4. 000300* SAMPLE PROGRAM 000400* FILE WITH SEPERATE INDICATORS AREA IN WORKING STORAGE 000500 3 000600 ENVIRONMENT DIVISION. 4 000700 CONFIGURATION SECTION. 5 000800 SOURCE-COMPUTER. IBM-ISERIES 6 000900 OBJECT-COMPUTER. IBM-ISERIES 7 001000 INPUT-OUTPUT SECTION. 8 001100 FILE-CONTROL. 9 001200 SELECT DISPFILE 10 001300 ASSIGN TO WORKSTATION-DSPFILE-SI 1 11 001400 ORGANIZATION IS TRANSACTION 12 001500 ACCESS IS SEQUENTIAL. 001600 13 001700 DATA DIVISION. 14 001800 FILE SECTION. 15 001900 FD DISPFILE. 16 002000 01 DISP-REC. 002100 COPY DDS-ALL-FORMATS OF DSPFILE. 2 17 +000001 05 DSPFILE-RECORD PIC X(5). <-ALL-FMTS +000002* INPUT FORMAT:FORMAT1 FROM FILE DSPFILE OF LIBRARY CBLGUIDE <-ALL-FMTS +000003* <-ALL-FMTS 18 +000004 05 FORMAT1-I REDEFINES DSPFILE-RECORD. <-ALL-FMTS 19 +000005 06 DEPTNO PIC X(5). <-ALL-FMTS +000006* OUTPUT FORMAT:FORMAT1 FROM FILE DSPFILE OF LIBRARY CBLGUIDE <-ALL-FMTS +000007* <-ALL-FMTS +000008* 05 FORMAT1-O REDEFINES DSPFILE-RECORD. <-ALL-FMTS +000009* INPUT FORMAT:ERRFMT FROM FILE DSPFILE OF LIBRARY CBLGUIDE <-ALL-FMTS +000010* <-ALL-FMTS +000011* 05 ERRFMT-I REDEFINES DSPFILE-RECORD. <-ALL-FMTS +000012* OUTPUT FORMAT:ERRFMT FROM FILE DSPFILE OF LIBRARY CBLGUIDE <-ALL-FMTS +000013* <-ALL-FMTS +000014* 05 ERRFMT-O REDEFINES DSPFILE-RECORD. <-ALL-FMTS 002200 20 002300 WORKING-STORAGE SECTION. 21 002400 01 CURRENT-DATE. 22 002500 05 CURR-YEAR PIC 9(2). 23 002600 05 CURR-MONTH PIC 9(2). 24 002700 05 CURR-DAY PIC 9(2). 002800 25 002900 01 INDIC-AREA. 26 003000 05 INDIC-TABLE OCCURS 99 PIC 1 INDICATOR 1. 3 27 003100 88 IND-OFF VALUE B"0". 28 003200 88 IND-ON VALUE B"1". 003300 29 003400 01 DISPFILE-INDIC-USAGE. 30 003500 05 IND-NEW-MONTH PIC 9(2) VALUE 01. 31 003600 05 IND-DAILY PIC 9(2) VALUE 51. 4 32 003700 05 IND-MONTHLY PIC 9(2) VALUE 52. 33 003800 05 IND-IO-ERROR PIC 9(2) VALUE 98. 34 003900 05 IND-EOJ PIC 9(2) VALUE 99.
5722WDS V5R4M0 060210 LN IBM ILE COBOL CBLGUIDE/INDIC4 ISERIES1 06/02/15 15:02:22 ページ 3 STMT PL SEQNO -A 1 B..+....2....+....3....+....4....+....5....+....6....+....7..IDENTFCN S コピー名 変更日付 004000 35 004100 PROCEDURE DIVISION. 36 004200 DECLARATIVES. 004300 DISPLAY-ERR-SECTION SECTION. 004400 USE AFTER STANDARD EXCEPTION PROCEDURE ON DISPFILE. 004500 DISPLAY-ERR-PARAGRAPH. 37 004600 SET IND-ON (IND-IO-ERROR) TO TRUE 38 004700 WRITE DISP-REC FORMAT IS "ERRFMT" 004800 INDICATORS ARE INDIC-TABLE 004900 END-WRITE 39 005000 CLOSE DISPFILE. 40 005100 STOP RUN. 005200 END DECLARATIVES. 005300 005400 MAIN-PROGRAM SECTION. 005500 MAINLINE. 41 005600 OPEN I-O DISPFILE. 42 005700 ACCEPT CURRENT-DATE FROM DATE. 43 005800 SET IND-OFF (IND-EOJ) TO TRUE. 44 005900 PERFORM UNTIL IND-ON (IND-EOJ) 006000 45 006100 MOVE ZEROS TO INDIC-AREA 46 006200 IF CURR-DAY = 01 THEN 47 006300 SET IND-ON (IND-NEW-MONTH) TO TRUE 5 006400 END-IF 48 006500 WRITE DISP-REC FORMAT IS "FORMAT1" 006600 INDICATORS ARE INDIC-TABLE 6 006700 END-WRITE 006800 49 006900 READ DISPFILE FORMAT IS "FORMAT1" 007000 INDICATORS ARE INDIC-TABLE 7 007100 END-READ 50 007200 IF IND-ON (IND-DAILY) THEN 51 007300 CALL "DAILY" USING DEPTNO 8 007400 ELSE 52 007500 IF IND-ON (IND-MONTHLY) THEN 53 007600 CALL "MONTHLY" USING DEPTNO 007700 END-IF 007800 END-IF 007900 008000 END-PERFORM 54 008100 CLOSE DISPFILE. 55 008200 STOP RUN. 008300 * * * * * ソ ー ス 仕 様 の 終 わ り * * * * *
(C) Copyright IBM Corporation 1992, 2006. All Rights Reserved.