OVERVIEW: the eighth COBOL programming assignment involves:
1) Using IDCAMS to create an indexed sequential file from a sequential
data set CSCJEB.CSC.MASTER8D. First sort the file on the primary
key.
2) Writing a report using the indexed dataset above.
3) Updating the indexed data set using sequential CSCJEB.CSC.TRANS8D
as transactions. There are some bad transactions. Just display
the bad transactions; there is no need to make a formal error report.
4) Writing a report again--this time on the updated master.
5) Creating an alternate key and path
6) Writing a program to access certain records by alternate
key, producing a report of all applicable candidates for each job opening
specified in the sequential file CSCJEB.CSC.JOBS8D.
PURPOSE: to gain experience writing a COBOL programs involving indexed sequential access methods and to increase knowledge of VSAM-JCL.
NARRATIVE: Wefindem, Inc., is a small, local employment agency
that wants to improve its recruiting tools. It has put all candidate
information into a sequential file and now wants to upgrade to VSAM so
that it can quickly identify appropriate candidates for job openings.
------------------------------------------------------------------------------------------------------------------
PROGRAM 8 INPUT SPECIFICATIONS:
CSCJEB.CSC.MASTER8D: (record contains 88 bytes)
FIELD
COLUMNS DATA CLASS
Primary key Social security number
1-9 numeric
Name
10-29 alphanumeric
Phone number
30-36 numeric
Salary
37-42 numeric (integer)
alternate key job title
43-72 alphanumeric
Employer
73-87 alphanumeric
Status
88-88 numeric (integer)
The following status codes are used:
1 = employed/looking to change jobs
2 = employed/not looking actively
3 = unemployed/active candidate
4 = unemployed/restricted candidate
------------------------------------------------------------------------------------------------------------------
for CSCJEB.CSC.TRANS8D: (record contains 89 bytes)
Same fields, columns and data classes as CSCJEB.CSC.MASTER8D,
plus column 89 carries the following transaction codes:
A = add record,
C = change record (only fields provided), D = delete record
------------------------------------------------------------------------------------------------------------------
for CSCJEB.CSC.JOBS8D: (record contains 52 bytes)
FIELD COLUMN DATA CLASS
Job Title 1-30 alphanumeric
Employer 31-45 alphanumeric
Salary 46-51 numeric
(integer)
Status 52-52 alphanumeric
------------------------------------------------------------------------------------------------------------------
PROGRAM 8 OUTPUT SPECIFICATIONS
1) Design your own report of the contents of the indexed dataset
(for steps #2 and #4 of overview) - include
headers and totals
for number of records and total number of
candidates for each status.
Include date of report.
2) For #6 of the overview, use alternate key access to do the
following:
a) produce a report with title, headers,
date, appropriate totals
b) list each job opening
c) beneath job listings, list candidates
whose job title matches the job opening
IF THEY ALSO MEET
THE FOLLOWING CRITERIA:
1. they have
a different current employer than the job opening employer
2. they have
the same or a lower salary than the job opening
3. their status
is less than or equal to the status code on the job opening
4. if no candidates
qualify, print 'no candidates meet the requirements'
under the opening.
3) There may be bad fields in the sequential master file
and also bad
update situations amongst the transactions
(adds that already exist, changes to
non-existent records, etc.).
Formal error reports are not required but
the bad data should be displayed
and highlighted in the JES output on the
printout you turn in.
4) Do this assignment as a single multi-step job.
Include program listings,
3 reports (master before and then after updates,
job openings vs candidates
analysis), errors must be displayed, alternate
index used. Do not include
a listing of any of the input data.
REQUIREMENTS: 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 17.
(2 POINT BONUS if the completed assignment
is received before midnight
Sunday prior to the due date)