CA Deliver - Program RMOGRW looping
search cancel

CA Deliver - Program RMOGRW looping

book

Article ID: 199908

calendar_today

Updated On:

Products

Deliver View

Issue/Introduction

Since there was an upgrade to Deliver r14.0, some RMOGRW jobs that normally run for a minute or so are now timing out after hours. 
What could be the problem?

Environment

Release : 14.0

Component : CA Deliver

Cause

The RMOGRW program went into a looping condition due to it containing orphaned report records.

Resolution

To resolve the RMOGRW program's looping condition, when there are orphaned report records:

. Apply Deliver 14.0 PTFs SO11304 and SO11531.

    https://support.broadcom.com/download-center/solution-detail.html?aparNo=SO11304&os=z%2FOS

    https://support.broadcom.com/download-center/solution-detail.html?aparNo=SO11531&os=z/OS

. Stop the related Deliver RMOSTC task, using "/F rmostc,OFF". 

. Run a RMODBASE UNLOAD, to unload the database:

//XXXXXXXX JOB ...                                               
//RMODBASE EXEC PGM=RMODBASE,PARM='DLVR_HLQ'  <=== MODIFY DB NAME
//STEPLIB  DD  DISP=SHR,DSN=DLVR.CVDELOAD     <=== MODIFY, IF USE
//SYSPRINT DD  SYSOUT=*                                          
//RMOUNLD  DD  DSN=XXXXXX.XXXXXX.RMOUNLD,                        
//             DISP=(,CATLG,DELETE),                             
//             UNIT=XXXX,VOL=SER=YYYYYY,                         
//             SPACE=(CYL,(NNN,NN),RLSE)                         
//SYSIN    DD   *                                                
UNLOAD                                                 
/*                                                               
//                                                               .

. Run RMODBASE RENAME, to rename the database to another name:

//XXXXXXXX JOB ...                                                
//RMODBASE EXEC PGM=RMODBASE,PARM='DLVR_HLQ'  <=== MODIFY DB NAME 
//STEPLIB  DD  DISP=SHR,DSN=DLVR.CVDELOAD     <=== MODIFY, IF USED
//SYSPRINT DD  SYSOUT=*                                           
//SYSIN    DD   *                                                 
RENAME DLVR_HLQ2                                                  
/*                                                                
//                                                                

. Run RMODBASE ADDDS and MAKECKPT, to allocate a new database:

//XXXXXXXX JOB ...                                               
//RMODBASE EXEC PGM=RMODBASE,PARM='DLVR_HLQ'  <=== MODIFY DB NAME
//STEPLIB  DD  DISP=SHR,DSN=DLVR.CVDELOAD     <=== MODIFY, IF USE
//SYSPRINT DD  SYSOUT=*                                          
//SYSIN    DD   *                                                
ADDDS UNIT=3390 CYLINDER=nnnn BLKSIZE=13904 VOLSER=xxxxxx         
MAKECKPT UNIT=3390 CYLINDER=nnn VOLSER=xxxxxx                
/*                                                               
//                                                               

. Run RMODBASE LOAD, to load the unloaded database:

//XXXXXXXX JOB ...                                                
//RMODBASE EXEC PGM=RMODBASE,PARM='DLVR_HLQ'  <=== MODIFY DB NAME 
//STEPLIB  DD  DISP=SHR,DSN=DLVR.CVDELOAD     <=== MODIFY, IF USED
//SYSPRINT DD  SYSOUT=*                                           
//RMOLOAD  DD  DISP=SHR,DSN=XXXXXX.XXXXXX.RMOUNLD                 
//SYSPRINT DD  SYSOUT=*                                           
//SYSIN    DD   *                                                 
LOAD                                                       
/*                                                                
//                                                                

. Start the related Deliver RMOSTC task, using "/S rmostc". 

After performing the above, the next RMOGRW program run (which had previously encountered the looping problem) should occur with no problems.