Why do I get RC 02(052) on deleted tables in my RETIX?
search cancel

Why do I get RC 02(052) on deleted tables in my RETIX?

book

Article ID: 15304

calendar_today

Updated On:

Products

Datacom Datacom/DB Datacom/AD

Issue/Introduction

Para la versión en español, consulte el artículo 15206.

When making changes to the structure of a database, part of the process involves updating the database catalog (called the CXX) with the new definitions. The CXX is used by many utilities - e.g. BACKUP, EXTRACT, RETIX, REPORT, and others - to serially process all the tables and areas within a particular database.

Tables are occasionally deleted from a database, and even when the new database definition is cataloged, these deleted tables are kept in the CXX to allow backup processing against these tables if needed.

When running a RETIX to rebuild a database index after changing the database, why do I receive a RC 02(052) on tables that have been deleted?

Environment

z/OS

Resolution

If you look at a CXX report for the database being processed, you might see a listing like this for the tables/areas that have been deleted (lines have been shortened to fit here):

Base:   333         ************************************************ Directory: MYMUFCXX
TABLE NAME - ABC                        AREA NAME  - ABC                      *HISTORY*
OCCURRENCE - TABLE-ABC      P006        OCCURRENCE - AREA-ABC               P006
TABLE ID   -     45                     AREA SQLNAME -
RECORD LENGTH    -    164 /    176      BLOCK LENGTH      -       4,096     SLACK -    0

If you look to the far right, you will see *HISTORY* on the line with the table/area name. This means that these tables were deleted from the latest catalog of this database, and the History version is kept here in case you need to run BACKUP or EXTRACT against those tables.

If you have completed processing or do not need to further reference these deleted tables, you should remove them from the CXX. This is done by running a DBUTLTY job with the CXXMAINT function - one for each table you want to delete from the CXX. Your input might look like the sample below, which has an optional CXX report before and after so that you can see the change.

//SYSIN     DD  *
 REPORT   DBID=333,AREA=CXX
 CXXMAINT DBID=333,OPTION=DELETE,TABLE=ABC
 CXXMAINT DBID=333,OPTION=DELETE,TABLE=DEF
 REPORT   DBID=333,AREA=CXX
/*

Once these entries have been removed from the CXX, you should be able to run your RETIX or other database commands successfully. If you previously ran a DBUTLTY function that failed, you may need to add a RESET DBID=###,AREA=CXX function at the beginning of this input to prevent an RC 46 error. 

Additional Information

For more information about deleting tables or databases, please refer to Deleting Databases from our documentation.

For more information about the CXXMAINT DELETE function, please refer to CXXMAINT DELETE (Delete CXX Definitions),  also from our documentation. Note that for version 15.1, an enhancement was released that will allow an obsoleted table to be deleted from the CXX while the base is open. Please see the CXXMAINT DELETEOP option for details.

As always, please contact Broadcom Support for Datacom if you have further questions.