Selective deletion from advanced DSO

Selective deletion from advanced DSO (Advanced Data Store Object).

The ADSO is the new object for storing data, introduced by SAP with the new in memory database HANA. It should replace the old classic Data Store objects and  the InfoCubes and combine their capabilities into one object. There are different settings for ADSO, which can be used based on customer needs. It can be used like the old infocubes or similar to the data store objects and it has also additional options.

With the old InfoCubes and classic DSOs there was one very nice function in the menu Manage>>Content and this was “Selective deletion”.  Selective deletion means to delete specific values and leave the other values unaffected. These values are deleted based on specific selection of the characteristics. For example delete all values for fiscal year 2017 and period 1.

In the menu of advanced DSO there is actually a button Selective deletion. You can find it in the main menu when you already pressed “manage” for the ADSO:

This option is new and gives often errors, so there is an alternative way to perform it.

The selective deletion from advanced DSO can be done with a standard ABAP program. In transaction se38 You need to execute program RSDRD_DELETE_FACTS , select the DSO, enter the selection criteria and execute.

There are 3 options. If You choose “Generate deletion program”, you can give a name and use the program later. On the next screen You can select the parameters of the selective deletion.

There is also a transaction DELETE_FACTS, which uses the same ABAP program for selective deletion form advanced DSO.

The deletion program can be used in process chains too. You can use the option to add ABAP program to the process chain. In the ADSO there is no option to delete the request once it is activated, so the selective deletion stays the only option for removing data.


Check also how to delete in debug mode here.

Leave a Reply

Your email address will not be published. Required fields are marked *

2 × three =