DBXCPLS IBM0537S ONCODE=8097

Document ID : KB000052345
Last Modified Date : 14/02/2018
Show Technical Document Details

Description:

Executing the entity collapse program DBXCLPS abends with a IBM0537S ONCODE=8097.
Traceback of user routines is as follows

       -
       Entry                Statement Number
       BUILD_DISPLAY_ARRAY     1557 
       DBXMSGS                  524 
       DISPLAY_MESSAGE         2362 
       CHECK_SQL               2386 
       UPDATE_ENTITY_TABLE     2287 
       UPDATE_OBJECTS          1664 
       DBXCLPS                  979 
       
     IBM0537S ONCODE=8097 Data exception

Solution:

This abend occurs while attempting to update the ent-id column in the DBX_WORKSTATION_D table because there is a foreign key on the DBX_WKSN_XREF table.
internally, the SQL Error received is as follows

   *
   DSNT408I SQLCODE = -531, ERROR: PARENT KEY IN A PARENT ROW CANNOT BE UPDATED
   BECAUSE IT HAS ONE OR MORE DEPENDENT ROWS IN RELATIONSHIP WKSN$ID 
   *
   The foreign key will need to be dropped before you run DBXCLPS 
   - 
   ALTER TABLE repowner.DBX_WKSN_XREF 
   DROP FOREIGN KEY WKSN$ID; 
   COMMIT; 
   - 
   Then rerun DBXCLPS 
   - 
   Dropping the key will place the tablespace 'DBXWKSNX' in check pending. 
   It will need to be started 
   - 
   Then Recreate the Foreign Key as follows 
   - 
   ALTER TABLE repowner.DBX_WKSN_XREF 
   ADD FOREIGN KEY (WKSN_ID) 
   REFERENCES repowner.DBX_WORKSTATION_D 
   ON DELETE RESTRICT; 
   - 

You may receive a 'warning SQL -541' which can be ignored. It just implies that the constraint name is the same as previously specified.