What caused the missing PROTSYM file's contents after the 2nd IN25UTIL job ran?
search cancel

What caused the missing PROTSYM file's contents after the 2nd IN25UTIL job ran?

book

Article ID: 395025

calendar_today

Updated On:

Products

InterTest - Batch

Issue/Introduction

Try to consolidate 2 PROTSYM files into 1 larger PROTSYM file and run 2 separate IN25UTIL jobs to UNLOAD=ALL.

Ran 1st IN25UTIL with UNLOAD=ALL to create sequential file as TEMP.SEQ.FILE1 and run IN25UTIL with RELOAD=ALL as

//UNLOAD11 EXEC PGM=IN25UTIL,REGION=2048K          
//STEPLIB  DD DISP=SHR,DSN=INTERTEST.CAVHLOAD  
//MESSAGE  DD SYSOUT=*                      
//UNLOAD   DD DISP=(NEW,PASS),UNIT=SYSDA,                 
//            DSN=&&TEMP.SEQ.FILE1,                                  
//            MGMTCLAS=TTTT,STORCLAS=SSSS,DATACLAS=DEFAULT, 
//            DCB=(RECFM=FB,LRECL=2042,BLKSIZE=20420),    
//            SPACE=(CYL,(20,20),RLSE)                             
//PROTSYM  DD DISP=SHR,DSN=OLD.PROTSYM1 
//CARDS    DD *                                    
PASSWORD=########                                  
UNLOAD=ALL                                     
REPORT                                             
/*  
//*                                               
//DEFSYM   EXEC PGM=IDCAMS,REGION=1024K                            
//SYSPRINT DD SYSOUT=*                                             
//SYSIN    DD *                                                    
   SET MAXCC=0                                                     
   DEFINE CLUSTER (NAME(NEW.LARGE.PROTSYM)     -             
                   REC(50000)    -                                 
                   CISZ(2048)            /* DO NOT CHANGE */  -    
                   MGMTCLAS(TTTT) STORCLAS(SSS) DATACLAS(DEFAULT) - 
                   RECSZ(2040 2040)                           -    
                   SHR(4 4)                                   -    
                   NUMBERED)                                  -    
          DATA (NAME(NEW.LARGE.PROTSYM.DATA))                
/*                                                                 
//RELOAD1  EXEC PGM=IN25UTIL,REGION=2048K              
//STEPLIB  DD DISP=SHR,DSN=INTERTEST.CAVHLOAD         
//MESSAGE  DD SYSOUT=*                                 
//RELOAD   DD DISP=(OLD,DELETE),                       
//            DSN=&&TEMP.SEQ.FILE1
//PROTSYM  DD DISP=SHR,DSN=NEW.LARGE.PROTSYM     
//CARDS    DD *                                        
PASSWORD=XXXXXXXX
INITIALIZE,MAXPGMVER=3                                      
RELOAD=ALL                                             
REPORT                                                 
/*                                                     
//                    

Run 2nd IN25UTIL with UNLOAD=ALL to create sequential file as TEMP.SEQ.FILE2 and run IN25UTIL with RELOAD=ALL as 

//UNLOAD11 EXEC PGM=IN25UTIL,REGION=2048K          
//STEPLIB  DD DISP=SHR,DSN=INTERTEST.CAVHLOAD  
//MESSAGE  DD SYSOUT=*                      
//UNLOAD   DD DISP=(NEW,PASS),UNIT=SYSDA,                 
//            DSN=&&TEMP.SEQ.FILE2,                                  
//            MGMTCLAS=TTTT,STORCLAS=SSSS,DATACLAS=DEFAULT, 
//            DCB=(RECFM=FB,LRECL=2042,BLKSIZE=20420),    
//            SPACE=(CYL,(20,20),RLSE)                             
//PROTSYM  DD DISP=SHR,DSN=OLD.PROTSYM2 
//CARDS    DD *                                    
PASSWORD=########                                  
UNLOAD=ALL                                     
REPORT                                             
/*  
//RELOAD1  EXEC PGM=IN25UTIL,REGION=2048K              
//STEPLIB  DD DISP=SHR,DSN=INTERTEST.CAVHLOAD         
//MESSAGE  DD SYSOUT=*                                 
//RELOAD   DD DISP=(OLD,DELETE),                       
//            DSN=&&TEMP.SEQ.FILE2
//PROTSYM  DD DISP=SHR,DSN=NEW.LARGE.PROTSYM     
//CARDS    DD *                                        
PASSWORD=XXXXXXXX
INITIALIZE,MAXPGMVER=3                                      
RELOAD=ALL                                             
REPORT                                                 
/*                                                     
//    

After running 2nd IN25UTIL with RELOAD=ALL result does not contain 1st IN25UTIL with RELOAD=ALL compile listing entries.
Why are the 1st IN25UTIL RELOAD=ALL entries missing?

Environment

Z/OS

Cause

INITIALIZE
Initializes the symbolic file. This function must always be run after a symbolic file is created using VSAM Access Method Services.
For a newly defined file, the IN25UTIL program preformats all records. If you perform this function for an existing file, all symbolic data is removed.
The PASSWORD control statement, if specified, must precede the INITIALIZE control statement.
The INITIALIZE function supports the MAXPGMVER and USEDSPACEMSG parameters. 

Resolution

The 1st IN25UTIL job step shows, create a temp file with UNLOAD=ALL and then allocate a new PROTSYM file.
And then IN25UTIL with the INITIALIZE option will initialize the PROTSYM file, which removes the contents as stated in the guide.

So when 1st IN25UTIL with RELOAD=ALL will write all, then compile the listing contained in the RELOAD DD dataset file.

However, the 2nd IN25UTIL with RELOAD=ALL step also has the INITIALIZE option stated, so reinitialize the PROTSYM file and remove the 1st RELOAD contents.
2nd IN25UTIL with RELOAD=ALL should remove INITIALIZE,MAXPGMVER=3 to keep 1st IN25UTIL with RELOAD=ALL contents in the new PROTSYM file as

//UNLOAD11 EXEC PGM=IN25UTIL,REGION=2048K          
//STEPLIB  DD DISP=SHR,DSN=INTERTEST.CAVHLOAD  
//MESSAGE  DD SYSOUT=*                      
//UNLOAD   DD DISP=(NEW,PASS),UNIT=SYSDA,                 
//            DSN=&&TEMP.SEQ.FILE2,                                  
//            MGMTCLAS=TTTT,STORCLAS=SSSS,DATACLAS=DEFAULT, 
//            DCB=(RECFM=FB,LRECL=2042,BLKSIZE=20420),    
//            SPACE=(CYL,(20,20),RLSE)                             
//PROTSYM  DD DISP=SHR,DSN=OLD.PROTSYM2 
//CARDS    DD *                                    
PASSWORD=########                                  
UNLOAD=ALL                                     
REPORT                                             
/*  
//RELOAD1  EXEC PGM=IN25UTIL,REGION=2048K              
//STEPLIB  DD DISP=SHR,DSN=INTERTEST.CAVHLOAD         
//MESSAGE  DD SYSOUT=*                                 
//RELOAD   DD DISP=(OLD,DELETE),                       
//            DSN=&&TEMP.SEQ.FILE2
//PROTSYM  DD DISP=SHR,DSN=NEW.LARGE.PROTSYM     
//CARDS    DD *                                        
PASSWORD=XXXXXXXX                                      
RELOAD=ALL                                             
REPORT                                                 
/*                                                     
//