PROGRAM 8
IDENTIFICATION DIVISION.
PROGRAM-ID. PROJECT8.
AUTHOR. ANTHONY F. ORTIZ.
*********************************************
* THIS PROGRAM CREATES A ITEM PRICE LIST. *
*********************************************
ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT IN-FILE ASSIGN TO DISK "A:\TWO.DAT"
ORGANIZATION IS LINE SEQUENTIAL.
SELECT SORTED-FILE ASSIGN TO DISK "A:\SORTED.DAT"
ORGANIZATION IS LINE SEQUENTIAL.
SELECT SORT-FILE ASSIGN TO DISK "SORT.TMP".
SELECT LIST-FILE ASSIGN TO PRINTER.
DATA DIVISION.
FILE SECTION.
FD IN-FILE LABEL RECORD IS STANDARD.
01 IN-RECORD PIC X(67).
SD SORT-FILE.
01 SORT-RECORD.
02 FILLER PIC X(32).
02 SORT-ITEM-DESC PIC X(20).
02 FILLER PIC X(15).
FD SORTED-FILE LABEL RECORD IS STANDARD.
01 SORTED-RECORD.
02 FILLER PIC X(32).
02 SORTED-ITEM-DESC PIC X(20).
02 FILLER PIC X(1).
02 SORTED-SELLING-PRICE PIC 9(4)V99.
02 FILLER PIC X(8).
FD LIST-FILE LABEL RECORD IS OMITTED.
01 OUT-BUFFER PIC X(67).
WORKING-STORAGE SECTION.
01 LIST-RECORD.
02 LIST-ITEM-DESC PIC X(20).
02 FILLER PIC X(5).
02 LIST-SELLING-PRICE PIC $Z,ZZZ.99.
01 HEADER-LINE.
02 FILLER PIC X(5) VALUE 'ITEM '.
02 FILLER PIC X(11) VALUE 'DESCRIPTION'.
02 FILLER PIC X(13) VALUE SPACES.
02 FILLER PIC X(5) VALUE 'PRICE'.
01 TOTAL-LINE.
02 FILLER PIC X(6) VALUE 'TOTAL '.
02 FILLER PIC X(8) VALUE 'RECORDS '.
02 FILLER PIC X(9) VALUE 'IN FILE- '.
02 OUT-TOTAL-RECORDS PIC ZZZ.
01 PROGRAM-INDICATORS.
02 EOF-SWITCH PIC X(3) VALUE 'NO '.
01 COUNTERS-TOTALS.
02 LINE-COUNTER PIC 99 VALUE ZERO.
02 TOTAL-RECORDS PIC 999 VALUE ZERO.
PROCEDURE DIVISION.
MAIN-LINE.
PERFORM SORT-FILES.
PERFORM OPEN-FILES.
PERFORM PRINT-HEADER-LINE.
PERFORM READ-RECORD.
PERFORM PROCESS-RECORD UNTIL EOF-SWITCH = 'YES'
PERFORM PRINT-TOTAL-LINE
PERFORM CLOSE-FILES.
STOP RUN.
OPEN-FILES.
OPEN INPUT SORTED-FILE OUTPUT LIST-FILE.
READ-RECORD.
READ SORTED-FILE AT END MOVE 'YES' TO EOF-SWITCH.
PRINT-HEADER-LINE.
WRITE OUT-BUFFER FROM HEADER-LINE AFTER ADVANCING PAGE.
SORT-FILES.
SORT SORT-FILE ON ASCENDING KEY
SORT-ITEM-DESC USING IN-FILE GIVING SORTED-FILE.
PROCESS-RECORD.
PERFORM MOVE-IN-OUT.
PERFORM ADD-COUNTER-TOTALS.
PERFORM WRITE-RECORD.
PERFORM READ-RECORD.
MOVE-IN-OUT.
MOVE SORTED-ITEM-DESC TO LIST-ITEM-DESC.
MOVE SORTED-SELLING-PRICE TO LIST-SELLING-PRICE.
ADD-COUNTER-TOTALS.
COMPUTE LINE-COUNTER = LINE-COUNTER + 2.
COMPUTE TOTAL-RECORDS = TOTAL-RECORDS + 1.
IF LINE-COUNTER = 52
PERFORM PRINT-HEADER-LINE
COMPUTE LINE-COUNTER = 0.
PRINT-TOTAL-LINE.
MOVE TOTAL-RECORDS TO OUT-TOTAL-RECORDS.
WRITE OUT-BUFFER FROM TOTAL-LINE AFTER ADVANCING 2 LINES.
WRITE-RECORD.
WRITE OUT-BUFFER FROM LIST-RECORD AFTER ADVANCING 2 LINES.
CLOSE-FILES.
CLOSE SORTED-FILE LIST-FILE.
* DATA FILE: TWO.DAT *
072786100101ALBERT, PETER A. CRT WORKSTATION 101202100308901
072786100103ALLENSON, SHEILA M. CONTEMPORARY DESK 202386800873403
072786100105ANDERSON, ARLENE T. EXECUTIVE DESK CHAIR301259301005005
072786100107BILLINGS, BARBARA ARMLESS SWIVEL CHAIR401378301105606
072786100109CANNON, CAROLE C. PLASTICMAID FLOORMAT200673900300004
072786100310CHAPMAN, RONA L. HAT & COAT RACK 301569400356702
072786100312CLAFFLIN, WALTER E. 5 DRAWER CABINET 401250100367803
072786100313COMPANA, ESTER CRT STAND & PAD 101890100789576
072786100315COOPER, BART B. CORRUGATED ORGANIZER100456700200034
072786100316CRAIGS, ELAINE 5" MESSAGE PADS 100127300506785
072786100318DOGGING, CARL LABEL & BADGE MAKER 301345700240582
072886100529DOWNING, EARLE S. SELF-ADHISIVE LABELS304873101258991
072886100530DRIFT, CHRISTOPHER #14 RUBBER BANDS 200053700348446
072886100531ERIKSON, BRIT E. TRANSPARENT TAPE 402345601103406
072886100532FREEMAN, ROBERT F. PHONE/ADDRESS BOOK 200579300608034
072886100535FRONT, CHARLES L. ELMO'S SUPER GLUE 401457300293483
072886100537GARCIA, JOSE FLOWCHART TEMPLATE 201456301013442
072886100738HATFIELD, FRED R. EXPAND-O FILE FOLDER403568500806795
072886100739HELLER, KAREN S. DESK TOP CARD FILE 300456700304591
072886100740HENDRIX, SHIRLEY D. GENERAL LEDGER CARDS300348200169523
072886100742ISLANDER, JENNE WOOD ATTACHE CASE 203547801209865
072886100743LADA, LAWRENCE S. STANDARD STAPLES 104500802475332
072886100745LADD, DAVID L. MULTIPLE HOLE PUNCH 400346800204082
072886100947LAMB, EDWARD R. PRESENTATION EASELS 203984402879906
072886100948LEELAND, WESLEY R. MAGNIFYING GLASS 300738300607023
072986100949LOFTIS, DOUGLAS L. DESK PAD & CALENDAR 100783700500092
072986100950MILLER, SUSAN S. DESK TOP ORGANIZER 203759802184392
072986200151MUDGLEY, BRENDA 3' DESK LAMP 203568401568224
072986200152NICKELS, KATHY WALL CLOCK & CORD 210308804108071
072986200154NOWAKOWSKI, ALLEN T.WASTE RECEPTICLES 403459300809545
072986200355PATERSON, PATTI SMOKING STANDS 108906701293424
072986200356PETERSON, JACK E. CORRESPONDONCE FORM 403450900809693
072986200357PETERSON, TONY L. WORK ORDER FORM PADS212009900459875
072986200358PLANTARA, CARLA P. PRESSBOARD COVERS 406550900879336
073086200359RASKIN, RUTH E. METAL HINGE BINDERS 309833104658262
073086200560SANDERSON, PAULETTE STENOGRAPHER'S PAD 412569300308551
073086200562SAUNDERS, GEORGE P. BINDER INDEXES 204050603459843
073086200564SINGER, ALEXIS E. EXPENSE BOOKLET 300348500203484
073086200565SUMMERS, APRIL L. COLUMNAR BOOKS 407890104593056
073086200567SWEET, SUSAN R. CALCULATOR ROLLS 109345405056091
073086200769TANDY, TRICIA S. HAND HELD CALCULATOR208394505010003
073086200770TERRY, RON CATCH-A-CALL PHONE 308309204832296
073186200773TONEY, IRA L. PENCIL SHARPENER 408398904007082
073186200775UPLAND, JILL I. PEN & PENCIL SET 208987803567754
073186200779VANBUREN, ERIN F. MECHANICAL PENCIL 304354403234735
073186200980WALLACE, STEVEN COLORED PENCIL SET 208979903478541
073186200985WALTON, WOODROW R. DUPLICATING FLUID 400783900638363
073186200987YULANE, ARTHUR M. FILING ENVELOPES 301234500900045
073186200990ZIPPO, WANDA EXECUTIVE PAD HOLDER400847500739156
073186200995ZOONEY, MARVIN 5" DISKETTE HOLDER 109385505033253
* DATA FILE: SORTED.DAT *
072886100530DRIFT, CHRISTOPHER #14 RUBBER BANDS 200053700348446
072986200151MUDGLEY, BRENDA 3' DESK LAMP 203568401568224
072786100312CLAFFLIN, WALTER E. 5 DRAWER CABINET 401250100367803
073186200995ZOONEY, MARVIN 5" DISKETTE HOLDER 109385505033253
072786100316CRAIGS, ELAINE 5" MESSAGE PADS 100127300506785
072786100107BILLINGS, BARBARA ARMLESS SWIVEL CHAIR401378301105606
073086200562SAUNDERS, GEORGE P. BINDER INDEXES 204050603459843
073086200567SWEET, SUSAN R. CALCULATOR ROLLS 109345405056091
073086200770TERRY, RON CATCH-A-CALL PHONE 308309204832296
073186200980WALLACE, STEVEN COLORED PENCIL SET 208979903478541
073086200565SUMMERS, APRIL L. COLUMNAR BOOKS 407890104593056
072786100103ALLENSON, SHEILA M. CONTEMPORARY DESK 202386800873403
072986200356PETERSON, JACK E. CORRESPONDONCE FORM 403450900809693
072786100315COOPER, BART B. CORRUGATED ORGANIZER100456700200034
072786100313COMPANA, ESTER CRT STAND & PAD 101890100789576
072786100101ALBERT, PETER A. CRT WORKSTATION 101202100308901
072986100949LOFTIS, DOUGLAS L. DESK PAD & CALENDAR 100783700500092
072886100739HELLER, KAREN S. DESK TOP CARD FILE 300456700304591
072986100950MILLER, SUSAN S. DESK TOP ORGANIZER 203759802184392
073186200985WALTON, WOODROW R. DUPLICATING FLUID 400783900638363
072886100535FRONT, CHARLES L. ELMO'S SUPER GLUE 401457300293483
072786100105ANDERSON, ARLENE T. EXECUTIVE DESK CHAIR301259301005005
073186200990ZIPPO, WANDA EXECUTIVE PAD HOLDER400847500739156
072886100738HATFIELD, FRED R. EXPAND-O FILE FOLDER403568500806795
073086200564SINGER, ALEXIS E. EXPENSE BOOKLET 300348500203484
073186200987YULANE, ARTHUR M. FILING ENVELOPES 301234500900045
072886100537GARCIA, JOSE FLOWCHART TEMPLATE 201456301013442
072886100740HENDRIX, SHIRLEY D. GENERAL LEDGER CARDS300348200169523
073086200769TANDY, TRICIA S. HAND HELD CALCULATOR208394505010003
072786100310CHAPMAN, RONA L. HAT & COAT RACK 301569400356702
072786100318DOGGING, CARL LABEL & BADGE MAKER 301345700240582
072886100948LEELAND, WESLEY R. MAGNIFYING GLASS 300738300607023
073186200779VANBUREN, ERIN F. MECHANICAL PENCIL 304354403234735
073086200359RASKIN, RUTH E. METAL HINGE BINDERS 309833104658262
072886100745LADD, DAVID L. MULTIPLE HOLE PUNCH 400346800204082
073186200775UPLAND, JILL I. PEN & PENCIL SET 208987803567754
073186200773TONEY, IRA L. PENCIL SHARPENER 408398904007082
072886100532FREEMAN, ROBERT F. PHONE/ADDRESS BOOK 200579300608034
072786100109CANNON, CAROLE C. PLASTICMAID FLOORMAT200673900300004
072886100947LAMB, EDWARD R. PRESENTATION EASELS 203984402879906
072986200358PLANTARA, CARLA P. PRESSBOARD COVERS 406550900879336
072886100529DOWNING, EARLE S. SELF-ADHISIVE LABELS304873101258991
072986200355PATERSON, PATTI SMOKING STANDS 108906701293424
072886100743LADA, LAWRENCE S. STANDARD STAPLES 104500802475332
073086200560SANDERSON, PAULETTE STENOGRAPHER'S PAD 412569300308551
072886100531ERIKSON, BRIT E. TRANSPARENT TAPE 402345601103406
072986200152NICKELS, KATHY WALL CLOCK & CORD 210308804108071
072986200154NOWAKOWSKI, ALLEN T.WASTE RECEPTICLES 403459300809545
072886100742ISLANDER, JENNE WOOD ATTACHE CASE 203547801209865
072986200357PETERSON, TONY L. WORK ORDER FORM PADS212009900459875
* OUTFILE: PROG8.OUT *
ITEM DESCRIPTION PRICE
#14 RUBBER BANDS $5.37
31 DESK LAMP $356.84
5 DRAWER CABINET $125.01
511 DISKETTE HOLDER $938.55
511 MESSAGE PADS $12.73
ARMLESS SWIVEL CHAIR $137.83
BINDER INDEXES $405.06
CALCULATOR ROLLS $934.54
CATCH-A-CALL PHONE $830.92
COLORED PENCIL SET $897.99
COLUMNAR BOOKS $789.01
CONTEMPORARY DESK $238.68
CORRESPONDONCE FORM $345.09
CORRUGATED ORGANIZER $45.67
CRT STAND & PAD $189.01
CRT WORKSTATION $120.21
DESK PAD & CALENDAR $78.37
DESK TOP CARD FILE $45.67
DESK TOP ORGANIZER $375.98
DUPLICATING FLUID $78.39
ELMO'S SUPER GLUE $145.73
EXECUTIVE DESK CHAIR $125.93
EXECUTIVE PAD HOLDER $84.75
EXPAND-0 FILE FOLDER $356.85
EXPENSE BOOKLET $34.85
ITEM DESCRIPTION PRICE
FILING ENVELOPES $123.45
FLOWCHART TEMPLATE $145.63
GENERAL LEDGER CARDS $34.82
HAND HELD CALCULATOR $839.45
HAT & COAT RACK $156.94
LABEL & BADGE MAKER $134.57
MAGNIFYING GLASS $73.83
MECHANICAL PENCIL $435.44
METAL HINGE BINDERS $983.31
MULTIPLE HOLE PUNCH $34.68
PEN & PENCIL SET $898.78
PENCIL SHARPENER $839.89
PHONE/ADDRESS BOOK $57.93
PLASTICMAID FLOORMAT $67.39
PRESENTATION EASELS $398.44
PRESSBOARD COVERS $655.09
SELF-ADHISIVE LABELS $487.31
SMOKING STANDS $890.67
STANDARD STAPLES $450.08
STENOGRAPHER'S PAD $1,256.93
TRANSPARENT TAPE $234.56
WALL CLOCK & CORD $1,030.88
WASTE RECEPTICLES $345.93
WOOD ATTACHE CASE $354.78
WORK ORDER FORM PADS $1,200.99
TOTAL RECORDS IN FILE - 50
BACK TO CIS165 PAGE.