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.