5.12.10

SAP Note 11314 - Deleting defective CDCLS clusters (change docs).

Summary

Symptom

Check program R3check determined that cluster records in table CDCLS (change documents) are no longer readable (also see Note 11140).

Cause and prerequisites

A program error contained in Releases 2.0A-F, which under specific (but rare) circumstances, caused cluster records to be saved incorrectly. As a result, they could no longer be read.

Solution
The R3check program generates an output line for each defective cluster record, which specifies the key of the record in question. This output line has the following format:

CDCLS: aaabbbbbbbbbccccccccccccccccccccccccccccccccccccccccdddddddddd

Where

a.. stands for field MANDANT (3 digits)
b.. stands for field OBJECTCLAS (10 digits)
c.. stands for field OBJECTID (40 digits)
d.. stands for field CHANGENR (10 digits)

The simplest way to delete the involved records is to write the following ABAP program (sample name: DELCDCLS):

-----------------------------------------------------------------------

PROGRAM DELCDCLS.
PARAMETERS: MANDANT LIKE CDCLS-MANDANT,
OBJCLAS LIKE CDCLS-OBJECTCLAS,
OBJID LIKE CDCLS-OBJECTID,
CHANGE LIKE CDCLS-CHANGENR.
EXEC SQL.
DELETE FROM CDCLS WHERE MANDANT = :MANDANT
AND OBJECTCLAS = :OBJCLAS
AND OBJECTID = :OBJID
AND CHANGENR = :CHANGE
ENDEXEC.

-----------------------------------------------------------------------

Execute this program for each cluster record identified as defective by R3check, specifying the involved key values as program parameters

Example:
--------

CDCLS: 001ANLA DE100000000001910000 0000022115

To delete this cluster record, you have to execute program DELCDCLS with the following parameter values:

MANDANT 001
OBJCLAS ANLA
OBJID DE100000000001910000
CHANGE 0000022115


Of course, you can also use database utilities (for example, ORACLE - SQLPLUS) to delete the affected cluster records directly. In this case, you must execute an analog DELETE statement. In the above example, this would appear as follows:

DELETE FROM CDCLS
WHERE MANDANT = '001'
AND OBJECTCLAS = 'ANLA'
AND OBJECTID = 'DE100000000001910000'
AND CHANGENR = '0000022115' ;

No comments:

Post a Comment