OVERVIEW:
The purpose of this COBOL assignment is to have you:
1) Create a sequential file from
"strung input."
2) Update, sequentially, this file
to produce a new sequential file.
3) Produce reports, extra points
for using EASYTRIEVE
NARRATIVE
A company, Joesam Corp. recently purchased the entire inventory from a large bankrupt hardware company. One of the reasons this latter company failed (besides poor sales) was the use of antiquated data processing technology. Although the inventory was an excellent, saleable condition, the inventory records were on 80-bite keypunch cards, each containing variable data, some invalid, on multiple items. Joesam wants its I.S. Department to make a Master Inventory File that will contain a separate, fixed-bite record for each valid inventory item, sorted by inventory number. The Master Inventory File can be "batch" updated sequentially from accumulated change requests gathered from online transactions.
----------------------------------------------------------------------------
>>> IMPORTANT -- YOUR MASTER FILE
MUST BE A GENERATION DATA GROUP. PREPARE FOR THIS ASSIGNMENT
BY DEFINING A GDG AND A GDG MODEL. MAKE SURE YOU HAVE ENOUGH SPACE
IN EACH RECORD <<<
----------------------------------------------------------------------------
INPUT RECORD SPECIFICATIONS:
For file CSCSMS.CSC.INVENT7D, each record is 80-bytes long and contains one or more inventory records--each record contains inventory number, quantity, and price.
Example information found on the original 80-byte keypunch cards:
14683,200,43.68*48162,4cc,1.95*9113f+,300,14.50*81162,400,10.50*&
---------------------------------------------------------------------------------------------------
For CSCSMS.CSC.INVENT7D.VS (the
original record cards never contained a description - hence, this VSAM
file was created)
FIELD
COLUMNS
Inventory #
1-5
Description
6-24
Example of input:
----+----1----+----2----
14657EDGER
21662LAWN BAGS
---------------------------------------------------------------------------------------------------
For CSCSMS.CSC.TRANS7D
FIELD
COLUMNS
Inventory#
1-5
Description
6-24
Quantity
25-28
Price
31-35 (assumed decimal)
Trans code
37-37
Example of input:
----+----1----+----2----+----3----+--
14368
04450 5
22468
2
If the Trans code =
1, add record
2, delete record
3, add to quantity
4, subtract
from quantity
5, change price
6, change description
All records are valid and some have blank fields if the transaction is used for anything but addition.
******** CSCSMS.CSC.TRANS7D.BAD
contains bad transactions such as ******** additions where records already
exist and deletes or changes to records ******** that are not in the original
master. +5 points for additional error report.
------------------------------------------------------------------------------------------------------
OUTPUT REQUIREMENTS.
1) A report showing sorted inventory
records that include number, description, quantity, price, and inventory
amount (quantity * price). Appropriate headers, including English
date, and two totals (# of records and total inventory amount)
2) An error report listing bad
records extracted from original 80-byte record.
3) A report on the newly created,
updated file -- same format as #1
------------------------------------------------------------------------------------------------------
HANDING IN PROGRAM 7
To receive full credit for this assignment, you must deliver a correct assignment to instructor's hands or instructor's email address before 6:15PM of the due date -- Session 13. (2 POINT BONUS if the completed assignment is received before midnight Sunday prior to the due date)
Hand in or email this assignment
in one job stream containing:
a) Define a GDG
b) Define GDG model
c) Compile and link of a program
that will produce a master file (including
description) and error
report (+2 points if program contains embedded
sort to create output
in key sequence)
d) Compile and link of a program
that will update the master file (+2 if
program contains embedded
sort of transaction file)
e) Compile and link of a report
program (or leave this out and use
EASYTRIEVE for 10+
points)
f) Execution of 'c' -- produces
master file and error report
g) If 'c' does not create a master
file sorted order by its primary key,
then use a JCL SORT
on the master file produced by 'f'.
h) Execution of 'e', or EASYTRIEVE,
to produce a report from the original
master (first generation)
-- including some totals
i) Execution of 'd' -- produces
an updated master
j) Execution of 'e' or EASYTRIEVE--
produce a report from the updated
master file.
TOTAL POINTS
50 (ERROR REPORT, Report
on old master and new master)
10 (EASYTRIEVE)
5 (BAD transaction file
report)
2 (temp files throughout)
2 (before MIDNIGHT Sunday
prior to due date)
2 (if program 'c' has embedded
SORT thus avoiding 'g'.
2 (if program 'd' has embedded
SORT of transaction file.
----
73