DYNDUMP
Derivation: DYNamic DUMP
The DYNDUMP runtime option provides a way to
obtain dynamic dumps of user applications that would ordinarily be lost due to the absence of a
SYSMDUMP, SYSUDUMP, or SYSABEND DD statement. The dynamic dump is written when:
- Certain types of abends occur. You can select if a U4039 abend or other U40xx abend types can cause a dump to be collected.
- The first suboption defines the high level qualifier of the dynamic dump data set name.
- The second suboption controls when dynamic dumps are taken for U4039 ABENDS.
- The third suboption controls when dynamic dumps are taken for other U40xx ABENDS.
Restriction: The dump is written to a z/OS® data
set. It cannot be part of a z/OS
UNIX file
system.
The non-CICS® default value is DYNDUMP(*userid,NODYNAMIC,TDUMP).
DYNDUMP is ignored under CICS.
The AMODE 64 default value is DYNDUMP(*userid,NODYNAMIC,TDUMP).
- hlq
- is a high level qualifier for the dynamic dump data set to be created. This is concatenated with
a time stamp consisting of the Julian day and the time of the dump. The job name or PID can also be
part of the name if the combined length of hlq and the timestamp is 35
characters or less. The hlq value is limited to 26 characters including
dot ( . ) separators. hlq allows three keywords:
- *USERID
- Tells Language Environment® to use the user ID associated with the job step task as the high level qualifier for the dynamic dump data set.
- *TSOPREFIX or TSOPRE
- Tells Language Environment to use the TSO/E prefix. The prefix is only valid in a TSO/E environment. If the prefix is not available, the user ID is used.
The data set name is limited to 44 characters. If the combined length of hlq and the timestamp is 35 characters or less, the job name or PID is added to the data set name. If the system is using multilevel security, the SECLABEL is used as the second qualifier. If hlq contains multiple qualifiers, only the first is used, followed by the SECLABEL. The format of the data set name is:- When the application is not exec()ed and not multilevel security:
hlq.Djjj.Thhmmsst.jobname
- When the application is exec()ed and not multilevel security:
hlq.Djjj.Thhmmsst.Pppppppp
- When the application is multilevel security and not exec()ed:
hlq.MLS-level.Djjj.Thhmmsst.jobname
- When the application is both multilevel security and exec()ed:
hlq.MLS-level.Djjj.Thhmmsst.Pppppppp
- For U4039 ABENDS
- The following suboptions are used for U4039 ABENDS only:
- DYNAMIC
- Language Environment creates a dynamic dump automatically when the application has not already specified one of the dump ddnames, (for example, SYSUDUMP).
- NODYNAMIC
- Language Environment does not create a
dynamic dump if no dump DD names are specified.
NODYNAMIC is the default.
- FORCE
- Language Environment always creates a dynamic dump even if other dump DD names have been specified. The SYSnnnnn DD card is ignored if it exists. FORCE should not be used as the default.
- BOTH
- Language Environment creates a dynamic dump and, if a SYSnnnnn DD name exists, a dump is also written to the DD. BOTH should not be used as the default.
- For U40xx ABENDS
- The following suboptions are used for other U40xx ABENDS only. Existing SYSnnnnn DD statements
are also honored.
- TDUMP
- Language Environment creates a dynamic
dump automatically.
TDUMP is the default.
- NOTDUMP
- Language Environment does not create a dynamic dump.
Usage notes
- Do not use FORCE or BOTH as the default for the U4039 ABENDS.
- Set up an hlq to which everyone can write.
- The DYNDUMP runtime option is ignored under CICS.
- When an abend occurs during Language Environment initialization, the dynamic dump is not created if runtime options have not been processed yet.
- When the dynamic dump fails, messages are written to the operator's console or the job log (for batch). These are written by the IEATDUMP system service, by Language Environment, or by RACF®.
- When an abend is issued without the DUMP option, no dump is generated.
- When Language Environment terminates with a U4038 abend, the U4038 abend is issued without the DUMP option. Therefore, no system dump is generated, and DYNDUMP does not collect a dump for this abend.
- The job name is taken from the JOBNAME system symbol.
- A dump for a TSO application uses the user ID of the JOBNAME.
- For a batch job, JOBNAME is taken from the JOB card in the JCL.
- In the shell, JOBNAME is the user ID with a suffix.
- Language Environment will suppress
dynamic dumps for authorized applications under the following conditions:
- A user is running a Language Environment application as a RACF-controlled program on a system where the IEAABD.DMPAUTH resource in the FACILITY class was defined, but the user was not permitted access to this resource.
- A user is running an authorized key Language Environment application in a non-started task address space but the user has not been permitted access to the IEAABD.DMPAKEY resource in the FACILITY class.
- A user is running a Language Environment
application in a non-started task address space that has the JSCBPASS indicator on, including
applications whose PPT entry specifies bypassing security protection.
After Language Environment suppresses a dump, message CEE3880I is written to the application's programmer log. For more information, refer to the documentation for message CEE3880I in Language Environment runtime messages in z/OS Language Environment Runtime Messages. Also refer to z/OS Security Server RACF Security Administrator's Guide.