You are on page 1of 3

IDENTIFICATIONDIVISION.

PROGRAMID.SAMPLE.
AUTHOR.D.GOLDEN.
DATEWRITTEN.1/8/99.
DATECOMPILED.
*
*
*THISISASAMPLEPROGRAM.
*
*
ENVIRONMENTDIVISION.
CONFIGURATIONSECTION.
SOURCECOMPUTER.IBM3091.
OBJECTCOMPUTER.IBM3091.
INPUTOUTPUTSECTION.
FILECONTROL.
SELECTINVENTORYFILEASSIGNTOINVENTRY.
SELECTPRINTFILEASSIGNTOPRINT.
*
*
*
DATADIVISION.
FILESECTION.
FDINVENTORYFILE
BLOCKCONTAINS0RECORDS
LABELRECORDSARESTANDARD.
01INVENTORYRECPICX(41).
*
FDPRINTFILE
LABELRECORDSAREOMITTED.
01PRINTREC.
05FILLERPICX.
05PRINTLINEPICX(132).
EJECT

353982469.doc Page 1 of 3
Donald Golden, 1995
WORKINGSTORAGESECTION.
01EOFFLAGPICX.
01HEADERREC.
05FILLERPICX(7)VALUE'CODE'.
05FILLERPICX(30)
VALUE'PRODUCTDESCRIPTION'.
05FILLERPICX(10)VALUE'PRICE'.
05FILLERPICX(10)VALUE'QTY'.
05FILLERPICX(11)VALUE'STOCKVALUE'.
*
01INVENTORYTOTALPIC9(8)V99.
*
01ITEMVALUEPIC9(6)V99.
*
01LINECOUNTPIC99.
*
01LINESPERPAGEPIC99VALUE50.
*
01WSINVENTORY.
05PRODUCTCODEPICX(5).
05PRODUCTDESCRIPTIONPICX(25).
05UNITPRICEPIC9(4)V99.
05QTYONHANDPIC9(5).
*
01WSPRINTITEM.
05PRPRODUCTCODEPICX(5).
05FILLERPICXXVALUESPACE.
05PRPRODUCTDESCPICX(25).
05FILLERPICX(5)VALUESPACE.
05PRUNITPRICEPIC$ZZZ9.99.
05FILLERPICXXVALUESPACE.
05PRQTYONHANDPICZ(4)9.
05FILLERPICX(5)VALUESPACE.
05PRITEMVALUEPIC$ZZZ,ZZ9.99.
05FILLERPICX(64)VALUESPACE.
*
01WSPRINTTOTAL.
05FILLERPICX(55)
VALUE'TOTALINVENTORYVALUE:'.
05PRINVENTORYTOTALPIC$ZZ,ZZZ,ZZ9.99.
05FILLERPICX(64)VALUESPACE.
EJECT

353982469.doc Page 2 of 3
Donald Golden, 1995
PROCEDUREDIVISION.
A000MAINDRIVER.
OPENINPUTINVENTORYFILE
OUTPUTPRINTFILE.
MOVE0TOLINECOUNT.
MOVE'N'TOEOFFLAG.
MOVE0TOINVENTORYTOTAL.
READINVENTORYFILE
ATENDMOVE'Y'TOEOFFLAG.
MOVEINVENTORYRECTOWSINVENTORY.
PERFORMB010PROCESSRECORD
UNTILEOFFLAG='Y'.
MOVESPACESTOPRINTLINE.
WRITEPRINTRECAFTERADVANCING1LINE.
MOVEINVENTORYTOTALTOPRINVENTORYTOTAL.
WRITEPRINTRECFROMWSPRINTTOTAL
AFTERADVANCING1LINE.
CLOSEINVENTORYFILE
PRINTFILE.
STOPRUN.
*
B010PROCESSRECORD.
MOVEPRODUCTCODETOPRPRODUCTCODE.
MOVEPRODUCTDESCRIPTIONTOPRPRODUCTDESC.
MOVEUNITPRICETOPRUNITPRICE.
MOVEQTYONHANDTOPRQTYONHAND.
MULTIPLYUNITPRICEBYQTYONHANDGIVINGITEMVALUE.
MOVEITEMVALUETOPRITEMVALUE.
ADDITEMVALUETOINVENTORYTOTAL.
PERFORMX010PRINTLINE.
READINVENTORYFILEINTOWSINVENTORY
ATENDMOVE'Y'TOEOFFLAG.
*
X010PRINTLINE.
IFLINECOUNT=0
PERFORMX020PRINTHEADING.
MOVEWSPRINTITEMTOPRINTLINE.
WRITEPRINTRECAFTERADVANCING1LINE.
SUBTRACT1FROMLINECOUNT.
*
X020PRINTHEADING.
MOVEHEADERRECTOPRINTLINE.
WRITEPRINTRECAFTERPAGE.
MOVESPACESTOPRINTLINE.
WRITEPRINTRECAFTERADVANCING1LINE.
MOVELINESPERPAGETOLINECOUNT.

353982469.doc Page 3 of 3
Donald Golden, 1995

You might also like