Saturday, 10 August 2013

JCL Abnormal Termination Dumps.

SYSDUMP, SYSABEND, SYSMDUMP : Abnormal termination dumps. Sometime it is difficult to find the source of an error when a program abnormally terminates. This is called ABEND, and means abnormal end.

  • The //SYSUDUMP DD statement provide a formatted dump of the program area in hexadecimal, including the contents of the registers, a traceback of subroutine called, and information about all the data sets used.
  • The //SYSABEND DD statement additionally dumps the systems nucleus - the resident portion of the operating system.
If you want storage dumps, use SYSUDUMP unless you have a particular reason for examining  the nucleus. A storage dump can be extremely helpful when you need it, but waste paper and printer time if you do not need it.
Place either the //SYSUDUMP or //SYSABEND DD statement after each EXEC statement in a step in which a dump is wanted. If both appear in one step, the last to appear is effective. A dump result only if the step abnormally terminates.
Example : 1
//STEP010 EXEC PGM=EMP001
//SYSUDUMP  DD SYSOUT=A
//STEP020 EXEC PGM=EMP002
//SYSABEND DD SYSOUT=A
Example : 2
 //STEP2 EXEC PGM=A
 //SYSUDUMP DD SYSOUT=A T
he SYSUDUMP DD statement specifies that you want the dump routed to system output class A.
Example : 3
 //SYSMDUMP DD DSNAME=DUMP,DISP=(NEW,KEEP),
 // UNIT=3400-6,VOLUME=SER=147958
The SYSMDUMP DD statement specifies that the dump is to be stored on a tape. Because the LABEL parameter is not coded, the tape must have IBM standard labels.
Example : 4
 //STEP1 EXEC PGM=PROGRAM1
 //SYSABEND DD DSNAME=DUMP,UNIT=3350,DISP=(,PASS,KEEP),
 //                VOLUME=SER=1234,SPACE=(TRK,(40,20))
 //STEP2 EXEC PGM=PROGRAM2
 //SYSABEND DD DSNAME=*.STEP1.SYSABEND,DISP=(OLD,DELETE,KEEP)


Created with Artisteer

No comments:

Post a comment