The
following are the events that can cause dumps to be taken, if the
dumping environment allows dumping under the circumstances:
- Explicit requests for dumps from users
- CICS transaction abends
- CICS system abends.
On most occasions when dumps are requested, CICS references a dump
code that is specified either implicitly or explicitly to determine
what action should be taken. Dump codes are held in two dump tables,
the transaction dump table and the system dump table.
You can
issue an explicit request for a dump by using the CEMT transaction,
by using an EXEC CICS command, or by using an exit programming interface
(XPI) call.
You might use these methods of taking dumps if, for example, you
had a task in a wait state, or you suspected that a task was looping.
However, these methods are not useful for getting information following
a transaction abend or a CICS system abend. This is because the evidence
you need is almost certain to disappear before your request for the
dump has been processed.
Specifying the areas you want written to a transaction dump
When
you use the EXEC CICS DUMP TRANSACTION command to get a transaction
dump, you can specify which areas of storage are to be dumped. You
cannot specify in the dump table which areas are to be written to
the transaction dump for particular transaction dump codes. You always
get a complete transaction dump whenever a transaction abend occurs,
if the dump code requires a transaction dump to be taken.
In
general, CICS requests a dump when a transaction or CICS system abend
occurs. The dumping environment determines whether or not a dump is
actually taken. CICS does not take a transaction dump if a HANDLE
ABEND is active at the current logical level 2 . The NODUMP option on an EXECS CICS ABEND command, an
internal call, or the transaction definition, prevents the taking
of a transaction dump.
The following are the occasions when CICS requests a dump:
- CICS requests a transaction dump, and perhaps a system dump, after
a transaction abend occurs. There are two cases:
- You can include the command EXEC CICS ABEND in one of
your applications, causing it to abend when some condition occurs.
You must specify a four-character transaction abend code on this command,
and this is used as the transaction dump code. It could, for example,
be ‘MYAB’.
- CICS might cause a transaction to abend, for any of the reasons
described in CICS Messages and Codes. In this case, the
four-character CICS transaction abend code is used as the transaction
dump code. It might, for example, be ASRA.
- A CICS system dump could be taken following a CICS system abend.
In this situation, the system dump code is often equal to the abend
message ID, with the leading letters "DFH" stripped off. In
the case of message DFHST0001, for example, the system dump code would
be "ST0001". However, in some cases the system dump code cannot
be directly related to a CICS message, either because it does not
closely resemble the message, or because no message accompanies the
event causing the dump to be invoked. For details of these system
dump codes, see CICS Messages and Codes.
- When a transaction dump or system dump is taken, and the dump
code includes the RELATED attribute on the DUMPSCOPE option, system
dumps are taken of all CICS regions in the sysplex which are related
to the CICS region on which this transaction dump or system dump is
taken. A related CICS region is one in which the unit of work identifiers,
in the form of APPC tokens, of one or more tasks match those in the
CICS region that issued the dump request. Typically, these may be
regions in a distributed transaction processing environment.
- A CICS system dump can be requested from within the Node Error
Program (NEP) when a terminal error is processed for a terminal with
no task attached. For information about using NEPs to handle terminal
errors, read the entry for message DFHZC3496 in CICS Messages and Codes;
also read the programming information on NEPs in the CICS Customization Guide.
- A CICS system dump can also be requested from the global trap/trace
exit. In this case, the system dump code is TR1003.

To make PL/I on units
work, PL/I library routines can issue HANDLE ABEND. This is called
an implicit HANDLE ABEND and causes the suppression of transaction
dumps.
[[ Contents Previous Page | Next Page Index ]]