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.
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
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)
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.