Start of change

Preventing duplicate recovery runs

You can prevent a Forward Recovery job from running, if it is a duplicate of a previously run job.

To prevent the same recovery job from running twice use the Recovery Submission Manager (RSM). The RSM checks whether a recovery job run is or is not required. You can add a step with a call to the RSM to: To add an automatic RSM step to the job, check the Prevent duplicate runs field in the "CICS VR forward recovery only" window and carry on with the job construction, no further settings are required. The default is Prevent duplicate runs option turned off.
Figure 1. CICS VR forward recovery parameters window
DWWPPFR3              CICSVR forward recovery only                  
                                                                         
Press Enter to create a job with default values. Or, select one or more  
choices below, and press Enter to override current values.               
                                                                         
                                                                         
  S  Forward-recovery parameters related to:                             
  _  Sequence checking                                                   
  _  VSAM buffer pools                                                   
  _  CICSVR exits                                                        
  _  Selective forward recovery
  /  Prevent duplicate runs   
                              
Command ===>                                                             
 F1=Help    F12=Cancel                                                   
You can also provide a duplicate recovery run prevention in the constructed batch jobs. However, you have to update the job manually by adding an RSM utility step before any restore and Recovery steps:
Figure 2. Sample RSM step structure
//VSAMRRY1 JOB CLASS=A,MSGCLASS=H,REGION=4096K,NOTIFY=&SYSUID,
//             MSGLEVEL=(1,1)                                        
//RSMSTEP   EXEC   PGM=DWWRZ                    
//DWWCON1  DD DISP=SHR,DSN=DWW.DWWCON1.GRPPROD 
//DWWCON2  DD DISP=SHR,DSN=DWW.DWWCON2.GRPPROD 
//DWWCON3  DD DISP=SHR,DSN=DWW.DWWCON3.GRPPROD 
//DWWDUMP  DD     SYSOUT=*                     
//DWWMSG   DD     SYSOUT=*                     
//DWWPRINT DD     SYSOUT=*                     
//DWWIN    DD     *                            
  
    CHECK                   		- 	
       JOBNAME(VSAMRRY1)     		- 	
       SPHERE(USER.KSDS1)   		- 	
       NEWSPHERE(USER.KSDS1.REC) 		- 	
       STARTTIME(07.081/11:00:00)		- 	
       STOPTIME(07.081/20:00:00) 		- 	
       MVSLOGNAME(USER.FILELOG1)		- 	
       RETURNCODE(0) 		 

/* 
//RSMIF    IF RSMSTEP.RC=0 THEN 
//*** RESTORE STEP *** 
//RESTORE  EXEC   PGM=IDCAMS 
... 
//*** RECOVERY STEP *** 
//RECOVERY EXEC   PGM=DWWCO 
... 
//*** ADDITIONAL STEPS *** 
//PRNTVSAM EXEC   PGM=IDCAMS 
... 
//RSMIF ENDIF 
// 
                                                                  

See CICS VR commands for the description on the syntax of the CHECK command.

End of change