ALERT: Some images may not load properly within the Knowledge Base Article. If you see a broken image, please right-click and select 'Open image in a new tab'. We apologize for this inconvenience.

SSID0800 Job failed with RC=08 during CA DB2 R20.0 migration

book

Article ID: 212481

calendar_today

Updated On:

Products

Plan Analyzer for DB2 for z/OS

Issue/Introduction

The SSID0800 Job for Plan Analyzer Post-Install Tasks failed with RC=08 in LOADRULS step and the DBA was not able to find the reason. 

Environment

Release : 20.0

Component : CA Plan Analyzer for DB2 for z/OS

Resolution

The RC=08 was caused by the following messages in Batch Processor:
.FREE FI(SYSDISC)                                                        
 BPA0166W: Normal disposition for DDNAME SYSDISC not honored. The dataset
           has not been cataloged or uncataloged as requested. See the   
           message(s) below for more information.                        
IKJ56851I FILE SYSDISC UNALLOCATED, REQUESTED CATALOG OR                 
 UNCATALOG DISPOSITION UNSUCCESSFUL                                      
RETCODE =     8                                                           

However the load of table PTI.PTPA_ES_RULES_1200 finished correctly:

LOAD DATA INDDN PTILOAD RESUME YES LOG YES  
  SORTDEVT 3390                             
  CONTINUEIF (72:80) = X'FF4040404040404040'
  INTO TABLE PTI.PTPA_ES_RULES_1200         
...
DSNU010I    072 02:16:58.89 DSNUGBAC - UTILITY EXECUTION COMPLETE, HIGHEST
            RETURN CODE=0   
  
The root cause of all the error messages was the following one: 
 
IEF287I   HLQ.TEMP.SYSDISC                 NOT RECTLGD 2 

You will only get the 'NOT RECTLGD 2' message on non DFSMS controlled data sets.  
 
If you work with a non DFSMS controlled data sets then the only option you have to avoid the RC=08 and the error message in Batch Processor is to change the name of the dynamically allocated data sets in second Load statement. 
  
.ALLOC FI(SYSDISC) DA('HLQ.TEMP.SYSDISC')+ 
  MOD CATALOG UNIT(3390) SPACE(10,10) CYL RLSE         
.ALLOC FI(SYSERR) DA('HLQ.TEMP.SYSERR')+   
  MOD CATALOG UNIT(3390) SPACE(10,10) CYL RLSE         
.ALLOC FI(SYSMAP) DA('HLQ.TEMP.SYSMAP')+   
  MOD CATALOG UNIT(3390) SPACE(10,10) CYL RLSE         
.DATA                                                  
  LOAD DATA INDDN PTILOAD RESUME YES LOG YES           
    SORTDEVT 3390                                      
    CONTINUEIF (72:80) = X'FF4040404040404040'         
    INTO TABLE PTI.PTPA_ES_RULES_1200 
...                
  
Change to:
 
.ALLOC FI(SYSDISC) DA('HLQ.TEMP1.SYSDISC')+ 
  MOD CATALOG UNIT(3390) SPACE(10,10) CYL RLSE         
.ALLOC FI(SYSERR) DA('HLQ.TEMP1.SYSERR')+   
  MOD CATALOG UNIT(3390) SPACE(10,10) CYL RLSE         
.ALLOC FI(SYSMAP) DA('HLQ.TEMP1.SYSMAP')+   
  MOD CATALOG UNIT(3390) SPACE(10,10) CYL RLSE         
.DATA                                                  
  LOAD DATA INDDN PTILOAD RESUME YES LOG YES           
    SORTDEVT 3390                                      
    CONTINUEIF (72:80) = X'FF4040404040404040'         
    INTO TABLE PTI.PTPA_ES_RULES_1200 
... 
   
Then submit the SSID0800 Job and there should not be the 'NOT RECTLGD 2' message and SSID0800 Job will finish with RC=00.