============================== MVS JCL Example 3 and Homework ============================== -IAN! idallen@ncf.ca Based on an example by Harold Smith. 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. Request a medium priority in our job class. Use the cataloged 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 (using DDname SYSLIB) to TEAM1.MODLIB. The program being tested will read a cataloged tape dataset called ATB.TESTDATA from DDname TSTIN, and will create an output dataset on disk of 5000 records which should be cataloged for future use. This output dataset will grow by 20% of its initial size each time it is updated in future. The COBOL source code for this dataset 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 ([DAT2330 WINTER 2002 IGNORE THIS: send this to TSO userid LESLIE at node MVS1]) and 2000 lines of data to be written to special form INVC. Since we are still testing this program, ensure that a runaway job does not print more than 100 more lines than expected on the INVC forms printer. Request bursting of the INVC forms at their fan-fold perforations. Use IDCAMS to print out two copies of the disk records on the laser printer after the test to permit verification. Print using laser background named DATA. Hold the IDCAMS status/information messages in the sysout spool queue for later pick-up and viewing from TSO. Assume that all tapes are in group TAPES and all disks are in group DASD. Job scheduler classes for this lab and homework are 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 lab and homework are 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; but, suppress allocation messages. We are permitted only lowest priority within the job queue. The test dataset called TSTDATA (about 6,000 records, 100 bytes, unblocked) is on tape #311111 (ANSI labels), and should first be copied to a disk dataset, using IDCAMS. This ANSI tape dataset should be deleted after use. Send IDCAMS error messages to TSO user LESLIE 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 in the proc) should read all needed subroutines from a library called PVT.OBJLIB using DDname SYSLIB. At the execution step of the proc (called TST) the COBOL program will read the disk test data from DDname DATIN, and create a disk output dataset with the same number of records on DDname DATOUT3. This output dataset should be cataloged for future use, and will grow by 50% of its initial size each time it is updated in future. The program will also create a duplicate output 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 via DDname BILLS3 about 100 bills (avg 20 lines each) on the laser printer, using forms background BILL. In anticipation of a possible program error, abort the job step if the number of lines of bill output exceeds the expected amount by 10% or more. After the test, print the disk dataset using IDCAMS. Ask for 2 copies on special form GRLN. Request that this output be separated at the perforations. IDCAMS status messages should be held for TSO viewing. Note - assume unit names, job and spool classes as per previous example.