In an analysis of this type, the analyst must know - and this is just the start -
- The I/O counts for each DD statement used by the program.
- Many sites provide a roughly equivalent capability for the first bullet in the JESYSMSG data set.
Some years ago I wrote a small program to provide a more direct report -
//JOBLIB DD DISP=(SHR,PASS),DSN=&SYSUID..LOAD
//X EXEC PGM=EXECSUM,PARM=IEBGENER
//EXECSUM DD SYSOUT=*
//SYSPRINT DD SYSOUT=*
//SYSUT1 DD DISP=SHR,DSN=&SYSUID..ASM(EXECSUM)
//SYSUT2 DD DISP=(,PASS),UNIT=SYSDA,SPACE=(TRK,(3,2)),
// DCB=(RECFM=FB,LRECL=80,BLKSIZE=800)
//SYSIN DD DUMMY
The EXECSUM program creates a report in the data set with DD name EXECSUM. The JCL tells the system to run a program called EXECSUM. PARM=IEBGENER tells EXECSUM to run a program called IEBGENER. The report looks like this -
EXECSUM IEBGENER
IEBGENER XXXXXXJ X STARTED AT 10:54:18 ENDED AT 10:54:18, 0.06 CPU, 0.08 ELAPASED
DDNAME ADDRESS EXCPS VOLUME DATA SET
JOBLIB 0A38 2 VVVV08 XXXXXX.LOAD
EXECSUM DUMY 0 XXXXXX.XXXXXXJ.JOB03666.D0000101.?
SYSPRINT DUMY 0 XXXXXX.XXXXXXJ.JOB03666.D0000102.?
SYSUT1 0A7B 3 VVVV31 XXXXXX.ASM(EXECSUM)
SYSUT2 0A2C 64 WRK000 SYS18316.T105417.RA000.XXXXXXJ.R0107555
SYSIN DUMY 0 NULLFILE
Even a half witted (let's see what maci84 can deduce here) analyst can quickly deduce the reason the data set specified by the DD statement with DD name SYSUT2 has so many more EXCPs than the data set specified by the SYSUT1 DD statement.
I never published EXECSUM. There are too many limitations. It can't run APF authorized programs, and programs that make extensive use of dynamic allocation can confuse EXECSUM.