PROGRAM 7
IDENTIFICATION DIVISION. PROGRAM-ID. PROJECT7. AUTHOR. ANTHONY F. ORTIZ. **************************************************** * THIS PROGRAM CREATES A FAST FOOD SALES REPORT. * **************************************************** ENVIRONMENT DIVISION. INPUT-OUTPUT SECTION. FILE-CONTROL. SELECT IN-FILE ASSIGN TO DISK "A:\ONE.DAT" ORGANIZATION IS LINE SEQUENTIAL. SELECT OUT-FILE ASSIGN TO PRINTER. FILE SECTION. FD IN-FILE LABEL RECORD IS STANDARD. 01 IN-RECORD. 02 IN-DISTRICT-NUMBER PIC 9(4). 02 FILLER PIC X(2). 02 IN-FRANCHISE-NUMBER PIC 9(3). 02 IN-FRANCHISE-OWNER PIC X(20). 02 FILLER PIC X(21). 02 IN-SALES-CODE PIC 9(1). 02 FILLER PIC X(4). 02 IN-DAILY-SALES PIC 9(4)V99. FD OUT-FILE. 01 OUT-BUFFER PIC X(80). WORKING-STORAGE SECTION. 01 OUT-RECORD. 02 FILLER PIC X(2). 02 OUT-DISTRICT-NUMBER PIC 9(4). 02 FILLER PIC X(7). 02 OUT-FRANCHISE-NUMBER PIC 9(3). 02 FILLER PIC X(4). 02 OUT-FRANCHISE-OWNER PIC X(20). 02 FILLER PIC X(4). 02 OUT-SALES-CATEGORY PIC X(19). 02 FILLER PIC X(4). 02 OUT-DAILY-SALES PIC Z,ZZZ.99. 01 WORK-DATE. 02 WORK-YEAR PIC 99. 02 WORK-MONTH PIC 99. 02 WORK-DAY PIC 99. 01 PROGRAM-INDICATORS. 02 EOF-SWITCH PIC X(3) VALUE 'YES'. 01 PROGRAM-COMPARE-AREA. 02 COMPARE-DISTRICT-NUMBER PIC 9(4). 01 PROGRAM-COUNTERS-TOTALS. 02 PAGE-COUNTER PIC 99 VALUE 1. 02 LINE-COUNTER PIC 99 VALUE ZERO. 02 TOTAL-DISTRICT-SALES PIC 9(5)V99 VALUE ZERO. 02 TOTAL-SALES PIC 9(6)V99 VALUE ZERO. 01 PROGRAM-TABLES. 05 SALES-TABLE. 10 SALES-CONSTANTS. 15 FILLER PIC X(19) VALUE 'OVER 1 MILLION SOLD'. 15 FILLER PIC X(19) VALUE 'OVER 2 MILLION SOLD'. 15 FILLER PIC X(19) VALUE 'OVER 3 MILLION SOLD'. 15 FILLER PIC X(19) VALUE 'OVER 4 MILLION SOLD'. 15 FILLER PIC X(19) VALUE 'OVER 5 MILLION SOLD'. 15 FILLER PIC X(19) VALUE 'OVER 6 MILLION SOLD'. 10 SALE-TABLE REDEFINES SALES-CONSTANTS PIC X(19) OCCURS 6 TIMES. 01 ERROR-LINE. 02 ERROR-MESSAGE. 03 FILLER PIC X(46) VALUE 'FAST FOOD SALES REPORT - NO RECORDS TO PROCESS'. 01 HEADER-LINES. 02 HEADER-LINE1. 03 OUT-MONTH PIC 99. 03 FILLER PIC X VALUE '/'. 03 OUT-DAY PIC 99. 03 FILLER PIC X VALUE '/'. 03 OUT-YEAR PIC 99. 03 FILLER PIC X(23) VALUE SPACES. 03 FILLER PIC X(15) VALUE 'FAST FOOD SALES'. 03 FILLER PIC X(20) VALUE SPACES. 03 FILLER PIC X(5) VALUE 'PAGE '. 03 OUT-PAGE-COUNTER PIC ZZ9. 02 HEADER-LINE2. 03 FILLER PIC X(8) VALUE 'DISTRICT'. 03 FILLER PIC X(2) VALUE SPACES. 03 FILLER PIC X(9) VALUE 'FRANCHISE'. 03 FILLER PIC X(5) VALUE SPACES. 03 FILLER PIC X(9) VALUE 'FRANCHISE'. 03 FILLER PIC X(16) VALUE SPACES. 03 FILLER PIC X(5) VALUE 'SALES'. 03 FILLER PIC X(15) VALUE SPACES. 03 FILLER PIC X(5) VALUE 'DAILY'. 02 HEADER-LINE3. 03 FILLER PIC X(1) VALUE SPACES. 03 FILLER PIC X(6) VALUE 'NUMBER'. 03 FILLER PIC X(4) VALUE SPACES. 03 FILLER PIC X(6) VALUE 'NUMBER'. 03 FILLER PIC X(9) VALUE SPACES. 03 FILLER PIC X(5) VALUE 'OWNER'. 03 FILLER PIC X(17) VALUE SPACES. 03 FILLER PIC X(8) VALUE 'CATEGORY'. 03 FILLER PIC X(13) VALUE SPACES. 03 FILLER PIC X(5) VALUE 'SALES'. 01 TOTAL-LINES. 02 TOTAL-LINE1. 03 FILLER PIC X(36) VALUE SPACES. 03 FILLER PIC X(23) VALUE 'TOTAL SALES - DISTRICT '. 03 DISTRICT-TOTAL PIC ZZZ9. 03 FILLER PIC X(3) VALUE SPACES. 03 OUT-TOTAL-DISTRICT-SALES PIC ZZ,ZZZ.99. 03 FILLER PIC X(1) VALUE '*'. 02 TOTAL-LINE2. 03 FILLER PIC X(36) VALUE SPACES. 03 FILLER PIC X(28) VALUE 'FINAL TOTAL - ALL DISTRICTS '. 03 OUT-TOTAL-SALES PIC $ZZZ,ZZZ.99. 03 FILLER PIC X(2) VALUE '**'. PROCEDURE DIVISION. MAIN-LINE. PERFORM OPEN-FILES. PERFORM READ-RECORD. IF EOF-SWITCH = 'YES' PERFORM INITIALIZE-COMPARE-FIELD PERFORM PRINT-HEADER-LINES PERFORM PROCESS-RECORD UNTIL EOF-SWITCH = 'NO ' PERFORM PRINT-TOTAL-LINE2 ELSE PERFORM PRINT-ERROR-MESSAGE-LINE. 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. INITIALIZE-COMPARE-FIELD. MOVE IN-DISTRICT-NUMBER TO COMPARE-DISTRICT-NUMBER. PRINT-HEADER-LINES. ACCEPT WORK-DATE FROM DATE. MOVE WORK-MONTH TO OUT-MONTH. MOVE WORK-DAY TO OUT-DAY. MOVE WORK-YEAR TO OUT-YEAR. MOVE PAGE-COUNTER TO OUT-PAGE-COUNTER. WRITE OUT-BUFFER FROM HEADER-LINE1 AFTER ADVANCING PAGE. WRITE OUT-BUFFER FROM HEADER-LINE2 AFTER ADVANCING 2 LINES. WRITE OUT-BUFFER FROM HEADER-LINE3 AFTER ADVANCING 1 LINES. ADD 4 TO LINE-COUNTER. PROCESS-RECORD. PERFORM MOVE-IN-OUT. PERFORM WRITE-RECORD. PERFORM READ-RECORD. MOVE-IN-OUT. MOVE SPACES TO OUT-RECORD. MOVE IN-DISTRICT-NUMBER TO OUT-DISTRICT-NUMBER. IF IN-DISTRICT-NUMBER IS NOT EQUAL TO COMPARE-DISTRICT-NUMBER PERFORM PRINT-TOTAL-LINE1. MOVE IN-FRANCHISE-NUMBER TO OUT-FRANCHISE-NUMBER. MOVE IN-FRANCHISE-OWNER TO OUT-FRANCHISE-OWNER. MOVE SALE-TABLE (IN-SALES-CODE) TO OUT-SALES-CATEGORY. MOVE IN-DAILY-SALES TO OUT-DAILY-SALES. PERFORM CALCULATE-COUNTERS-TOTALS. PRINT-TOTAL-LINE1. MOVE COMPARE-DISTRICT-NUMBER TO DISTRICT-TOTAL. MOVE TOTAL-DISTRICT-SALES TO OUT-TOTAL-DISTRICT-SALES. WRITE OUT-BUFFER FROM TOTAL-LINE1 AFTER ADVANCING 2 LINES. ADD 2 TO LINE-COUNTER. COMPUTE TOTAL-DISTRICT-SALES = 0. MOVE IN-DISTRICT-NUMBER TO COMPARE-DISTRICT-NUMBER. CALCULATE-COUNTERS-TOTALS. COMPUTE LINE-COUNTER = LINE-COUNTER + 2. COMPUTE TOTAL-DISTRICT-SALES = TOTAL-DISTRICT-SALES + IN-DAILY-SALES. COMPUTE TOTAL-SALES = TOTAL-SALES + IN-DAILY-SALES. IF LINE-COUNTER > 52 ADD 1 TO PAGE-COUNTER PERFORM PRINT-HEADER-LINES COMPUTE LINE-COUNTER = 0. WRITE-RECORD. WRITE OUT-BUFFER FROM OUT-RECORD AFTER ADVANCING 2 LINES. PRINT-TOTAL-LINE2. PERFORM PRINT-TOTAL-LINE1. MOVE TOTAL-SALES TO OUT-TOTAL-SALES. WRITE OUT-BUFFER FROM TOTAL-LINE2 AFTER ADVANCING 2 LINES. PRINT-ERROR-MESSAGE-LINE. WRITE OUT-BUFFER FROM ERROR-LINE AFTER ADVANCING PAGE. CLOSE-FILES. CLOSE IN-FILE OUT-FILE. * DATA FILE: ONE.DAT * 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: PROG7.OUT * 03/05/99 FAST FOOD SALES PAGE 1 DISTRICT FRANCHISE FRANCHISE SALES DAILY NUMBER NUMBER OWNER CATEGORY SALES 1001 410 ALBERS, STEVEN OVER 2 MILLION SOLD 310.45 1001 561 CANATERRA, CANDY OVER 6 MILLION SOLD 751.05 1001 765 CHENEY, MAXINE OVER 1 MILLION SOLD 70.16 1001 813 CRAIG, MARY LOU OVER 4 MILLION SOLD 100.05 TOTAL SALES DISTRICT 1001 1,231.71* 1003 887 DUFFY, MARCUS OVER 2 MILLION SOLD 20.10 1003 914 EPPLY, DERVIS OVER 1 MILLION SOLD 1,102.13 1003 957 FIEDLER, FERN OVER 5 MILLION SOLD 560.75 TOTAL SALES DISTRICT 1003 1,682.98* 1005 045 GARCIA, FRANCIS OVER 2 MILLION SOLD 40.11 1005 076 KOON, BARNEY L. OVER 1 MILLION SOLD 50.17 1005 189 KOWALSKI, PATRICK OVER 3 MILLION SOLD 230.20 1005 201 LICHFIELD, SANDRA OVER 6 MILLION SOLD 471.92 1005 250 LUBNER, SALLY R. OVER 4 MILLION SOLD 1,023.65 TOTAL SALES DISTRICT 1005 1,816.05* 1006 275 MARQUARDT, MICHAEL OVER 1 MILLION SOLD 20.78 1006 323 MARTIN, JUSTIN B. OVER 3 MILLION SOLD 100.45 1006 357 MCGILL, MARTIN J. OVER 4 MILLION SOLD 230.56 1006 789 MEEGAN, JULIE R. OVER 6 MILLION SOLD 909.00 1006 578 MUFFINS, ROGERT L. OVER 1 MILLION SOLD 40.98 1006 971 NAPOLITAN, SHEILA R. OVER 5 MILLION SOLD 1,031.34 TOTAL SALES DISTRICT 1006 2,333.11* 1007 898 NOWICKI, OZZIE L. OVER 2 MILLION SOLD 40.21 1007 456 PEACOCK, GERALD M. OVER 1 MILLION SOLD 100.24 03/05/99 FAST FOOD SALES PAGE 2 DISTRICT FRANCHISE FRANCHISE SALES DAILY NUMBER NUMBER OWNER CATEGORY SALES 1007 692 PEREZ, MARTINIQUE A. OVER 5 MILLION SOLD 800.76 1007 789 POSTEN, THOMAS E. OVER 4 MILLION SOLD 110.78 1007 987 REESES, LAURA W. OVER 2 MILLION SOLD 10.99 1007 139 RENO, STEVEN B. OVER I MILLION SOLD 100.20 1007 983 ROGHCHILD, RUTH C. OVER 3 MILLION SOLD 450.89 TOTAL SALES DISTRICT 1007 1,614.07* 1008 999 SAMMS, CARLA P. OVER 6 MILLION SOLD 901.00 1008 134 SCHMIDT, CHUCK H. OVER 1 MILLION SOLD 40.50 1008 297 SHARP, CRAIG I. OVER 3 MILLION SOLD 10.08 1008 356 SHORT, BRENDA B. OVER 2 MILLION SOLD 100.23 1008 489 SKINNER, CARL S. OVER 5 MILLION SOLD 1,100.23 1008 598 SPRINGSTEIN, ALBERT OVER 6 MILLION SOLD 100.67 1008 701 STROH, ALEXIS M. OVER 4 MILLION SOLD 550.67 TOTAL SALES DISTRICT 1008 2,803.38* 2001 980 SWEENEY, ROGER W. OVER 5 MILLION SOLD 670.78 2001 379 TEEPLE, THOMAS T. OVER 1 MILLION SOLD 10.23 2001 567 TOMCHUCK, FREDERICK OVER 3 MILLION SOLD 40.56 2001 673 TOMLIN, PETER S. OVER 6 MILLION SOLD 900.20 2001 674 TOWNLEY, ASTIN R. OVER 5 MILLION SOLD 340.56 2001 732 TOWNS, BEVERLY OVER 2 MILLION SOLD 110.45 TOTAL SALES DISTRICT 2001 2,072.78* 2003 845 TRAKSO, ALLEN R. OVER 1 MILLION SOLD 10.05 2003 913 TRUSKOWSKI, MIKE OVER 2 MILLION SOLD 100.52 2003 957 TURNER, CHARLES A. OVER 4 MILLION SOLD 4,020.98 2003 975 TYLER, MARY M. OVER 3 MILLION SOLD 450.56 TOTAL SALES DISTRICT 2003 4,582.11* 2005 003 ULMER, FRED F. OVER 4 MILLION SOLD 500.67 03/05/99 FAST FOOD SALES PAGE 3 DISTRICT FRANCHISE FRANCHISE SALES DAILY NUMBER NUMBER OWNER CATEGORY SALES 2005 156 URMY, AMY A. OVER 1 MILLION SOLD 1,203.44 2005 245 VARTY, VERNON S. OVER 2 MILLION SOLD 90.09 2005 347 VINCENT, BOBBY L. OVER 6 MILLION SOLD 190.90 TOTAL SALES DISTRICT 2005 1,985.10* 2007 467 WADHAM, LARRY L. OVER 4 MILLION SOLD 870.78 2007 610 WALKER, JERRY F. OVER 5 MILLION SOLD 870.90 2007 763 WENDT, WENDY Y. OVER 2 MILLION SOLD 300.30 2007 908 ZELLER, ARTHUR OVER 1 MILLION SOLD 2,002.30 TOTAL SALES DISTRICT 2007 $4,044.28* FINAL TOTAL ALL DISTRICTS $24,165.57**
BACK TO CIS165 PAGE.