- A three-character prefix (DFH)
- A two-character domain identifier (e.g., TS for temporary storage)
- A four-digit message number (e.g., 1310). This message number uniquely identifies the message in the range of messages issued by that particular domain in CICS.
The messages are described in the CICS Transaction Server 3.1 Messages and Codes manual. Every message issued by CICS is documented in this book. The entries explain the reason for the message being issued, the CICS system action as a result of the message, the appropriate user response, and also document the components of CICS that can cause the message to be issued, and the message’s destination. CICS supports messages to be written to a variety of destinations, including the console, terminal user, SYSPRINT, and a variety of transient data queues.
CICS provides its message files in English, Kanji and Simplified Chinese characters. The NATLANG system initialization parameter defines the languages supported in a given run. A variety of other languages can be supported, although an appropriate message file containing the CICS messages translated into these languages must be provided. To facilitate this, CICS provides a message editing utility, DFHMEU, that can be used to change the language or text of CICS messages.
CICS provides a global user exit XMEOUT in the message domain. Messages that can drive the XMEOUT global user exit pass a list of XMEOUT parameters to the exit. These let the XMEOUT exit make decisions such as suppressing or rerouting messages. Message numbers can be used to control CICS system dumps, using entries in the system dump table. For example, entering SM0131 in the system dump table requests that CICS captures a system dump when message DFHSM0131 (i.e., “short on storage below the 16Mb line”) is issued.
The CICS transaction CMAC lets users enter message numbers and abend codes online and read the message descriptions and explanations. CMAC is an online equivalent of the Messages and Codes manual and is kept up-todate as message definitions are modified by PTFs during the lifetime of a CICS release.
Figure 3 shows examples of CICS messages written to the joblog. Note the DFH prefix of the messages followed by the two-character domain identifier for the component of CICS that issued the message. For example, the trace domain issued the messages DFHTR0113 and DFHTR0117 when the CICS auxiliary trace was started and stopped, respectively.
CEDF and CEDX
CICS provides the Execution Diagnostic Facility (EDF) to test application programs. The CICS supplied transaction, CEDF, supports it. Use of CEDF is predicated on a terminal associated with the transaction to be debugged. CICS also lets you invoke EDF through the CEDX transaction. CEDX invokes EDF for testing those applications associated with non-terminal transactions (e.g., back-end or batch-style programs running in CICS, transactions initiated by an EXEC CICS START command, or by a transient data queue trigger-level being reached). The CEDX transaction lets you specify the name of a transaction to be debugged (instead of a terminal, as with CEDF).
EDF lets you intercept application programs:
- At their initiation
- Before and after each EXEC CICS command
- For DFHRMCALs to external resource managers such as DB2
- At program termination.
EDF supports single- and dual-terminal modes. To begin an EDF session with a single terminal, you clear the screen and enter the id of CEDF. The EDF input and output screens with their diagnostic data are then interleaved with those from the transaction. EDF also can be used in dual-screen mode, using one terminal to monitor a transaction running at another terminal. You can follow the sequence of commands in the transaction running at the second terminal as they’re displayed by EDF on the first terminal screen.
EDF allows many options at its interception points. These include the ability to:
- Modify values associated with the command options
- Change the results of a command
- Inspect storage in the CICS address space
- Access the program’s working storage and EIB control block
- Display temporary storage and transient data queue contents
- Abend a task.
There are several restrictions on use of EDF. For more details, refer to the CICS Transaction Server 3.1 Application Programming Guide.
This article reviewed several diagnostic functions and techniques available to assist the CICS systems and application programmer. You can learn more by referencing the various manuals in the CICS bibliography. Z