search cancel

Compare CA 1 load modules in runtime and SMP/E Target load libraries

book

Article ID: 226336

calendar_today

Updated On:

Products

CA 1 Tape Management

Issue/Introduction

Sometime customer use TSO option 3.13 (SuperCE) to compare load modules in PDSE libraries and get unexpected differences which can be seen below:

DIFF SAME    MEMBERS-COMPARED  N-BYTES O-BYTES

**           TMS00SVC          70891   70727

**           G8UTY             16175   16127

How to explain and manage these differences?

Cause

SuperC/SuperCE options should not be used to compare load modules.

Environment

Release : All

Component : CA 1

Resolution

One of the following methods should be used instead

  • CAMODID :
    Run the below JCL for both the Run time load library and the SMPE target load library. Compare both the logs and check for differences.
    //CAMODID EXEC PGM=IKJEFT01
    //SYSPRINT DD SYSOUT=*
    //DDLOAD DD DISP=SHR,DSN=loadib name
    //SYSTSPRT DD SYSOUT=*
    //SYSTSIN DD *
    CAMODID DDNAME(DDLOAD) DETAIL
    /*
  • AMBLIST:
    Run AMBLIST for the two modules for the Run time load library and the SMPE target load library to get the module structure and check if there are any differences.
    //STEP01 EXEC PGM=AMBLIST
    //SYSPRINT DD SYSOUT=*
    //SYSLIB   DD DISP=SHR,DSN=involved loadlib name
    //SYSIN DD *
      LISTLOAD MEMBER=G8UTY
      LISTLOAD MEMBER=TMS00SVC
  • Check the size column value for both the modules in the two affected libraries. They should be the same.  

Additional Information

In the ISPF option 3.13 HELP (PF1) option 20.5, it is reported the following explanation: 

Comparing Load Modules                             
                                                                                
 SuperC compare of load module data might show unexpected differences.  This    
 is because SuperC compares all the data in the load module as it is found on   
 DASD, and does not attempt to decode which portions are executable, and which  
 might contain uninitialised storage.                                           
                                                                                
 The complex data format on DASD is dependent on the load module data set       
 block size, and defined storage definitions which are controlled by the        
 linkage editor.  The size stored by the linkage editor in the PDS directory    
 may differ from the DASD data byte count reported by SuperC and Browse         
 depending on the characteristics of the load module.                           
                                                                                
 If load modules are exact copies of each other, SuperC should find no          
 differences.  If load modules have been link-edited from the same object but   
 with different block-sizes, SuperC will probably report they are different.     
                                                                                
 Because of the relative DASD addresses (TTRs) in load modules, the             
 recommended procedure for comparing load modules which have not been           
 re-blocked is to use the AMBLIST utility with LISTLOAD OUTPUT=MODLIST against   
 both load modules, then use SuperC to compare the two AMBLIST outputs.  There  
 is no easy way to compare load modules with different internal record sizes    
 such as occurs when COPYMOD or LINKEDIT processes them.                        
                                                                                
                                                                                

Option 3.13 

 11 Format      Format definition for formatted data Edit/Browse               
 12 SuperC      Compare data sets                             (Standard Dialog)
 13 SuperCE     Compare data sets Extended                    (Extended Dialog)
 14 Search-For  Search data sets for strings of data          (Standard Dialog)