How do I compare a Load module using PDSMAN after copying a PDSE using the Endevor BSTCOPY utility
search cancel

How do I compare a Load module using PDSMAN after copying a PDSE using the Endevor BSTCOPY utility

book

Article ID: 37227

calendar_today

Updated On:

Products

Endevor PDSMAN

Issue/Introduction

 

When using the Endevor  program BSTCOPY to copy a PDSE load member, it seems as if the member is being changed physically.  However, when copying a PDS, the source module and destination module are physically equal.

Can the SuperCE utility be used to compare the changed load ?   

Note that the footprints are not modified at all.           

 

 

 

 

 

Resolution

"The binder API does not have a function to 'copy a member'.  Member copy is performed using the binder by using two other functions:    

  • INCLUDE (read the module into storage)
  • SAVEWMOD (save the module in the output) (miscellaneous other binder functions are used like STARTD/ENDD) so the module does effectively get re-linked (re-bound).

Referring to the SuperCE help - tutorial option 17.5 'Comparing load modules':
 - ISPF compares the entire module, not only the executable code. This would include IDR data which would have compile and linkedit information, as well  as other undocumented information for a program object (a load module in a PDSE library).

So it stands to reason that if the binder is used for the copy(by BSTCOPY with or without FASTCOPY) it would not be surprising that SuperCE finds differences.

PDSMAN has a compare utility that considers only the executable text - PDSM36

You can run it using this sample JCL:          

 

//PDSM36   EXEC PGM=PDSM36,PARM='mbrname'                                   
//*                                                                         
//PDSMRPT  DD SYSOUT=*                                                      
//PDSMOLD  DD DISP=SHR,DSN=library1                                         
//PDSMNEW  DD DISP=SHR,DSN=library2       

 

Where,
Library1 and library2 are the libraries you need to compare
mbrname is the program object name.
                                          

 

Note:

You may use any other utility that allows to compare Load module similar to this  PDSMAN feature.