IBM Support

SYSOUT vs. SYSMDUMP

Question & Answer


Question

Why is a SYSMDUMP often recommended over a SYSOUT dump for diagnosing Classic Federation/Event Publisher/Replication problems?

Answer

In situations where an abend is issued, information about the error is captured to a SYSOUT data set under the control of JES2. The //SYSOUT designation is generally used for writing formatted output to the SPOOL packs, where it can be saved for later viewing on a terminal, printing or both.

Since the default attributes of the //SYSOUT data do not conform to the requirements of //SYSMDUMP output, it is recommended that unformatted output dumps generated from step abends not be directed to SYSOUT as in "//SYSDUMP SYSOUT=X,DEST=LOCAL".
This can result in the generation of a dump containing incomplete records, thus causing read problems and also resulting in IPCS being unable to properly analyze this dump.

Instead, we recommend that users direct their //SYSMDUMP output directly to a data set and avoid using SYSOUT to receive dump ouput. A //SYSMDUMP statement will result in the generation of a non-formatted virtual-storage dump that will contain information about the failed step.

No:
//SYSMDUMP SYSOUT=*

Yes:
//SYSABEND SYSOUT=*

Yes:
//SYSUDUMP SYSOUT=*

Yes: (Recommended)
//SYSMDUMP DD DSN=prefix.CXA.SYSMDUMP,DISP=(NEW,DELETE,CATLG),
// SPACE=(CYL,(200,50),RLSE),UNIT=SYSDA,
// DCB=(DSORG=PS,RECFM=FBS,LRECL=4160,BLKSIZE=24960)

The DISP= parameter above is set so the dump data set will be cataloged if an abend in the job step occurs, and deleted if the step completes successfully without an abend.

In addition, a large primary allocation is recommended since secondary
allocations are completely dependent on the condition of the allocated volume; since the condition of the volume is practically never known to the user, it is better to supply a primary allocation that satisfies the needs of the //SYSMDUMP dump data set and avoid dependence on a secondary allocation.

To note, there are some cases where the primary allocation may also be unavailable when bring up the Classic server. Failure to acquire the primary allocation when the Classic server starts up results in a JCL error that stops the server from executing. The user can just make changes to the JCL and re-start the server if the primary allocation for the dump data set fails.

Since the //SYSUDUMP and SYSABEND DD statements when included in a job step produce a 'formatted' virtual storage dump suitable for viewing from a terminal or routing to hardcopy output, they are candidates to be directed to SYSOUT, but not SYSMDUMP output.

[{"Product":{"code":"SSDP9S","label":"InfoSphere Classic Federation Server for z\/OS"},"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Component":"General issues","Platform":[{"code":"PF035","label":"z\/OS"}],"Version":"9.1;9.5","Edition":"All Editions","Line of Business":{"code":"LOB10","label":"Data and AI"}}]

Document Information

Modified date:
16 June 2018

UID

swg21426600