Assignment 8
JCL Procedures and IEBGENER
(50 points)
This assignment is in several parts.
Part 1.
Write two instream JCL procedures, one to compile a COBOL
source program and the other to create and execute a load module
using the loader. The JCL for these procedures is the same as you
have used before with the following changes:
For the COBOL compiler:
- Specify a symbolic parameter for the PARM option and specify
TEST and APOST as the default.
- Specify a symbolic parameter for the REGION option and specify
248K as the default.
- Omit the SYSIN DD statement.
- Specify a symbolic parameter for the SYSLIN data set name and
assign &&OBJSET as the default.
- Specify a symbolic parameter for the SYSLIN data set disposition
and assign (NEW,PASS,DELETE) as the default.
For the loader:
- Specify a symbolic parameter for the loader PARM option and leave
it null as a default setting.
- Specify a symbolic parameter for the program/runtime PARM option
and assign TERMTHDACT(DUMP) as the default.
- Specify a symbolic parameter for the COND option. Assign a null
value as the default.
- Specify a symbolic parameter for the REGION option and assign 2048K
as the default.
- Specify a symbolic parameter for the SYSLIN data set name and assign
&&OBJSET as the default.
- Specify a symbolic parameter for the SYSLIN data set disposition and
assign
- Include a CEEDUMP DD statement and a SYSUDUMP DD statement.
Part 2
Use the TYPRUN=SCAN parameter on a JOB statement to locate
any syntax errors in your instream procedure.
Part 3
Use your instream procedures to compile and execute your
assignment 3, part B source code. Include your source code as instream
data.
Make the following changes to your procedures:
- Override the compiler PARM so that it includes LIB and FLAG(E,E)
as well as TEST and APOST.
- Change the name of the SYSLIN data set to &&OBJMOD in
both places where this name occurs.
- Change the REGION for the compiler to be 2048K.
- Add a SYSIN DD card for your instream source code.
- Change the loader COND so that the loader will not execute if the
return code from the compiler is greater than 4.
- Increase the loader's REGION to 3000K.
- Assign MAP as the loader PARM.
- Nullify the SYSUDUMP card.
- Assign TERMTHDACT(DUMP) as the run-time PARM.
- Add the cards that are required for your program to do input and
output.
Part 4
After Part III runs correctly, use IEBGENER to put both procedures in
a permanent procedure library under your own MVS logon ID. Use IEBGENER
to put your source code into a permanent sequential data set under your
own MVS logon ID. Remember to code the correct DCB information for these
data sets. Catalog the PDS and the file.
Part 5
Use TYPRUN=SCAN to get a listing of the two procedures in your procedure
library.
Part 6.
Repeat Part III using the procedures that are in your procedure library.
All of the changes listed in Part III still apply to this run except now
your source code is not instream, but is a permanent sequential data set.
Add NOSOURCE to the compiler options. On your final grade run, delete
the procedure library and your sequential data set that contains your
source code.
Processing Notes
- Hand in the output from parts 3, 4, 5 and 6. Label each one.
Make sure your name is on each one. Clip them together.
- You should name the steps in your procedure to reflect their
functions.
- Document the JCL. (Suppose some stranger was going to use your
procedure and knew nothing about it except what he or she could
get from TYPRUN=SCAN. Would the documentation be adequate?)
- It is not essential here that your Assignment 3, Part B program
should be perfect. We simply need a COBOL program to use.
- Notice that in parts 5 and 6 you will need a JCLLIB statement.