Aromamora
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Time to complete | This is a tough one. Allow 6 hours continuous. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Program Download | Aroma96.Cbl is a model answer. Don't look at this until you have made your own attempt at the program. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Example Output |
Error.Dat (The sorted sales file containing only
oil records) |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Example Input |
Trans.Dat (The sorted, validated, sequential file containg the stock movement records) ODFin.Dat and OSFin.Dat are sequential files that be converted into the indexed Stock-Details-File (ODF.Dat) and the relative Oil-Stock-File (OSF.Dat) using this program. The conversion program is required because Indexed and Relative files are not standard ASCII files and cannot be viewed or edited in a standard text application like Notepad. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Major Constructs | Indexed files, Relative Files, Sequential Files, Report Writer, EVALUATE, COMPUTE, READ, WRITE, REWRITE, START | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
IntroductionAromamora PLC sells essential oils to Aromatherapists, Health Shops, Chemists and other retailers. Details of the oils sold are kept in two files:- the Oil-Details-File and the Oil-Stock-File. A program is required which will apply a file of sorted, validated transactions to the Oil-Stock-File and then produce a report based on the contents of both the Oil-Details-File and the Oil-Stock-File. The report must be printed sequenced on ascending Oil-Name. The report
writer must be used to produce the report. The Transaction FileThe Transaction file is a sorted, validated file containing two types of stock movement record. The record types are distinguished from one another by a unique code in the first column of the record. The file has been sorted on ascending Type-Code. The record descriptions for the Transaction file are as follows;
The Oil-Stock-FileThe Oil-Stock-File is used to hold details of the current stock levels. It is a relative file containing records with the following description;
NotesOnly the first three digits of the Oil-Number are the Relative Record Key. The fourth digit is a check digit used to validate the Oil-Number. Before the Oil-Number can be used to access records in the Oil-Stock-File this fourth digit must be stripped off. For instance, to access the record for Oil-Number 0248 only the 024 part of the number can be used as the key.
|
Field |
KeyType
|
Type |
Length |
Value |
Oil-Number
|
Primary
|
9
|
4
|
-
|
Oil-Name
|
Alt with duplicates
|
X
|
20
|
-
|
Unit-Size
|
--
|
9
|
2
|
03-90
|
Unit-Cost
|
--
|
9
|
4
|
1.50-99.99
|
Although the Transaction file has been validated, certain errors cannot be detected until an attempt is made to update the Oil-Stock-File. For both types of transaction record, check that the record you are about to update already exists in the Oil-Stock-File. If it does not then the transaction record must be written to an Error-File.
The Oil Stock Report must be printed after the Oil-Stock-File has been updated. The report must be printed sequenced on ascending Oil-Name.
Numeric values must be printed using comma insertion and either zero suppression or the floating currency symbol.
See the print specification below for more report format details.
Line 1-2 | Report Heading. To be printed on the first page of
the report only. |
Line 6 | Page-Heading. To be printed at the top of each page. |
Line 8 | Detail line. The Oil-Name is suppressed after its
first occurrence. Size is the Unit-Size. Qty is the Quantity-In-Stock. Stock-Value is a computed value (Quantity-In-Stock * Unit-Cost). |
Line 14 | Control Footing. Total-Oil-Value is the sum of the
Stock-Values for this oil. |
Line 24 | Final Control Footing. This is the sum of the Total-Oil-Values. |
Copyright Notice
This COBOL project specification is the copyright property of Michael Coughlan. You have permission to use this material for your own personal use but you may not reproduce it in any published work without written permission from the author.