Multidimensional Valuesets Are Not Automatically Updated When Deleting Dimensions Values Over 999 Position - ORA-34706 - ORA-33160 (Doc ID 593323.1)

Last updated on AUGUST 06, 2011

Applies to:

Oracle OLAP - Version: 10.2.0.4 and later   [Release: 10.2 and later ]
Information in this document applies to any platform.

Symptoms

When removing a value, that is located after the 999 position, from a dimension, the multidimensional valuesets defined over that dimension are not automatically updated (the value is not automatically removed from them).
On the other hand, when removing any of the first 999 values from the dimension, the multidimensional valuesets are automatically updated.

- The issue does not reproduce on single-dimensioned valuesets, but only on multidimensional valuesets.
- The issue does not reproduce when deleting dimension values that are within the first 999 values of the dimension, but when deleting anyone above that limit.
- Once the valueset is reset the error will not appear until the next value above 999 position is deleted from the base dimension.


For example:

listnames
2 DIMENSIONs 1 VALUESET
---------------- ----------------
CUST CUST.ORDERVSET
CUST.HIERDIM

dsc cust.ordervset
DEFINE CUST.ORDERVSET VALUESET CUST <CUST.HIERDIM>
LD Stores dimension order for each CUST hierarchy

lmt cust to all

lmt cust.ordervset to all

show statlen(cust)
104,105

show statlen(cust.ordervset)
104,105

export cust.ordervset to eif file 'test.eif'

show statrank(cust '101010')
1,010
show statrank(cust '100050')
50

maintain cust delete '100050'

show statlen(cust)
104,104

show statlen(cust.ordervset)
104,104

So, the valueset was automatically updated removing the value from it too.

maintain cust delete '101010'

show statlen(cust)
104,103

show statlen(cust.ordervset)
104,104

So, the valueset was not automatically updated.

limit cust.ordervset remove '101010'
ERROR: (ORA-34706) 101010 is not a valid CORRUPTDIM1!CUST.

export cust.ordervset to eif file 'test1.eif'
ERROR: (ORA-33160) The CORRUPTDIM1!CUST dimension does not have a
value at position 1009.
ORA-33160: The CORRUPTDIM1!CUST dimension does not have a value
at position 1009.

limit cust.ordervset to all

export cust.ordervset to eif file 'test2.eif'

The error stops occurring after resetting, until a value above 999 position is deleted again.

Cause

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms