Prompting for compiler listing or side file

If no satisfactory compiler listing or side file was found for a COBOL, PL/I, C/C++, or assembler program, then a prompting display, as the example shown in Figure 1, is presented. Prompting does not occur for C/C++ if the side file was originally located in HFS.

The term side file refers to one of the following:
  • An HFZLANGX side file
  • A COBOL SYSDEBUG side file that was generated by using the TEST(NONE,SYM,SEPARATE) compiler option
  • An Enterprise PL/I side file that was generated by using the TEST(STMT,SYM,NOHOOK,SEPARATE) compiler option
Figure 1. Sample Compiler Listing Not Found display
┌ ─────────────────────────────────────────────────────────────────────────────┐
│ Compiler Listing Not Found                                 Line 1 Col 1 76  │
│ Command ===> ____________________________________________ Scroll ===> CSR   │
│                                                                             │
│ Module SYS13029.T142716.RA000.HFZVPCOB.GOSET.H01(HFZSCBL1) containing       │
│ COBOL program HFZSCBL1 entry point HFZSCBL1 compiled date 2019/01/29 time   │
│ 14:27:30 does not have a matching listing/side-file.                        │
│ This is the point of failure program.  ❶                                  │
│ Select one of the following options and press Enter:                        │
│   1. (F3) Continue without compiler listing or side file for HFZSCBL1       │
│   2. Specify compiler listing or side file to use for HFZSCBL1              │
│   3. Retry search for compiler listing or side file for HFZSCBL1            │
│   4. Do not prompt again for any missing listing or side file               │
│   5. Only prompt for the point-of-failure program listing or side file      │
│   6. Add HFZSCBL1 to your side file search exclude list                     │
│                                                                             │
│ The trace of the listing/side-file search follows.                          │
│                                                                             │
│   Rejected - NWILKES.HFZCB.LISTINGS(HFZSCBL1)                               │
│     Failed -                                                                │
│         OPEN error, member not found.                                       │
│                                                                             │
│   Rejected - DA.LISTING.COBOL(HFZSCBL1)                                     │
└─────────────────────────────────────────────────────────────────────────────┘
The prompt provides you with these choices:
1. (F3) Continue without compiler listing or side file for program-name
If a compiler listing or side file cannot be supplied, select this option to continue without program source code information. Alternatively, enter the EXIT (PF3) or CANCEL (PF12) command.
2. Specify compiler listing or side file to use for program-name
This option displays a pop-up panel in which you can provide the data set and member name (if a PDS or PDSE data set) of a compiler listing or side file (or, in the case of Enterprise COBOL version 5, a program object containing DWARF debugging information) that should be used for the current program as the example shown in Figure 2.
Figure 2. Sample Specify Compiler Listing or Side File display
┌ ─────────────────────────────────────────────────────────────────────────────┐
│ Specify Compiler Listing or Side File                      Line 1 Col 1 76  │
│ Command ===> ____________________________________________ Scroll ===> CSR   │
│                                                                             │
│ Specify the data set and member name containing the compiler listing or     │
│ side file and press Enter.                                                  │
│ Data Set Name . . . : 'TDEV003.LISTING.PLI'                                 │
│ Member. . . . . . . : HFZSCBL1                                              │
│                                                                             │
│ Alternatively, place cursor on choice and press Enter to use previously     │
│ specified compiler listing or side file data set name.                      │
│ ==> 'TDEV003.LISTING.PLI'                                                   │
│ ==> 'TDEV003.@SDSF'                                                         │
│ ==> 'PMR.P03527.B370.C000.HFZLANG'                                          │
│ ==> 'TDEV003.JCLLIB'                                                        │
│ ==> 'TDEV003.$$TEMP$$.LISTING'                                              │
│ ==>                                                                         │
│ ==>                                                                         │
│ ==>                                                                         │
│ ==>                                                                         │
│ ==>                                                                         │
│                                                                             │
│ *** Bottom of data.                                                         │
└─────────────────────────────────────────────────────────────────────────────┘

The data set name is specified in accordance with the ISPF convention of prefixing with the current TSO prefix, unless enclosed in single quotes.

The last 10 data set names that were specified are stored in the ISPF profile for your application ID and are used for initialization of the display. The most recent data set name is used to initialize the data set name field, but any one of the listed data set names can be selected by placing the cursor on the desired data set name and pressing Enter.

The member name defaults to the program name for which the listing or side file is required. If the actual member name for your listing or side file differs from the program name, you need to change this field.

If a sequential data set is specified, then the member name is ignored.

Having specified or selected the desired data set and member name, press the Enter key.

If Z Abend Investigator has determined that the specified compiler listing or side file is not a good match, then another prompt as the example shown in Figure 3 is presented.
Figure 3. Sample Listing/Side File Mismatch display
┌ ──────────────────────── Listing/Side File Mismatch ─────────────────────────┐
│                                                            Line 1 Col 1 76  │
│ Command ===> ____________________________________________ Scroll ===> CSR   │
│                                                                             │
│ Listing/Side File . . . . . : LJBERRY.SYSDEBUG.COBOL(COBSEP)                │
│                                                                             │
│ Compile Date/Time:                                                          │
│   Load Module . . . . . . . : 2019/01/30 12:05:11                           │
│   Listing/Side File . . . . : 2019/01/30 12:05:58                           │
│                                                                             │
│ Program COBSEP has a COBOL SYSDEBUG file signature or checksum mismatch.    │
│ The number of DATA DIVISION STATEMENTS is 11 in the side file, 10 in the    │
│ load module. The number of PROCEDURE DIVISION STATEMENTS is 15 in the side  │
│ file, 13 in the load module.                                                │
│                                                                             │
│ NOTE: If the compile mismatch is significant, and the file is accepted,     │
│       then some information presented might not correctly reflect the       │
│       conditions at the time of the fault.                                  │
│                                                                             │
│ Press ENTER to continue with this side file, or F3/F12 to cancel.           │
│                                                                             │
│ *** Bottom of data.                                                         │
│  F1=Help     F3=Exit     F5=RptFind  F7=Up       F8=Down    F12=Cancel      │
└─────────────────────────────────────────────────────────────────────────────┘

If pressing Enter, and thus accepting the provided mismatching compiler listing or side file, then it is possible that some incorrect information is presented, for example, data fields with incorrect values, or incorrect source lines or statements.

In case a side file fails validation to such a degree that it is not even possible to attempt using it, then an Enter response to the prompt in Figure 3 instead shows the display in Figure 1 again, which allows for a different side file to be provided.

3. Retry search for compiler listing or side file for program-name
Selecting this option causes Z Abend Investigator to repeat the search for the compiler listing or side file via the standard search path. This option can be selected after, for example, having recompiled the current program via a split screen ISPF session and provided the compiler listing or side file to Z Abend Investigator in, for example, the HFZLCOB data set concatenation.

This repeated search is only performed once. The user is not prompted a second time for the same program, even if the listing or side file is still not found.

4. Do not prompt again for any missing listing or side file
If you select this option, then Z Abend Investigator does not prompt you again for a missing compiler listing or side file for any program for the duration of the current interactive reanalysis session.
5. Only prompt for the point-of-failure program listing or side file
If you select this option, then Z Abend Investigator only prompts you again for a missing compiler listing or side file for a program, if that program has been determined as belonging to the point-of-failure event. If the initial prompt is already for the point-of-failure program, then a message is added to the display to indicate this (as shown at ❶ in Figure 1).
6. Add program-name to your side file search exclude list
If you select this option, then a display that enables you to add the current program name to your side file search exclude list, as the example shown in Figure 4, is presented.
Figure 4. Sample Exclude Program from Side File Search display
┌ ─────────────────────────────────────────────────────────────────────────────┐
│ Exclude Program from Side File Search                      Line 1 Col 1 76  │
│ Command ===> ____________________________________________ Scroll ===> CSR   │
│                                                                             │
│ Press PF3 to continue without updates.                                      │
│                                                                             │
│ Press Enter to add HFZSCBL1 to your side file search exclude list below.    │
│ Optionally, edit the name using wildcards '*' and/or 'before pressing       │
│ Enter.                                                                      │
│ Program Name. . . . : HFZSCBL1                                              │
│                                                                             │
│ Current list of excluded programs ( Edit ):                                 │
│ (Empty)                                                                     │
│                                                                             │
│ *** Bottom of data.                                                         │
│                                                                             │
│                                                                             │
│                                                                             │
│                                                                             │
│                                                                             │
│                                                                             │
│                                                                             │
│                                                                             │
└─────────────────────────────────────────────────────────────────────────────┘

Press PF3 to continue without updates. You might be prompted again to provide a compiler listing or side file for this program.

Press Enter to add the program name to your side file search exclude list. Optionally, edit the name first using the wildcard characters '*' (zero, one or more characters) or '%' (a single required character) to make the name more generic.

Your current side file search exclude list is provided. The list can be modified by placing the cursor on the Edit point-and-shoot field and pressing Enter. The program names must be valid PDS or PDSE member names, but can include the wildcard characters described above. The specified program names are not case sensitive.

The following are examples of valid program name specifications:
  • *XMAI*
  • PAYROLL0
  • SELOPT%
  • SUBRTN*

The program name exclude list can also be edited from the Interactive Reanalysis Options display. For details, see Interactive reanalysis options.

Following the list of options is the trace of the listing/side file search.

This trace is equivalent to what can be obtained when using the HFZTRACE DDname, as shown in HFZTRACE information.

When the Compiler Listing Not Found display (Figure 1) is first shown, then the entire search trace up until that point in time is provided. From then on, the trace only contains the records that were written since the last time when the Compiler Listing Not Found display was shown.