PROGRAM 5
IDENTIFICATION DIVISION.
PROGRAM-ID. PROJECT5.
AUTHOR. ANTHONY F. ORTIZ.
*********************************************
* THIS PROGRAM CREATES A SHIPPING REPORT. *
*********************************************
ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT IN-FILE ASSIGN TO DISK "ONE.DAT"
ORGANIZATION IS LINE SEQUENTIAL.
SELECT OUT-FILE ASSIGN TO PRINTER.
DATA DIVISION.
FILE SECTION.
FD IN-FILE LABEL RECORD IS STANDARD.
01 IN-RECORD.
02 FILLER PIC X(5).
02 IN-PACKAGE-NUMBER PIC 9(3).
02 FILLER PIC X(21).
02 IN-PACKAGE-CONTENTS PIC X(20).
02 FILLER PIC X(4).
02 IN-SHIPMENT-WEIGHT PIC 9(2).
02 IN-SHIPMENT-VALUE PIC 9(4)V99.
FD OUT-FILE.
01 OUT-BUFFER PIC X(80).
WORKING-STORAGE SECTION.
01 OUT-RECORD.
02 FILLER PIC X(1).
02 OUT-PACKAGE-NUMBER PIC ZZ9.
02 FILLER PIC X(4).
02 OUT-PACKAGE-CONTENTS PIC X(20).
02 FILLER PIC X(4).
02 OUT-SHIPMENT-WEIGHT PIC Z9.
02 FILLER PIC X(5).
02 OUT-SHIPMENT-VALUE PIC Z,ZZZ.99.
02 FILLER PIC X(5).
02 OUT-SHIPPING-COST PIC Z.99.
02 FILLER PIC X(8).
02 OUT-INSURANCE-COST PIC ZZ.99.
02 FILLER PIC X(6).
02 OUT-TOTAL-COST PIC ZZ.99.
PROGRAM-INDICATORS.
02 EOF-SWITCH PIC X(3) VALUE 'YES'.
01 HEADER-LINE1.
02 FILLER PIC X(7) VALUE 'PACKAGE'.
02 FILLER PIC X(9) VALUE SPACES.
02 FILLER PIC X(7) VALUE 'PACKAGE'.
02 FILLER PIC X(6) VALUE SPACES.
02 FILLER PIC X(8) VALUE 'SHIPMENT'.
02 FILLER PIC X(2) VALUE SPACES.
02 FILLER PIC X(8) VALUE 'SHIPMENT'.
02 FILLER PIC X(3) VALUE SPACES.
02 FILLER PIC X(8) VALUE 'SHIPPING'.
02 FILLER PIC X(4) VALUE SPACES.
02 FILLER PIC X(9) VALUE 'INSURANCE'.
02 FILLER PIC X(4) VALUE SPACES.
02 FILLER PIC X(5) VALUE 'TOTAL'.
01 HEADER-LINE2.
02 FILLER PIC X(6) VALUE 'NUMBER'.
02 FILLER PIC X(9) VALUE SPACES.
02 FILLER PIC X(8) VALUE 'CONTENTS'.
02 FILLER PIC X(7) VALUE SPACES.
02 FILLER PIC X(6) VALUE 'WEIGHT'.
02 FILLER PIC X(5) VALUE SPACES.
02 FILLER PIC X(5) VALUE 'VALUE'.
02 FILLER PIC X(6) VALUE SPACES.
02 FILLER PIC X(4) VALUE 'COST'.
02 FILLER PIC X(8) VALUE SPACES.
02 FILLER PIC X(4) VALUE 'COST'.
02 FILLER PIC X(7) VALUE SPACES.
02 FILLER PIC X(4) VALUE 'COST'.
01 TOTAL-LINE.
02 FILLER PIC X(6) VALUE 'TOTAL '.
02 FILLER PIC X(9) VALUE 'SHIPMENTS'.
02 FILLER PIC X(2).
02 OUT-TOTAL-SHIPMENTS PIC ZZ9.
02 FILLER PIC X(30) VALUE SPACES.
02 OUT-TOTAL-SHIPPING-COST PIC $$$$.99.
02 FILLER PIC X(6) VALUE SPACES.
02 OUT-TOTAL-INSURANCE-COST PIC $$$$.99.
02 FILLER PIC X(4) VALUE SPACES.
02 OUT-TOTAL-TOTAL-COST PIC $$$$.99.
01 PROGRAM-CONSTANTS.
02 PER1 PIC V99 VALUE .10.
02 PER2 PIC V99 VALUE .07.
02 PER3 PIC V999 VALUE .005.
01 PROGRAM-TOTALS.
02 COUNTER PIC 9(2) VALUE 0.
02 TOTAL-SHIPMENTS PIC 9(3) VALUE 0.
02 TOTAL-SHIPPING PIC 9(3)V99 VALUE 0.
02 TOTAL-INSURANCE PIC 9(3)V99 VALUE 0.
02 TOTAL-TOTAL-COST PIC 9(3)V99 VALUE 0.
01 ADDITIONAL-PROGRAM-VARIABLES.
02 SHIPPING-COST PIC 9(1)V99.
02 INSURANCE-COST PIC 9(2)V99.
02 TOTAL-COST PIC 9(2)V99.
PROCEDURE DIVISION.
MAIN-LINE.
PERFORM OPEN-FILES.
PERFORM READ-RECORD.
IF EOF-SWITCH = 'YES' AND COUNTER = 0
PERFORM PRINT-TITLES.
PERFORM PROCESS-DATA UNTIL EOF-SWITCH = 'NO '.
PERFORM PRINT-TOTALS.
PERFORM CLOSE-FILES.
STOP RUN.
OPEN-FILES.
OPEN INPUT IN-FILE
OUTPUT OUT-FILE.
READ-RECORD.
READ IN-FILE AT END MOVE 'NO ' TO EOF-SWITCH.
PRINT-TITLES.
WRITE OUT-BUFFER FROM HEADER-LINE1 AFTER ADVANCING PAGE.
WRITE OUT-BUFFER FROM HEADER-LINE2 AFTER ADVANCING 1 LINES.
PROCESS-DATA.
PERFORM MOVE-IN-TO-OUT.
PERFORM PRINT-RECORD.
PERFORM READ-RECORD.
MOVE-IN-TO-OUT.
MOVE IN-PACKAGE-NUMBER TO OUT-PACKAGE-NUMBER.
MOVE IN-PACKAGE-CONTENTS TO OUT-PACKAGE-CONTENTS.
MOVE IN-SHIPMENT-WEIGHT TO OUT-SHIPMENT-WEIGHT.
MOVE IN-SHIPMENT-VALUE TO OUT-SHIPMENT-VALUE.
PERFORM COMPUTE-COSTS.
MOVE SHIPPING-COST TO OUT-SHIPPING-COST.
MOVE INSURANCE-COST TO OUT-INSURANCE-COST.
MOVE TOTAL-COST TO OUT-TOTAL-COST.
PERFORM COMPUTE-TOTALS.
COMPUTE-COSTS.
IF IN-SHIPMENT-WEIGHT > 50
COMPUTE SHIPPING-COST = IN-SHIPMENT-WEIGHT * PER1
ELSE
COMPUTE SHIPPING-COST = IN-SHIPMENT-WEIGHT * PER2.
COMPUTE INSURANCE-COST = IN-SHIPMENT-VALUE * PER3.
COMPUTE TOTAL-COST = SHIPPING-COST + INSURANCE-COST.
COMPUTE-TOTALS.
COMPUTE COUNTER = COUNTER + 1.
COMPUTE TOTAL-SHIPMENTS = TOTAL-SHIPMENTS + 1.
COMPUTE TOTAL-SHIPPING= TOTAL-SHIPPING + SHIPPING-COST.
COMPUTE TOTAL-INSURANCE= TOTAL-INSURANCE + INSURANCE-COST.
COMPUTE TOTAL-TOTAL-COST = TOTAL-TOTAL-COST + TOTAL-COST.
IF COUNTER = 28
COMPUTE COUNTER = 0
PERFORM PRINT-TITLES.
PRINT-RECORD.
WRITE OUT-BUFFER FROM OUT-RECORD AFTER ADVANCING 2 LINES.
PRINT-TOTALS.
MOVE TOTAL-SHIPMENTS TO OUT-TOTAL-SHIPMENTS.
MOVE TOTAL-SHIPPING TO OUT-TOTAL-SHIPPING-COST.
MOVE TOTAL-INSURANCE TO OUT-TOTAL-INSURANCE-COST.
MOVE TOTAL-TOTAL-COST TO OUT-TOTAL-TOTAL-COST.
WRITE OUT-BUFFER FROM TOTAL-LINE AFTER ADVANCING 2 LINES.
CLOSE-FILES.
CLOSE IN-FILE
OUT-FILE.
* OUTFILE: PROG5.OUT *
100101410ALBERS, STEVEN FRONT DISC BRAKES 422034031045
100101561CANATERRA, CANDY HEAD LIGHTS 163045075105
100101765CHENEY, MAXINE NYLON GAS PEDALS 114034007016
100101813CRAIG, MARY LOU BUCKET SEAT 243457010005
100301887DUFFY, MARCUS 1" TRAILER HITCH 122356002010
100301914EPPLY, DERVIS TOWQUE WRENCHES 413056110213
100301957FIEDLER, FERN 4 PLY RADIAL TIRES 150345056075
100502045GARCIA, FRANCIS 6" JUMPER CABLES 221233004011
100502076KOON, BARNEY L. SETS OF 4 HEX NUTS 310340005017
100502189KOWALSKI, PATRICK 5" WINDSHIELD BLADES330567023020
100502201LICHFIELD, SANDRA PLASTIC FLOOR MATS 660450047192
100502250LUBNER, SALLY R. WOOD STEERING WHEELS545459102365
100602275MARQUARDT, MICHAEL POINTS AND PLUGS 613455002078
100602323MARTIN, JUSTIN B. LOCK DE-ICER 230983010045
100602357MCGILL, MARTIN J. MOTORALL 10W30 OIL 345676023056
100602789MEEGAN, JULIE R. GENERATORS 365678090900
100603578MUFFINS, ROGERT L. 1/2" VACUUM LINES 116787004098
100603971NAPOLITAN, SHEILA R.METRIC SOCKET SETS 450123103134
100703898NOWICKI, OZZIE L. FLOOR CLEANER 623456004021
100704456PEACOCK, GERALD M. 2 TON CAR RAMPS 610045010024
100704692PEREZ, MARTINIQUE A.TRANSMISSION KITS 250173080076
100704789POSTEN, THOMAS E. OIL PANS 541234011078
100704987REESES, LAURA W. OPERATORS MANUALS 522894001099
100705139RENO, STEVEN B. HI/LO DIMMER SWITCH 610639010020
100705983ROGHCHILD, RUTH C. RACING STRIPE KITS 133404045089
100805999SAMMS, CARLA P. OIL CHANGE KIT 669234090100
100806134SCHMIDT, CHUCK H. INTERIOR LIGHT BULBS312302004050
100806297SHARP, CRAIG I. SET OF 2 FOG LIGHTS 237809001008
100806356SHORT, BRENDA B. DISTRIBUTOR CAPS 429834010023
100806489SKINNER, CARL S. TIMING GEARS 250789110023
100806598SPRINGSTEIN, ALBERT SECURITY SYSTEM 460929010067
100806701STROH, ALEXIS M. CRUISE CONTROLS 342856055067
200107980SWEENEY, ROGER W. SET OF 4 HUB CAPS 350345067078
200108379TEEPLE, THOMAS T. AXLE GREASE (GALLON)512347001023
200108567TOMCHUCK, FREDERICK NO-WIPE CAR POLISH 130375004056
200108673TOMLIN, PETER S. CAR WAXERS 269845090020
200108674TOWNLEY, ASTIN R. GREASE-B-GONE WASHER455628034056
200108732TOWNS, BEVERLY SUNNY SUNROOF KIT 422345011045
200308845TRAKSO, ALLEN R. ROAD MAPS 610304001005
200308913TRUSKOWSKI, MIKE 2-WAY OIL FILTER 123040010052
200308957TURNER, CHARLES A. ENGINE BLOCKS 540378402098
200308975TYLER, MARY M. TRANSMISSION FLUID 530923045056
200509003ULMER, FRED F. NO-SLIP BRAKE FLUID 240450050067
200509156URMY, AMY A. NO-LEAK RADIATORS 419340120344
200509245VARTY, VERNON S. SPARKLES PAINT 620098009009
200509347VINCENT, BOBBY L. CHROME POLISH 362984019090
200709467WADHAM, LARRY L. VINYL TOP KITS 140086087078
200709610WALKER, JERRY F. 6" ROUND HEADLIGHTS 655870087090
200709763WENDT, WENDY Y. NO-FUZZ FUZZ BUSTER 424598030030
200709908ZELLER, ARTHUR GLASS WINDOWS 118890200230
* OUTFILE: PROG5.OUT *
PACKAGE PACKAGE SHIPMENT SHIPMENT SHIPPING INSURANCE TOTAL
NUMBER CONTENTS WEIGHT VALUE COST COST COST
141 FRONT DISC BRAKES 34 310.45 2.38 1.55 3.93
156 HEAD LIGHTS 45 751.05 3.15 3.75 6.90
176 NYLON GAS PEDALS 34 70.16 2.38 .35 2.73
181 BUCKET SEAT 57 100.05 5.70 .50 6.20
188 1" TRAILER HITCH 56 20.10 5.60 .10 5.70
191 TOWQUE WRENCHES 56 1,102.13 5.60 5.51 11.11
195 4 PLY RADIAL TIRES 45 560.75 3.15 2.80 5.95
204 611 JUMPER CABLES 33 40.11 2.31 .20 2.51
207 SETS OF 4 HEX NUTS 40 50.17 2.80 .25 3.05
218 511 WINDSHIELD BLADES 67 230.20 6.70 1.15 7.85
220 PLASTIC FLOOR MATS 50 471.92 3.50 2.35 5.85
225 WOOD STEERING WHEELS 59 1,023.65 5.90 5.11 11.01
227 POINTS AND PLUGS 55 20.78 5.50 .10 5.60
232 LOCK DE-ICER 83 100.45 8.30 .50 8.80
235 MOTORALL 1OW30 OIL 76 230.56 7.60 1.15 8.75
278 GENERATORS 78 909.00 7.80 4.54 12.34
357 1/211 VACUUM LINES 87 40.98 8.70 .20 8.90
397 METRIC SOCKET SETS 23 1,031.34 1.61 5.15 6.76
389 FLOOR CLEANER 56 40.21 5.60 .20 5.80
445 2 TON CAR RAMPS 45 100.24 3.15 .50 3.65
469 TRANSMISSION KITS 73 800.76 7.30 4.00 11.30
478 OIL PANS 34 110.78 2.38 .55 2.93
498 OPERATORS MANUALS 94 10.99 9.40 .05 9.45
513 HI/LO DIMMER SWITCH 39 100.20 2.73 .50 3.23
598 RACING STRIPE KITS 4 450.89 .28 2.25 2.53
599 OIL CHANGE KIT 34 901.00 2.38 4.50 6.88
613 INTERIOR LIGHT 13ULBS 2 40.50 .14 .20 .34
PACKAGE PACKAGE SHIPMENT SHIPMENT SHIPPING INSURANCE TOTAL
NUMBER CONTENTS WEIGHT VALUE COST COST COST
629 SET OF 2 FOG LIGHTS 9 10.08 .63 .05 .68
635 DISTRIBUTOR CAPS 34 100.23 2.38 .50 2.88
648 TIMING GEARS 89 1,100.23 8.90 5.50 14.40
659 SECURITY SYSTEM 29 100.67 2.03 .50 2.53
670 CRUISE CONTROLS 56 550.67 5.60 2.75 8.35
798 SET OF 4 HUB CAPS 45 670.78 3.15 3.35 6.50
837 AXLE GREASE (GALLON) 47 10.23 3.29 .05 3.34
856 NO-WIPE CAR POLISH 75 40.56 7.50 .20 7.70
867 CAR WAXERS 45 900.20 3.15 4.50 7.65
867 GREASE-B-GONE WASHER 28 340.56 1.96 1.70 3.66
873 SUNNY SUNROOF KIT 45 110.45 3.15 .55 3.70
884 ROAD MAPS 4 10.05 .28 .05 .33
891 2-WAY OIL FILTER 40 100.52 2.80 .50 3.30
895 ENGINE BLOCKS 78 4,020.98 7.80 20.10 27.90
897 TRANSMISSION FLUID 23 450.56 1.61 2.25 3.86
900 NO-SLIP BRAKE FLUID 50 500.67 3.50 2.50 6.00
915 NO-LEAK RADIATORS 40 1,203.44 2.80 6.01 8.81
924 SPARKLES PAINT 98 90.09 9.80 .45 10.25
934 CHROME POLISH 84 190.90 8.40 .95 9.35
946 VINYL TOP KITS 86 870.78 8.60 4.35 12.95
961 611 ROUND HEADLIGHTS 70 870.90 7.00 4.35 11.35
976 NO-FUZZ FUZZ BUSTER 98 300.30 9.80 1.50 11.30
990 GLASS WINDOWS 90 2,002.30 9.00 10.01 19.01
TOTAL SHIPMENTS 50 $235.17 $120.68 $355.8
BACK TO CIS165 PAGE.