From: "Solomon, Kevin" Subject: Sample JCL and Messages Ian: The 8 attachments are taken from 2 runs of the same job I did this morning. The first run is without any JCL errors. Four files are included from this run. They are the JCL, Log, Messages and Sysprint files prefixed by "job1good". The job1badjcl.txt is the same job with 10 JCL errors in it. Some errors are obvious, others are more subtle. The job1badmessages.txt file is the resulting message file from this job run. The file job1baderrors.txt is a copy of job1badjcl.txt with the errors commented to the right of the line on which they occur. The file job1badjem.txt is a copy of the job1badjcl.txt file run through the JEM JCL scanning utility. The messages you get with this utility are a lot less cryptic (and actually helpful) than the messages in the job1badmessages.txt file. (Messages from compiles are a lot better.) What this jobstream does is parse the SMR3 syslog records to extract instances of print request records from our online production application "Individual Enquiries Print". Step 2 of the jobstream then uses a COBOL program I wrote to create a statistics report from the temp dataset passed to it in Step 1. This jobstream was written in February and I replaced it in June with a different process. What we use now is a batch job invoked from the online application itself that is submitted as JCL written to the SYSIN buffer on the mainframe. The statistics job is actually Step One of the print request jobstream. All it does is append a record to a daily statistics dataset. The statistics file is then transferred to a PC and is opened by a Visual Basic macro as input to populate cells in an Excel spreadsheet. JES notes -- 1) UNIT=SYSDA is a 3390 DASD 2) CLASS=T is a low-priority batch job TIME <= 1 CPU minute, 1 copy, LINES <= 100 3) PRTY is not coded because we have a throughput manager (as can be seen from the messages) 4) MSGCLASS=X is the hold class 5) The output dataset is a GDG retained for 16 generations. 6) IRECFILE and ODOCFILE are the names in the ASSIGN clause of the IEPSTATS Cobol program for the input and output files respectively. 7) TYPRUN=SCAN is never used in our shop. We use the JSCAN and JEM utility programs to scan our JCL. 8) We are SMS managed; so, coding BLKSIZE=0 will result in the optimal BLKSIZE for a dataset. If students have questions about the job and the parameters used I'll reply to them in the discussion newsgroup. I hope this will be of use to you and your students. Kevin Solomon