CA Datacom DDUPDATE error DDPST10001

book

Article ID: 109750

calendar_today

Updated On:

Products

CA Datacom - DB CA Datacom CA Datacom - AD CA Datacom - Server CA CIS CA Common Services for z/OS CA 90s Services CA Database Management Solutions for DB2 for z/OS CA Common Product Services Component CA Common Services CA Datacom/AD CA ecoMeter Server Component FOC CA Easytrieve Report Generator for Common Services CA Infocai Maintenance CA IPC Unicenter CA-JCLCheck Common Component CA Mainframe VM Product Manager CA Chorus Software Manager CA On Demand Portal CA Service Desk Manager - Unified Self Service CA PAM Client for Linux for zSeries CA Mainframe Connector for Linux on System z CA Graphical Management Interface CA Web Administrator for Top Secret CA CA- Xpertware

Issue/Introduction

Running DDUPDATE to update datadictionary getting error message

DDPST10001 SQL REQUIRES LOGGING AND RECOVERY

This can happen running DDUPDATE with member SDCTRNS or when upgrading from release 12.0 to 14.0 in job BDUPG07 or to 15.0/15.1 in job BDUPG06.

Cause

For any table that has the SQL-INTENT = Y  attribute defined, the LOGGING and RECOVERY attributes must also  be Y. 

Environment

Release:
Component: DB

Resolution

To correct the table getting the error, run DDUPDATE with:

-UPD TABLE,table_name(PROD,DD,PRIV)
1500 LOGGING,Y
1500 RECOVERY,Y
​-END

There may be more tables that need to be corrected than the one that got the error.
To find out if other table entities have the same problem run the following DQL query via DQRY in CICS (or via DQBATCH ):

FIND ALL AGGREGATE WITH SQL-INTENT = 'Y' AND STATUS = 'P' AND   
(LOGGING = 'N' OR RECOVERY = 'N' )   
PRINT ENTITY-NAME   
   ENTITY-VER   
   DATABASE-ID   
   LOGGING   
   RECOVERY 
 

The ENTITY-NAME is the name of the table which needs to be changed . 
Since for any table that has SQL-INTENT = Y the LOGGING and RECOVERY attributes must also be Y, the query can be modified to do a mass update:

UPDATE ALL AGGREGATE WITH SQL-INTENT = 'Y' AND STATUS = 'P'   
SET LOGGING = 'Y'   
SET RECOVERY = 'Y'


Run these two requests once for STATUS = 'P' and then also for STATUS = 'T' 

CA Datadictionary tables can only be updated via Dataquery online and in DQL mode, not SQL and the proper security authorizations are needed in order to update the tables in database DATA-DICT, DBID 2.
If CA Dataquery is not available, the update needs to be performed for each table via DDUPDATE and the 1500 transactions mentioned above.

After this recatalog the user database structure so that the CXX is in sync with the table definition in Datadictionary.

Then rerun the job from the DDUPDATE step that was getting the error.