MVS JCL Example 3

Code all JCL for a job which will compile and test a COBOL program, using account code 3000EX, and your name as programmer name.  To save paper, adjust the MVS JCL messages for minimum detail.

Use the catalogued procedure COBOLCLG to compile, linkedit and test the program.  The source program is in-stream.  The compile step in the procedure is called CBL, the linkedit step is called LINK and the test step is called GO.  Change the library searched by the linkeditor (DDname SYSLIB) to TEAM1.MODLIB.

The program being tested will read a catalogued tape file called ATB.TESTDATA from DDname TSTIN, and will create an output dataset on disk of 5000 records which should be catalogued for future use.  The COBOL source code for this data set is as follows:

SELECT OUT-FILE ASSIGN TO TSTOUT3.
FD OUT-FILE
RECORD CONTAINS 100 CHARACTERS
BLOCK CONTAINS 0 RECORDS
ORGANIZATION IS SEQUENTIAL.

The program will also print about 100 lines of messages on DDname TSTMSG (send this to userid SMITHH at node MVS1) and 2000 lines of data to be written to form INVC.

Use IDCAMS to print out the disk records on the laser printer after the test to permit verification. Print using background DATA, and request bursting at perforations.  Hold the information messages in the spool Q for later viewing by TSO.

Assume that all tapes are in group TAPES and all disks are in group DASD.

Job scheduler classes for this lab should be as follows:

         CLASS A - no tapes, no special forms
                 - maximum 500 prt lines, 10 mins run time
         CLASS B - 1 tape, special forms allowed
                 - maximum 500 prt lines, 10 mins run time
         CLASS C - no tapes, no special forms
                 - maximum 5000 prt lines, 1 hour run time
         CLASS D - 2 tapes, no special forms
                 - maximum 5000 prt lines, 1 hour run time
         CLASS E - 2 tapes, special forms allowed
                 - no prt line maximum, no run time limit

JES printer spooling classes for this question (and homework below) should be as follows:

         CLASS A - no special forms, maximum 500 prt lines
         CLASS B - no special forms, maximum 5000 prt lines
         CLASS C - special forms allowed, 5000 prt line maximum
         CLASS D - special froms allowed, no prt line maximum
         CLASS L - all output for laser printer (only)

MVS JCL Example 3 - Homework

Code all JCL for a job which will compile, link edit and test an instream COBOL source program. Use account number 3111HW for the job, and your name as programmer name. Ensure that JCL messages from MVS contain full detail. We are (alas!) permitted only lowest priority within the job queue.

The test data set called TSTDATA (about 4,000 records, 100 bytes, unblocked) is on tape # 311111 (ANSI labels), and should first be copied to a disk dataset, using IDCAMS. This tape data set should be deleted after use. Send IDCAMS error messages to TSO user SMITHH at node MVS1.

Next use the COBCLG procedure to compile and test the COBOL program.  It will read the source program (instream) from COB.SYSIN.  The linkedit step (called LKED) should read all needed subroutines from a library called PVT.OBJLIB, DDname SYSLIB.

At the execution step of the proc (called TST) the COBOL program will read the test data from DDname DATIN, and create a disk output file with the same number of records on DDname DATOUT3. This dataset should be catalogued for future use.  It will also create a duplicate dataset on tape #312222 using DDname BKUP3.  The COBOL for both datasets contains the following:

RECORD CONTAINS 100 CHARACTERS
BLOCK CONTAINS 0 RECORDS
ORGANIZATION IS SEQUENTIAL.

The test will also produce about 100 bills (avg 20 lines each) on the laser printer, using forms background BILL. Request that this output be separated at the perforations.

After the test, print the disk dataset using IDCAMS. Ask for 2 copies on special form GRLN.

Note - assume unit names, job and spool classes as per previous example.