How can we compare all members from two different Librarian Master files?

Document ID : KB000007824
Last Modified Date : 14/02/2018
Show Technical Document Details
Issue:

Need to verify that members are exactly the same on a Librarian Master file on one LPAR as in a Master file on a different LPAR. 

How can we compare all members from two different Librarian Master files?

Environment:
z/OS
Resolution:
Unfortunately, the Librarian Comparator utility only compares one Librarian Master file member to another Librarian Master file member. It does not compare all members in one entire Master file to another entire Master file.
 
The only way I know of to accomplish this is to unload the Master files to PDS' or PDS/Es and use the IBM  SuperC compare utility. 
 
When Librarian unloads a member, Librarian assumes that you are going to compile it so it automatically expands any -INC statements found. 
 
Here is a job stream that will unload an entire Librarian Master file to a PDS and change the -INC statements to $INC so that they do not get expanded--
 
//LIBRGPO  EXEC PGM=AFOLIBR,PARM='NRJS,NJTA'                         
//SYSPRINT DD  SYSOUT=*                                        
//INDEX    DD  SYSOUT=*                                        
//MASTER   DD  DISP=SHR,DSN=Your.Librarian.Master.File      
//OSJOB    DD DSN=&&GPO,DISP=(,PASS),UNIT=SYSDA,               
//         SPACE=(CYL,(10,1)),DCB=(RECFM=FB,LRECL=80,BLKSIZE=800)
//SYSIN    DD  *                                               
-OPT GPO                                                       
-OPT INDEX                                                     
-SEL NAME=,EXEC                                                
-EDIT /-INC/$INC/                                      
-END                                                           
/*                                                             
//LIBR2PDS EXEC PGM=AFOLIBR,PARM='NRJS,NJTA'                     
//SYSPRINT DD  SYSOUT=*                                        
//LIST     DD  SYSOUT=*                                        
//INDEX    DD  SYSOUT=*                                        
//OSJOB    DD  DSN=Your.Librarian.Master.File.PDS,                    
//      DISP=(,CATLG),                                         
//      UNIT=3390,DCB=(LRECL=80,BLKSIZE=8000,RECFM=FB),        
//      SPACE=(CYL,(75,25,30),RLSE)                            
//MASTER   DD  DISP=SHR,DSN=Your.Librarian.Master.File      
//SYSIN    DD  DSN=&&GPO,DISP=OLD                              
/*                                                             
//*                                                            
 
Additional Information:

See TEC448239 How do I copy all members to a PDS from Master file not expanding the includes?