search cancel

PDA job gets this message: DSNT404I SQLCODE = 100, NOT FOUND:  ROW NOT FOUND FOR FETCH, UPDATE, OR    

book

Article ID: 202746

calendar_today

Updated On:

Products

Database Analyzer for DB2 for z/OS Database Management for DB2 for z/OS - Performance Suite Database Management for DB2 for z/OS - SQL Performance Suite

Issue/Introduction

Why the job ends with sqlcode +100 errors? It says it is about SYSLGRN which don't exists

PDA: Current object or parameter marker values if applicable:                                                   
 19.29.29 J0032985  PDA:  DBID(DI)= N/A , PSID(PI)/ISOBID(II)= N/A , (PA)RT=00000, (IN)STANCE= N/A                                  
 19.29.29 J0032985  PDA:  DB/CR=DSNDB01                                                                                             
 19.29.29 J0032985  PDA:  xS/IX=SYSLGRNG                                                                                            
 19.29.29 J0032985  PDA: DSNT404I SQLCODE = 100, NOT FOUND:  ROW NOT FOUND FOR FETCH, UPDATE, OR                                    
 19.29.29 J0032985  PDA:          DELETE, OR THE RESULT OF A QUERY IS AN EMPTY TABLE            19:29:29                            
 19.29.29 J0032985  PDA: DSNT418I SQLSTATE   = 02000 SQLSTATE RETURN CODE                       19:29:29  

Environment

Release : 20.0

Component : CA Database Analyzer for DB2 for z/OS

Resolution

The SQLCODE-100 can be caused by many reasons, the main one being the  orphaned rows in RTS tables.  Since PDA ignores those objects which are not consistent it's not affecting the JOB return code.

SQLCODE-100 in the RTOS processing in the messages mentions as below:
RTOS VERIFICATION ERROR: A SQLCODE+100 not found condition was returned by DB2 when joining the RTS and DB2 definition catalog tables. One or more of the following values of DB,TS,PA provided by the RTOS Extract condition could not be used to look up details in a DB2 definition catalog table or to look up details in a RTS statistics table. The object is being bypassed.
Also see .CDBASAMP(RTOSESQL) and IBM manuals for DB2 table definitions.

- Orphaned RTS table rows are when the objects referenced in the RTS tables do not exist in the DB2 catalog tables. This could happen if the RTS database or tablespace became unavailable, for example stopped, at the time DROPs took place. This scenario typically shows up as SQL+100s in RTOS processing.
ACTION: Run the SQL in HIGHLVL.CDBASRC(RTSCLNUP)

In addition the above  warning message was also seen in your output relating to
- Processing objects with DBID < 255 these objects typically have special processing requirements and are therefore being bypassed.

Note : SYSLGRNG was renamed to SYSLGRNX, so it may happen you have SYSLGRNX on the SSID but some orphans records for SYSLGRNG in RTS tables.

For more on the subject review CDBASAMP(RTOSESQL) member.