Formatting user exit
Purpose
This exit can be used to create a user-specific section in the analysis report, which can, for example, be used to format data areas which are specific to the application environment being analyzed.
These are different ways to invoke exits of this type:
- By using the Exits option.
This option results in a User analysis report section being inserted between the System-Wide Information section and the Abend Job Information section. For details on specifying the Exits option, see Exits.
In the real-time or batch reanalysis report, the user analysis section is inserted between the System-Wide Information section and the Abend Job Information section as shown in the following:⋮ <H1> S Y S T E M - W I D E I N F O R M A T I O N ⋮ <H1> U S E R ⋮ <H1> A B E N D J O B I N F O R M A T I O N ⋮
In the interactive reanalysis report, the user analysis section is selectable from the Interactive Reanalysis Report display as shown in the following:1. Synopsis 2. Event Summary 3. System-Wide Information 4. User 5. Abend Job Information 6. Options in Effect
The data from all invoked Formatting user exits is included in the report.
The default "User" heading can be changed by setting UFM.USEROPTIONTITLE to a different value. The last value set by any Formatting user exit is used.
- By using the EXEC command.
This option is only available from the interactive reanalysis report. For details on using the EXEC command, see EXEC.
- By making available a load module in an APF-authorized library named IDIXUFMT. For more information about this type of Formatting user exit, see The IDIXUFMT load module Formatting user exit.
The Formatting exit is initially provided with information about the point-of-failure event in the exit-specific UFM data area. (See Parameters for references to the UFM data area.) However, information for any event can be obtained by using the IDIEventInfo command. This process is described in IDIEventInfo command.
Information about the existence of a load module, including its load address and length, can be obtained using the IDIModQry command. This process is described in IDIModQry command.
- Evaluate
- This command is used to retrieve storage from the analyzed environment.
Details of this command are provided in Evaluate command.
- List
- This command is used to print storage in the report.
Details of this command are provided in List command.
- Note
- This command is used to print a line of text in the report.
Details of this command are provided in Note command.
In addition to using the List and Note commands, a HTML-like tag language is available for greater flexibility in formatting the information for the report. Details of these tags are provided in Formatting tags.
The tagged text is passed back to Fault Analyzer using the IDIWRITE command, in one of three different ways:
- Using a quoted string Example:
IDIWRITE '<p>Paragraph text.'
Either single quotes (') or double quotes (") can be used to enclose the string. However, both characters must be of the same type.
If the string contains characters of the same type as those used to enclose the string, then these must be repeated twice. That is, to pass back the string
specify'The TCB's address is not zero'
'The TCB''s address is not zero'
- Using a variable Example:
data = '<p>Paragraph text.' IDIWRITE data
- Using the UFM data area Example:
UFM.DATA_BUFFER = '<p>Paragraph text.' UFM.DATA_LENGTH = length(UFM.DATA_BUFFER) IDIWrite
This method is primarily provided for non-REXX exits.
The List and Note commands can be used intermixed with the tag language without any formatting side effects.
When invoked
This exit is invoked during formatting of the analysis report, regardless of the execution mode of Fault Analyzer. Additionally, exits of this type can be invoked on demand from the interactive reanalysis report by using the EXEC command—for details, see User-specific report formatting.
Parameters
Fault Analyzer initializes the parameter lists using current values for the particular fault and processing options in effect before invoking the Message and Abend Code Explanation user exit.
- ENV.
Contains defined symbols for all fields in the ENV data area (see ENV - Common exit environment information).
- UFM.
Contains defined symbols for all fields in the UFM data area (see UFM - Formatting user exit parameter list).
The defined variable names are identical to the field names. For example, to access the field VERSION in the ENV data area, use the REXX variable ENV.VERSION.
Sample Formatting user exits
The following REXX samples are provided as data set members of IDI.SIDISAM1.
DataSets(IDIEXEC(X.Y.Z))
Exits(FORMAT(REXX(IDISUFMn)))
Alternatively, the exit could be invoked from the interactive reanalysis report by entering the
EXEC IDISUFMn
command.
- IDISUFM1
- Sample Fault Analyzer Formatting user exit to display TCB information.
- IDISUFM2
- Sample Fault Analyzer Formatting user exit to display CICS CWA information.
- IDISUFM3
- Sample Fault Analyzer Formatting user exit to illustrate the use of formatting tags.
- IDISUFM4
- Sample Fault Analyzer Formatting user exit to use with Hogan applications.
- IDISUFM5
- Sample Fault Analyzer Formatting user exit to use with an MVS dump-analysis batch job to create a fault entry in a designated history file. Optionally, the exit can write a WTO message or send an email with information about the fault entry that was created.
- IDISUFM6
- Sample Fault Analyzer Formatting user exit to format LE CAA and CIB.
- IDISUFM7
- Sample Fault Analyzer Formatting user exit to display Name/Token values.