CB545 V2 LVL78 01MAY72 IBM OS AMERICAN NATIONAL STANDARD COBOL DATE APR 2,1980
1
00001 000100 IDENTIFICATION DIVISION.
00002 000200 PROGRAM-ID. RWEX05.
00003 000300 AUTHOR. JAY MOSELEY.
00004 000400 DATE-WRITTEN. APRIL, 2008.
00005 000500 DATE-COMPILED. APR 2,1980
00007 000700* ************************************************************* *
00008 000800* REPORT WRITER EXAMPLE #5. *
00009 000900* ************************************************************* *
00011 001100 ENVIRONMENT DIVISION.
00012 001200 CONFIGURATION SECTION.
00013 001300 SOURCE-COMPUTER. IBM-370.
00014 001400 OBJECT-COMPUTER. IBM-370.
00015 001500
00016 001600 INPUT-OUTPUT SECTION.
00017 001700 FILE-CONTROL.
00018 001800
00019 001900 SELECT SALES-DATA
00020 002000 ASSIGN TO UT-S-DATAIN.
00021 002100
00022 002200 SELECT REPORT-FILE
00023 002300 ASSIGN TO UR-S-SYSPRINT.
00024 002400
00025 002500 DATA DIVISION.
00026 002600 FILE SECTION.
00027 002700
00028 002800 FD SALES-DATA
00029 002900 LABEL RECORDS ARE OMITTED
00030 003000 BLOCK CONTAINS 0 RECORDS
00031 003100 RECORD CONTAINS 80 CHARACTERS
00032 003200 DATA RECORD IS SALES-RECORD.
00033 003300
00034 003400 01 SALES-RECORD.
00035 003500 03 SR-SALESMAN-NUMBER PIC 9(02).
00036 003600 03 FILLER PIC X(01).
00037 003700 03 SR-DISTRICT-CODE PIC X(01).
00038 003800 03 FILLER PIC X(01).
00039 003900 03 SR-SALE-AMOUNT PIC 9(04)V99.
00040 004000 03 FILLER PIC X(69).
00041 004100
00042 004200 FD REPORT-FILE
00043 004300 LABEL RECORDS ARE OMITTED
00044 004400 REPORT IS DISTRICT-SALES-REPORT.
00045 004500
00046 004600 WORKING-STORAGE SECTION.
00047 004700 77 END-OF-FILE-SWITCH PIC X(1) VALUE 'N'.
00048 004800 88 END-OF-FILE VALUE 'Y'.
00049 004900
00050 005000 01 COMMISSION-TABLE.
00051 005100 02 FILLER PIC X(03) VALUE 'A20'.
00052 005200 02 FILLER PIC X(03) VALUE 'B18'.
00053 005300 02 FILLER PIC X(03) VALUE 'C15'.
00054 005400 02 FILLER PIC X(03) VALUE 'D12'.
00055 005500 02 FILLER PIC X(03) VALUE 'E10'.
00056 005600 02 FILLER PIC X(03) VALUE 'F12'.
========================================================================================================================
2
00057 005700 02 FILLER PIC X(03) VALUE 'G10'.
00058 005800 02 FILLER PIC X(03) VALUE 'H08'.
00059 005900 02 FILLER PIC X(03) VALUE 'J05'.
00060 006000 02 FILLER PIC X(03) VALUE 'K07'.
00061 006100 01 FILLER REDEFINES COMMISSION-TABLE.
00062 006200 02 COMMISSION-ENTRY OCCURS 10 TIMES
00063 006300 INDEXED BY COMMISSION-IX.
00064 006400 03 CE-DISTRICT PIC X(01).
00065 006500 03 CE-RATE PIC V99.
00066 006600
00067 006700 01 CALCULATED-FIELDS.
00068 006800 03 WS-COMMISSION PIC 9(5)V99.
00069 006900
00070 007000 REPORT SECTION.
00071 007100 RD DISTRICT-SALES-REPORT
00072 007200 CONTROLS ARE FINAL, SR-DISTRICT-CODE, SR-SALESMAN-NUMBER
00073 007300 PAGE LIMIT IS 66 LINES
00074 007400 HEADING 1
00075 007500 FIRST DETAIL 5
00076 007600 LAST DETAIL 58.
00077 007700
00078 007800 01 PAGE-HEAD-GROUP TYPE PAGE HEADING.
00079 007900 02 LINE 1.
00080 008000 03 COLUMN 27 PIC X(41) VALUE
00081 008100 'D I S T R I C T S A L E S R E P O R T'.
00082 008200 03 COLUMN 90 PIC X(04) VALUE 'PAGE'.
00083 008300 03 COLUMN 95 PIC ZZZZ9 SOURCE PAGE-COUNTER.
00084 008400 02 LINE 3.
00085 008500 03 COLUMN 20 PIC X(26) VALUE
00086 008600 '-------- SALESMAN --------'.
00087 008700 03 COLUMN 54 PIC X(15) VALUE
00088 008800 '-- DISTRICT --'.
00089 008900 02 LINE 4.
00090 009000 03 COLUMN 20 PIC X(03) VALUE 'NO.'.
00091 009100 03 COLUMN 28 PIC X(05) VALUE 'SALES'.
00092 009200 03 COLUMN 37 PIC X(10) VALUE 'COMMISSION'.
00093 009300 03 COLUMN 54 PIC X(03) VALUE 'NO.'.
00094 009400 03 COLUMN 61 PIC X(05) VALUE 'SALES'.
00095 009500
00096 009600 01 SALE-DETAIL TYPE DETAIL.
00097 009700 02 LINE PLUS 1.
00098 009800 03 COLUMN 01 PIC 99 SOURCE SR-SALESMAN-NUMBER.
00099 009900 03 COLUMN 04 PIC X SOURCE SR-DISTRICT-CODE.
00100 010000 03 COLUMN 06 PIC 9999.99 SOURCE SR-SALE-AMOUNT.
00101 010100
00102 010200 01 SALESMAN-TOTAL TYPE CONTROL FOOTING SR-SALESMAN-NUMBER.
00103 010300 02 LINE PLUS 1.
00104 010400 03 COLUMN 20 PIC 99 SOURCE SR-SALESMAN-NUMBER.
00105 010500 03 ST-SALES-AMT COLUMN 24 PIC $$$,$$9.99 SUM
00106 010600 SR-SALE-AMOUNT.
00107 010700 03 COLUMN 37 PIC $$$,$$9.99 SOURCE WS-COMMISSION.
00108 010800
00109 010900 01 DISTRICT-TOTAL TYPE CONTROL FOOTING SR-DISTRICT-CODE
00110 011000 NEXT GROUP PLUS 2.
00111 011100 02 LINE PLUS 1.
00112 011200 03 COLUMN 54 PIC X SOURCE SR-DISTRICT-CODE.
00113 011300 03 COLUMN 58 PIC $$$,$$9.99 SUM ST-SALES-AMT.
========================================================================================================================
3
00114 011400
00115 011500 01 FINAL-TOTAL TYPE CONTROL FOOTING FINAL.
00116 011600 02 LINE PLUS 2.
00117 011700 03 COLUMN 15 PIC X(19) VALUE
00118 011800 'MONTHLY TOTAL SALES'.
00119 011900 03 COLUMN 57 PIC $$$$,$$9.99 SUM ST-SALES-AMT.
00120 012000 03 COLUMN 69 PIC XX VALUE '**'.
00121 012100
00122 012200 PROCEDURE DIVISION.
00123 012300
00124 012400 DECLARATIVES.
00125 012500 USE-SALESMAN-TOTAL SECTION. USE BEFORE REPORTING SALESMAN-TOTAL.
00126 012600 USE-SALESMAN-TOTAL-PROC.
00127 012700 SET COMMISSION-IX TO +1.
00128 012800 SEARCH COMMISSION-ENTRY
00129 012900 AT END
00130 013000 MOVE +0.00 TO WS-COMMISSION
00131 013100 WHEN CE-DISTRICT (COMMISSION-IX) = SR-DISTRICT-CODE
00132 013200 COMPUTE WS-COMMISSION ROUNDED =
00133 013300 CE-RATE (COMMISSION-IX) * ST-SALES-AMT.
00134 013400
00135 013500 USE-SALESMAN-TOTAL-EXIT.
00136 013600 EXIT.
00137 013700
00138 013800 END DECLARATIVES.
00139 013900
00140 014000 000-INITIATE.
00141 014100
00142 014200 OPEN INPUT SALES-DATA,
00143 014300 OUTPUT REPORT-FILE.
00144 014400
00145 014500 INITIATE DISTRICT-SALES-REPORT.
00146 014600
00147 014700 READ SALES-DATA
00148 014800 AT END
00149 014900 MOVE 'Y' TO END-OF-FILE-SWITCH.
00150 015000* END-READ.
00151 015100
00152 015200 PERFORM 100-PROCESS-SALES-DATA THRU 199-EXIT
00153 015300 UNTIL END-OF-FILE.
00154 015400
00155 015500 000-TERMINATE.
00156 015600 TERMINATE DISTRICT-SALES-REPORT.
00157 015700
00158 015800 CLOSE SALES-DATA,
00159 015900 REPORT-FILE.
00160 016000
00161 016100 STOP RUN.
00162 016200
00163 016300 100-PROCESS-SALES-DATA.
00164 016400 GENERATE DISTRICT-SALES-REPORT.
00165 016500 READ SALES-DATA
00166 016600 AT END
00167 016700 MOVE 'Y' TO END-OF-FILE-SWITCH.
00168 016800* END-READ.
00169 016900
00170 017000 199-EXIT.
========================================================================================================================
4
00171 017100 EXIT.
00172 017200
00173 017300
========================================================================================================================
5
INTRNL NAME LVL SOURCE NAME BASE DISPL INTRNL NAME DEFINITION USAGE R O Q M
DNM=1-222 FD SALES-DATA DCB=01 DNM=1-222 QSAM F
DNM=1-245 01 SALES-RECORD BL=1 000 DNM=1-245 DS 0CL80 GROUP
DNM=1-270 02 SR-SALESMAN-NUMBER BL=1 000 DNM=1-270 DS 2C DISP-NM
DNM=1-298 02 FILLER BL=1 002 DNM=1-298 DS 1C DISP
DNM=1-314 02 SR-DISTRICT-CODE BL=1 003 DNM=1-314 DS 1C DISP
DNM=1-340 02 FILLER BL=1 004 DNM=1-340 DS 1C DISP
DNM=1-359 02 SR-SALE-AMOUNT BL=1 005 DNM=1-359 DS 6C DISP-NM
DNM=1-383 02 FILLER BL=1 00B DNM=1-383 DS 69C DISP
DNM=1-402 FD REPORT-FILE DCB=02 DNM=1-402 QSAM F
DNM=1-426 01 -0001 BL=2 000 DNM=1-426 DS 133C DISP
DNM=1-441 77 END-OF-FILE-SWITCH BL=3 000 DNM=1-441 DS 1C DISP
DNM=1-472 88 END-OF-FILE DNM=1-472
DNM=2-000 01 COMMISSION-TABLE BL=3 008 DNM=2-000 DS 0CL30 GROUP
DNM=2-029 02 FILLER BL=3 008 DNM=2-029 DS 3C DISP
DNM=2-048 02 FILLER BL=3 00B DNM=2-048 DS 3C DISP
DNM=2-067 02 FILLER BL=3 00E DNM=2-067 DS 3C DISP
DNM=2-086 02 FILLER BL=3 011 DNM=2-086 DS 3C DISP
DNM=2-105 02 FILLER BL=3 014 DNM=2-105 DS 3C DISP
DNM=2-124 02 FILLER BL=3 017 DNM=2-124 DS 3C DISP
DNM=2-143 02 FILLER BL=3 01A DNM=2-143 DS 3C DISP
DNM=2-162 02 FILLER BL=3 01D DNM=2-162 DS 3C DISP
DNM=2-181 02 FILLER BL=3 020 DNM=2-181 DS 3C DISP
DNM=2-200 02 FILLER BL=3 023 DNM=2-200 DS 3C DISP
DNM=2-219 01 FILLER BL=3 008 DNM=2-219 DS 0CL30 GROUP R
DNM=2-241 COMMISSION-IX DNM=2-241 INDEX-NM
DNM=2-261 02 COMMISSION-ENTRY BL=3 008 DNM=2-261 DS 0CL3 GROUP O
DNM=2-293 03 CE-DISTRICT BL=3 008 DNM=2-293 DS 1C DISP
DNM=2-317 03 CE-RATE BL=3 009 DNM=2-317 DS 2C DISP-NM
DNM=2-337 01 CALCULATED-FIELDS BL=3 028 DNM=2-337 DS 0CL7 GROUP
DNM=2-367 02 WS-COMMISSION BL=3 028 DNM=2-367 DS 7C DISP-NM
DNM=2-390 01 PRINT-SWITCH BL=3 030 DNM=2-390 DS 1C DISP-NM
DNM=2-412 RD DISTRICT-SALES-REPORT DNM=2-412
DNM=2-445 01 CTL.LVL BL=3 038 DNM=2-445 DS 2P COMP-3
DNM=2-462 01 TER.COD BL=3 040 DNM=2-462 DS 1C DISP
DNM=2-479 01 FRS.GEN BL=3 048 DNM=2-479 DS 1C DISP
DNM=3-000 01 LIN.SAV BL=3 050 DNM=3-000 DS 2C COMP
DNM=3-017 01 FRS.GRP BL=3 058 DNM=3-017 DS 1C DISP
DNM=3-034 01 ABS.LIN BL=3 060 DNM=3-034 DS 2C COMP
DNM=3-051 01 LIN.NUM BL=3 068 DNM=3-051 DS 2P COMP-3
DNM=3-068 77 -0002 BL=3 06A DNM=3-068 DS 1C DISP
DNM=3-083 77 -0003 BL=3 06B DNM=3-083 DS 1C DISP
DNM=3-101 77 -0004 BL=3 06C DNM=3-101 DS 2C DISP-NM
DNM=3-116 77 -0005 BL=3 06E DNM=3-116 DS 2C DISP-NM
DNM=3-131 01 LINE-COUNTER BL=3 070 DNM=3-131 DS 3P COMP-3
DNM=3-153 01 PAGE-COUNTER BL=3 078 DNM=3-153 DS 3P COMP-3
DNM=3-175 01 RPT.RCD BL=3 080 DNM=3-175 DS 0CL133 GROUP
DNM=3-195 02 CTL.CHR BL=3 080 DNM=3-195 DS 1C DISP
DNM=3-212 02 RPT.LIN BL=3 081 DNM=3-212 DS 132C DISP
DNM=3-229 02 E.0001 BL=3 09B DNM=3-229 DS 41C DISP R
DNM=3-245 02 E.0002 BL=3 0DA DNM=3-245 DS 4C DISP R
DNM=3-264 02 E.0003 BL=3 0DF DNM=3-264 DS 5C NM-EDIT R
DNM=3-287 02 E.0004 BL=3 094 DNM=3-287 DS 26C DISP R
DNM=3-303 02 E.0005 BL=3 0B6 DNM=3-303 DS 15C DISP R
DNM=3-319 02 E.0006 BL=3 094 DNM=3-319 DS 3C DISP R
DNM=3-335 02 E.0007 BL=3 09C DNM=3-335 DS 5C DISP R
========================================================================================================================
6
INTRNL NAME LVL SOURCE NAME BASE DISPL INTRNL NAME DEFINITION USAGE R O Q M
DNM=3-351 02 E.0008 BL=3 0A5 DNM=3-351 DS 10C DISP R
DNM=3-367 02 E.0009 BL=3 0B6 DNM=3-367 DS 3C DISP R
DNM=3-383 02 E.0010 BL=3 0BD DNM=3-383 DS 5C DISP R
DNM=3-399 02 E.0011 BL=3 081 DNM=3-399 DS 2C DISP-NM R
DNM=3-415 02 E.0012 BL=3 084 DNM=3-415 DS 1C DISP R
DNM=3-431 02 E.0013 BL=3 086 DNM=3-431 DS 7C NM-EDIT R
DNM=3-456 02 E.0014 BL=3 094 DNM=3-456 DS 2C DISP-NM R
DNM=3-472 02 E.0015 BL=3 098 DNM=3-472 DS 10C NM-EDIT R
DNM=4-000 02 E.0016 BL=3 0A5 DNM=4-000 DS 10C NM-EDIT R
DNM=4-034 02 E.0017 BL=3 0B6 DNM=4-034 DS 1C DISP R
DNM=4-050 02 E.0018 BL=3 0BA DNM=4-050 DS 10C NM-EDIT R
DNM=4-081 02 E.0019 BL=3 08F DNM=4-081 DS 19C DISP R
DNM=4-097 02 E.0020 BL=3 0B9 DNM=4-097 DS 11C NM-EDIT R
DNM=4-128 02 E.0021 BL=3 0C5 DNM=4-128 DS 2C DISP R
DNM=4-144 01 N.0001 BL=3 108 DNM=4-144 DS 2C COMP
DNM=4-160 01 N.0002 BL=3 110 DNM=4-160 DS 2C COMP
DNM=4-176 01 N.0003 BL=3 118 DNM=4-176 DS 2C COMP
DNM=4-195 01 N.0004 BL=3 120 DNM=4-195 DS 2C COMP
DNM=4-211 01 GRP.IND BL=3 128 DNM=4-211 DS 0CL1 GROUP
DNM=4-231 02 GP.0000 BL=3 128 DNM=4-231 DS 1C DISP
DNM=4-248 01 ST-SALES-AMT BL=3 130 DNM=4-248 DS 4P COMP-3
DNM=4-270 01 S.0001 BL=3 138 DNM=4-270 DS 4P COMP-3
DNM=4-286 01 S.0002 BL=3 140 DNM=4-286 DS 5P COMP-3
========================================================================================================================
7
CONDENSED LISTING
125 USE 00120A 127 SET 00120E 128 SEARCH 00121C
130 MOVE 001222 132 COMPUTE 00124A 136 EXIT 0012C6
142 OPEN 0012CC 145 INITIATE 00133C 147 READ 001342
149 MOVE 001362 152 PERFORM 001368 156 TERMINATE 001392
158 CLOSE 001398 161 STOP 001414 164 GENERATE 00141A
165 READ 00142C 167 MOVE 00144C 171 EXIT 001452
*STATISTICS* SOURCE RECORDS = 173 DATA DIVISION STATEMENTS = 35 PROCEDURE DIVISION STATEMENTS = 18
*OPTIONS IN EFFECT* SIZE = 3145728 BUF = 1048576 LINECNT = 57 SPACE1, FLAGW, SEQ, SOURCE
*OPTIONS IN EFFECT* DMAP, NOPMAP, CLIST, SUPMAP, NOXREF, LOAD, NODECK, APOST, NOTRUNC, NOLIB, VERB
*OPTIONS IN EFFECT* ZWB
========================================================================================================================
D I S T R I C T S A L E S R E P O R T PAGE 1
-------- SALESMAN -------- -- DISTRICT --
NO. SALES COMMISSION NO. SALES
05 $1,503.87 $300.77
13 $670.25 $134.05
22 $775.72 $155.14
29 $134.91 $26.98
33 $1,457.77 $291.55
39 $1,801.34 $360.27
44 $1,435.60 $287.12
49 $651.34 $130.27
A $8,430.80
03 $2,280.68 $410.52
19 $1,946.24 $350.32
25 $1,341.06 $241.39
31 $491.57 $88.48
34 $59.94 $10.79
B $6,119.49
09 $79.80 $11.97
14 $1,551.66 $232.75
23 $29.74 $4.46
28 $571.39 $85.71
34 $1,077.99 $161.70
42 $1,631.21 $244.68
C $4,941.79
04 $903.61 $108.43
06 $555.20 $66.62
15 $502.58 $60.31
38 $1,646.42 $197.57
D $3,607.81
11 $993.50 $99.35
17 $663.01 $66.30
27 $1,440.06 $144.01
E $3,096.57
08 $732.01 $87.84
09 $888.64 $106.64
16 $609.14 $73.10
36 $292.76 $35.13
40 $1,484.63 $178.16
48 $506.32 $60.76
F $4,513.50
01 $183.47 $18.35
20 $981.23 $98.12
21 $773.46 $77.35
22 $259.53 $25.95
========================================================================================================================
D I S T R I C T S A L E S R E P O R T PAGE 2
-------- SALESMAN -------- -- DISTRICT --
NO. SALES COMMISSION NO. SALES
26 $95.87 $9.59
41 $1,561.72 $156.17
G $3,855.28
32 $2,527.51 $202.20
43 $778.95 $62.32
45 $386.92 $30.95
46 $1,576.89 $126.15
H $5,270.27
09 $397.64 $19.88
18 $1,283.11 $64.16
37 $445.60 $22.28
45 $2,140.53 $107.03
J $4,266.88
02 $1,893.78 $132.56
12 $313.77 $21.96
35 $1,589.82 $111.29
K $3,797.37
MONTHLY TOTAL SALES $47,899.76 **
========================================================================================================================