Creating a summary report using the load module scanner

You can request a summary report from the load module scanner by editing and running the job DFHEILMS in SDFHSAMP. The summary report gives a list of the modules that contain the commands specified by your filter, and the number of specified commands in each module.

About this task

The job to request a summary report includes statements identifying the filter to be used (DFHFLTR), and (optionally) a data set to be produced for use with a detailed report (DFHDTL).

To request a summary report from the scanner:

Procedure

  1. Ensure that the load library to be scanned does not contain concatenated data sets.
  2. Edit the JOB accounting parameters as appropriate.
  3. Ensure that your region size is appropriate for the number of load modules that you want to scan. Do not specify REGION=0M. See Points to bear in mind when using the load module scanner for more information.
  4. On the PARM statement, specify SUMMARY. If you want to produce a list of modules to be used when running a detailed scan on this load library, specify DETAILMODS as well.
    Read syntax diagramSkip visual syntax diagramPARM=SUMMARY,DETAILMODS
    SUMMARY
    Specifies that a summary scan (and report) is required for the entire library, except for certain CICS® modules (those beginning with XDFH, and the DL/I modules ASMTDLI, CBLTDLI and PLITDLI), CICS tables, and those modules that cannot be loaded (due to an error).
    DETAILMODS
    Specifies that the names of those modules that may contain at least one of the EXEC CICS commands identified in your filter, are to be written to the sequential file defined by the DFHDTL DD statement.
  5. Edit the STEPLIB, DFHIN, SYSPRINT, DFHFLTR and DFHDTL statements as required.
    STEPLIB DD statement
    Specifies the name of the load library where you have installed the scanner program, DFHEISUP.
    DFHIN DD statement
    Specifies the name of the load library to be scanned. This must not contain concatenated data sets. The DFHIN DD statement accepts both PDS and PDSEs.
    SYSPRINT DD statement
    Specifies the destination for the summary report.
    DFHFLTR DD statement
    Specifies the input file for the filter, containing details of the commands in which you are interested. CICS provides the following sample tables in the SDFHSAMP library:
    • DFHEIDBR contains the filter set for commands that are not supported by the 3270 bridge.
    • DFHEIDTH contains the filter set for commands that give access to shared storage. The use of these commands could make a program not threadsafe, unless it has the necessary synchronization logic in place to ensure serialization and prevent concurrent update.
    • DFHEIDAL contains the filter set for all possible commands.
    • DFHEIDNT contains the filter set for CICS commands that are not threadsafe and will cause a switch to the QR TCB. This could influence performance when trying to run in the Open Transaction Environment.
    See Creating a filter input file for the load module scanner for information on how to create your own filter input file.
    DFHDTL DD statement
    This optional statement specifies the name of a sequential data set where the list of modules with potential command matches is to be sent. To send the list of modules to the data set, specify DETAILMODS on the PARM statement. You can edit the data set to alter the list of modules to be scanned, but note that all the modules listed must be in the same load library. You can use this file to restrict a subsequent detailed report on that load library, by specifying it on the DFHLIST DD statement of a detailed report run of the scanner. For more information about the DFHLIST DD statement, see Creating a detailed report using the load module scanner.

Example

Figure 1 shows an example of a job to run a summary scan, using the sample command list DFHEIDBR as the filter input file.
Figure 1. Example of a job to run a summary scan
 //DFHSCNR  JOB (accounting information)                                
 //DFHSCAN    EXEC PGM=DFHEISUP,PARM=('SUMMARY, DETAILMODS'),REGION=512M
 //STEPLIB  DD DSN=HLQ.SDFHLOAD,DISP=SHR                                
 //SYSPRINT DD SYSOUT=*                                                 
 //SYSERR   DD SYSOUT=*                                                 
 //* Filter file, supplied by user, or from samples data set              
 //DFHFLTR  DD DSN=HLQ.ADFHSAMP(DFHEIDBR),DISP=SHR                     
 //*  Module list, to be created during summary,detail runs. 
 //DFHDTL   DD DSN=HLQ.MODLIST,DISP=(NEW,CATLG,DELETE),                
 //            DCB=(RECFM=FB,LRECL=80,BLKSIZE=8000),SPACE=(CYL,(1,1))  
 //* PDS containing loadmodules to be scanned                            
 //DFHIN    DD DSN=HLQ.SDFHLOAD,DISP=SHR  
                                                                  

Figure 2 shows an example of a summary report.

Figure 2. Example of a summary report produced by the scanner
CICS LOAD MODULE SCANNER UTILITY                                      
SCAN PERFORMED ON Tue Jun  6 13:37:48 2000 USING TABLE RSTABLE1.3     
                                                                      
SUMMARY LISTING OF UTL.CL717.LOAD             
                                
Module Name  Commands Found  Language                                 
DFHLMS00                 15  Assembler                                
INTROC                    8  COBOL                                    
                                                                      
LOAD LIBRARY STATISTICS                       
                                              
Total modules in library                             =      2         
Total modules Scanned                                =      2         
Total CICS modules/tables not scanned                =      0         
Total modules possibly containing requested commands =      2         

                   
Each summary report contains the following:
  • A line for each module in the library, containing:
    • Module name. If a module contains more than 1024 commands, the name of the module is included several times, once for every 1024 commands found, until all commands have been found.
    • The number of possible specified commands located.
    • The identified language of the module.
      Note: For both detailed and summary reports, the identified language of the module is based on the language of the first identified command. If the module is a mixed language module, only the first located language is reported. In addition, if the first identified command is a false hit, the language for that module will be reported incorrectly.
  • The total count of:
    • Modules in the library
    • Modules scanned
    • CICS modules and tables (not scanned)
    • Modules that could contain some specified commands