RECOVERY Control Statements and Quotes - DB10007E

Document ID : KB000118757
Last Modified Date : 31/10/2018
Show Technical Document Details
Issue:
RECOVERY process parses control statement sequentially instead of a complete set.
The RANGEDT control statement didn't stop the execution
RANGEDT='2018103011290020181030113000'
FUNCTION= DB10007E - INVALID FUNCTION
DB10015E - NO EXECUTION DUE TO INDICATED ERROR(S)
Environment:
z/os CA Datacom/DB 15.1
Cause:
Issue around Quotes and continuation line missing in the BACKWARD/FORWARD RECOVERY command.
Resolution:
Example 1; 
//SYSIN DD * Command Input 
RECBASE DBID=1 
RECJOB JOBNAME=PAYCHECK 
RECOVERY OPTION=BACKWARD,SORT=1000,MISMATCH=FAIL 
/* 

Does not show the comma (after FAIL)  because there is no need. There is no other parameter for that RECOVERY command. 

but 

In the below example, a comma is needed for the RECOVERY command to continue next line. 
RANGEDT parameter belongs to RECOVERY command. 
//SYSIN DD * Command Input 
RECBASE DBID=1 
RECJOB JOBNAME=PAYCHECK 
RECOVERY OPTION=BACKWARD,SORT=1000,MISMATCH=FAIL, 
RANGEDT='2018103011290020181030113000' 
/* 

Comma is a parameter separator and a continuation line as described in the doc: 
http://docops.ca.com/ca-datacom/15-1/en/reference/dbutlty-reference/utility-function-summary/recovery-rebuild-a-database/recovery-command-recovery 

All the parameters, like RANGEDT , are mentioned with a comma in front, for example: 
",RANGEDT=" or ",OPTION1=" or ",NUMBER=" etc.... 

You would need the same continuation line on the RECJOB command if you had more parameters. 
Additional Information:
It is fine to put quotes around "stuff". Examples that work fine are:
 
REPORT AREA='CXX',DBID='0997',TYPE='B'      
                                             
FUNCTION=REPORT                             
   AREA=CXX                                 
   DBID=00997                                
   TYPE=B                                   
 
And:
 
REPORT AREA=RXX,LOGPRINT=DETAIL,                  
   RANGEDT='2017010700000020170107235959'         
                                                   
FUNCTION=REPORT                                    
   AREA=RXX                                       
   LOGPRINT=DETAIL                                
   RANGEDT=2017010700000020170107235959           
 
 
The error INVALID FUNCTION is not because of the quotes, it is a second line and no comma on the first line. For example in the above, if DETAIL had no comma then the REPORT ran without the RANGEDT and then it was thought a new function and is not.