Time to complete
Allow 15 hours continuous
Test Data Files

No test data files are available. You will have to create your own test data files. To do this create sequential Customer and Invoice files and then write programs to convert them to indexed files.


Introduction

A program is required that will examine the Aromamora Customer and Invoice files and from them produce a report showing the unpaid customer invoices.    The  Cobol Report-Writer must be used to create the report.

Data Files

Customer File

The Customer File holds details of all Aromamora customers. It is an indexed file with the following record description.

Field Key type Type Length Value
Customer-Number Primary 9 6 -
Customer-Name ALT with Duplicates X 25 Upper-Case
Customer-Address -- X 40 -
Country ALT with Duplicates X 15 Upper-Case
Customer-Balance -- 9 7 -99999.99 - 0.0
Date-Of-Last-Order -- 9 8 YYYYMMDD

The Country field is used in some reports to group customers by location.

The Customer-Balance field holds the amount owed by the customer to Aromamora.  Since payments are only accepted when they apply to a specific sale this balance should never be greater than 0.

The Date-Of-Last-Order field is used to identify inactive customers. 

Invoice File

The Invoice File holds details of all unpaid invoices.  When goods are sold to Aromamora customers the sale is recorded in the Invoice File (by way of a transaction file) and an invoice is sent to the customer.  Customers pay for goods on receipt of an invoice.  When a customer payment is received the payment is matched to a particular invoice which is then deleted from the file and recorded in a sequential Invoice Archive File.  Aromamora customers always pay the exact amount specified on the invoice.

The Invoice File is an Indexed file with the following record description;

Field Key type Type Length Value
Order-Number Primary 9 7 -
Customer-Number ALT with Duplicates 9 6 -
Invoice-Amount -- 9 7 0.01-9999.99

The Outstanding Invoices Report

The report must show any outstanding customer invoices in the Invoice File.  The report is based on the Customer and Invoice files (see previous specification for details) and must be printed sequenced on ascending Customer-Name.

Money values must be printed using floating dollar signs and comma insertion. The page number should be zero suppressed.  Change page after line 49 unless the Customer Balance, the Total Amount Outstanding or report footing is the next thing to be printed.

Line 1-8   Page headings.  To be printed at the top of each page.  The programmer field should contain your name.
Line 10-15  Customer Detail lines. Suppress the Customer Name and Customer Number after their first occurrence.  See also lines 21-27.
Line 17  Customer Balance Line. Amount owed by the customer.  Printed at the end of the Customer Detail lines. See also line 30.
Line 33    Total amount outstanding.  Sum of the amounts owed by each customer.  Printed at the end of the report
Line 36 Report footing.  Printed at the end of the report.

Thumbnail of the Outstanding Invoices Report print layout specification.
Click for full size version