How to change the Source length of the Type definition in a stage with elements?
search cancel

How to change the Source length of the Type definition in a stage with elements?

book

Article ID: 192387

calendar_today

Updated On:

Products

Endevor Endevor Natural Integration

Issue/Introduction

The Source length of the C++ Type has different lengths in different stages of the life cycle.  Need to change the length to a consistent, standard length in all stages.  Have updated the Type definition in the stages where there are no elements but when trying to update PROD, it says elements exist and we can't delete all the production elements. 

How can the Type Definition be updated in PROD?

Environment

All support versions of Endevor 

Resolution

**  Verify that the Base and Delta libraries associated with the Type have the appropriate LRECL and Blocksize (BLKSIZE) before updating the Type Definitions **

 

1)  First do a full UNLOAD of the System from PROD -

//UNLOAD   EXEC PGM=NDVRC1,REGION=4096K,PARM='C1BM5000'
//SYSPRINT DD SYSOUT=*                    
//C1PRINT  DD SYSOUT=*                    
//C1MSGS1  DD SYSOUT=*                    
//C1MSGS2  DD SYSOUT=*                    
//UNLOAD1  DD DSN=hlq.mlq.UNLOAD,     
//            UNIT=3390,                  
//            SPACE=(CYL,(pp,ss)),        
//            DISP=(NEW,CATLG,DELETE),    
//            DCB=(LRECL=4200,RECFM=VB)   
/*                                        
//BSTIPT01 DD *                           
   UNLOAD FULL                            
    FROM ENV   xxxxx  SYSTEM xxxxxx          
    TO DDN UNLOAD1                        
 .                                        
/*                                        
//C1SCL1   DD DSN=hlq.mlq.UNLDSCL,    
//            UNIT=3390,                  
//            SPACE=(CYL,(p,s)),          
//            DISP=(NEW,CATLG,DELETE),    
//            DCB=(LRECL=80,RECFM=FB)     
/*                                        


2)   Do an ARCHIVE to an Archive file of the elements with the Type needing to be updated.
      This removes the elements from the System and stage:
       

//ARCHIVE  EXEC PGM=NDVRC1,REGION=4096K,PARM=C1BM3000 
//SYSPRINT DD SYSOUT=*                                  
//C1PRINT  DD SYSOUT=*                                  
//C1MSGS1  DD SYSOUT=*                                  
//ARCHIVE  DD DSN=hlq.mlq.ARCHIVE,         
//         DISP=(NEW,CATLG),                            
//         UNIT=SYSDA,SPACE=(TRK,(p,s)),                
//         DCB=(RECFM=VB,LRECL=2940,BLKSIZE=27998)      
/*                                                      
//BSTIPT01 DD *                                         
   ARCHIVE ELEMENT *                                    
    FROM ENV   xxxxx                                    
        SYSTEM xxxxx                                     
        SUBSYSTEM xxxxx                                  
        STAGE NUMBER 2                                  
        TYPE xxxxxx                                      
    TO FILE ARCHIVE                                     
 .                                                      
                                                        
//                                                      


3)   Update the Type definition in PROD  

4)   Run a RELOAD -


//RELOAD  EXEC PGM=NDVRC1,REGION=4096K,PARM=C1BM3000 
//SYSPRINT DD SYSOUT=*                          
//C1PRINT  DD SYSOUT=*                          
//C1MSGS1  DD SYSOUT=*                          
//C1MSGS2  DD SYSOUT=*                          
//C1SCL1   DD DISP=SHR,DSN=hlq.mlq.UNLDSCL  
//UNLOAD1  DD DISP=SHR,DSN=hlq.mlq.UNLOAD   
/*                                              
//BSTIPT01 DD *                                 
   RELOAD                                       
    FROM  DDN UNLOAD1                           
    TO ENV xxxxxx   SYSTEM xxxxxxx                    
    OPTION RETAIN PROCESSOR HISTORY             
 .                                              
/*                                              

-------------------------------

Note :  The RELOAD will not replace any element that still exists in the Environment.
            It only replaces those elements that were removed by the ARCHIVE step. 

The Change history, previous levels, and component information is all retained.

 

**  If there are any questions regarding this procedure, open an Endevor support case and talk with an Endevor support engineer before updating the Type Definitions **

 

Additional Information

Example of the order the tasks to done to perform the above process: 

  • Check for element locked in a package (for the type that is changing) - stop the run if there are locked elements  & resolve
  • Run unload validate - to ens sure that there is a clean starting position
  • Define approver group relationships to stop any updated to the specific inventory area to stop any updated while the process is running 
  • backup the current type definition 
  • backup the current processor group definitions
  • update the processor groups to use *noproc* as the delete processor
  • Run an Unload
  • If it is a USS type, then update the BASE/IMAGE directory name in the type so that the files are not deleted (reload will not create a new USS File timestamps) 
  • Copy the USS Files from the old directory to the new so that the Archive/Deletes do not fail 
  • Get a list of elements to archive and create Archive SCL
  • Check for sourceless elements - if any exist then change the archive to delete 
  • Define/Case/Approve/Execute a package to Archive/Delete the elements 
  • Update the type definitions to change the source length
  • RELOAD
  • Restore the original processor group definition(s)
  • If USS Type then restore the original Base/Image definistion for the type
  • Run an Unload Validate
  • Remove the approver group relations you just created