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 HFZXUFMT. For more information about this type of Formatting user exit, see The HFZXUFMT 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 HFZEventInfo command. This process is described in HFZEventInfo command.
Information about the existence of a load module, including its load address and length, can be obtained using the HFZModQry command. This process is described in HFZModQry 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 Z Abend Investigator using the HFZWRITE command, in one of three different ways:
- Using a quoted string Example:
HFZWRITE '<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.' HFZWRITE data
- Using the UFM data area Example:
UFM.DATA_BUFFER = '<p>Paragraph text.' UFM.DATA_LENGTH = length(UFM.DATA_BUFFER) HFZWRITE
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 Z Abend Investigator. 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
Z Abend Investigator 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 HFZ.SHFZSAM1.
DataSets(HFZEXEC(X.Y.Z))
Exits(FORMAT(REXX(HFZSUFMn)))
Alternatively, the exit could be invoked from the interactive reanalysis report by entering the
EXEC HFZSUFMn
command.
- HFZSUFM1
- Sample Z Abend Investigator Formatting user exit to display TCB information.
- HFZSUFM2
- Sample Z Abend Investigator Formatting user exit to display CICS CWA information.
- HFZSUFM3
- Sample Z Abend Investigator Formatting user exit to illustrate the use of formatting tags.
- HFZSUFM4
- Sample Z Abend Investigator Formatting user exit to use with Hogan applications.
- HFZSUFM5
- Sample Z Abend Investigator 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.
- HFZSUFM6
- Sample Z Abend Investigator Formatting user exit to format LE CAA and CIB.
- HFZSUFM7
- Sample Z Abend Investigator Formatting user exit to display Name/Token values.