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 Sample Compiler Listing Not Found display, 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 IBM® Application Delivery Foundation for z/OS (ADFz) LANGX 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.IDIVPCOB.GOSET.H01(IDISCBL1) containing       
 COBOL program IDISCBL1 entry point IDISCBL1 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 IDISCBL1       
   2. Specify compiler listing or side file to use for IDISCBL1              
   3. Retry search for compiler listing or side file for IDISCBL1            
   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 IDISCBL1 to your side file search exclude list                     
                                                                             
 The trace of the listing/side-file search follows.                          
                                                                             
   Rejected - NWILKES.IVPCB.LISTINGS(IDISCBL1)                               
     Failed -                                                                
         OPEN error, member not found.                                       
                                                                             
   Rejected - DA.LISTING.COBOL(IDISCBL1)                                     
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 Sample Specify Compiler Listing or Side File display.
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. . . . . . . : IDISCBL1                                              
                                                                             
 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.IDILANG'                                          
 ==> '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 Fault Analyzer has determined that the specified compiler listing or side file is not a good match, then another prompt as the example shown in Sample Listing/Side File Mismatch display is presented.
Figure 3. Sample Listing/Side File Mismatch display
                                                            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 Sample Listing/Side File Mismatch display instead shows the display in Sample Compiler Listing Not Found display 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 Fault Analyzer 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 Fault Analyzer in, for example, the IDILCOB 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 Fault Analyzer 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 Fault Analyzer 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 Sample Compiler Listing Not Found display).
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 Sample Exclude Program from Side File Search display, 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 IDISCBL1 to your side file search exclude list below.    
 Optionally, edit the name using wildcards '*' and/or 'before pressing       
 Enter.                                                                      
 Program Name. . . . : IDISCBL1                                              
                                                                             
 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 IDITRACE DDname, as shown in IDITRACE information.

When the Compiler Listing Not Found display (Sample Compiler Listing Not Found display) 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.