In the older version i.e. BI 7.0, we experience Memory
overflows while deleting the master data. Because system checks for all the
dependencies of the data associated with other InfoProviders in the system. This new tool is available in BI 7.0 (SP 23) as an optional feature. In BW 7.3 it becomes a default option.
I will explain how the new functionality helped
to overcome the above problems with a simple navigation.
1) Go to DWWB (RSA1).
2) Go to Info Object tree and choose “Delete Master
Data” from the context menu of the desired Info Object.
In the present
version of Master data deletion functionality, we find that system checks if
the desired info object has any
dependencies i.e. info object being used in Master data like Hierarchies or in
Transaction data like Info Cubes.
So the system takes huge time to delete and also may lead to
The new functionality looks like as shown below:
We can see four options in this wizard. Let us briefly
discuss each of them.
1) Delete SIDs:
<p>This option is
used to delete the SID values in the /BIC/S<Info object name>.</p>
<p> We can choose if we want to delete the SID’s
also. If we choose to delete SID’s we have to check option “Delete SIDs”. This
will ensure that all SIDs are deleted.</p><p> </p><p>!https://weblogs.sdn.sap.com/weblogs/images/252146487/3d.jpg|height=250|alt=|width=600|src=https://weblogs.sdn.sap.com/weblogs/images/252146487/3d.jpg!</p><p> </p><p>System will pop up a warning, before you delete SIDs as
shown below.</p><p> </p><p>!https://weblogs.sdn.sap.com/weblogs/images/252146487/16d.jpg|height=150|alt=|width=600|src=https://weblogs.sdn.sap.com/weblogs/images/252146487/16d.jpg!</p><p> </p><p>SAP recommends not deleting
SIDs as it may lead to consistencies when reloading the same data.* *</p>
<p>In Older version, before deleting we have
to ensure that the chances or reloading the same characteristics is less. Or
else when we reload the data it may lead to inconsistencies if the where-used
list check performed by the system was not complete.</p>
<p>In the newer version, we can check the usage of
the Master data using “Search Mode” as per our requirement. We have 4 different
search modes which I will be discussing in detail later in the section.</p><p> </p><p>2) Delete Texts:
This option is used
to ensure that Texts are deleted along with the master data of the info object
3) Simulation mode:
When we delete
master data, we have to check if it is used in info cubes, hierarchies before
deleting. As we have to lock these dependent objects for deleting data in
them. So we need a down time to execute
So it would be better if we know what
objects are getting affected beforehand so that we can delete the dependent
data from these targets, thereby reducing the number of locks and proceeding to
deletion of master data.
Simulation mode helps you in do this by
performing a where-used check based on the search mode you have chosen and
display the logs along with cubes or hierarchies in which the info object is
4) Perform the deletion in background:
We know that every
time we try to delete master data, it takes more than 1 dialog process. To
perform in background we have to use Process chain. We can now do the same from
here as shown below.
Now you can choose the scheduling time from
the below screen to trigger the background job. In this case I choose
Now you can monitor the background job using SM37. The job will be created by the user name who created it or choose Application log from the below screen for the same action.
We have 4 search modes, which are used, they are:
1) Only One Usage per value:
0.1. The system performs where-used check and if
it finds a value being used by an InfoProvider then search continues for other values.
0.1. This is the default setting and can be used
if you want to minimize the run time for where-used list check.
On clicking “Start” option, the simulation starts and
you can find the logs as below:
You can see in the logs, the system creates
a where-used table “/BI0/0W00000032 & /BI0/0W00000033” to generate the
where-used list as below and deletes it after the deletion.
It starts a job DEL-D- in background as
we selected background and simulation both. 3 child jobs starting with BIMDCK
are created to compute the where-used list table.
Here you can see the message stating that master data
is deleted in the background as below:
2) One usage per value per Object:
We use this to
know about the usage of master data in all InfoProviders.
The system performs where-used check and if
it finds a value being used by each InfoProvider then search continues for
other values in the InfoProvider.
This mode helps to find out which
InfoProviders, from which we need to delete data first, before we continue to delete
3) One usage is sufficient:
0.1. We use this to
delete the attributes and texts completely from the Info Object.
0.1. If one of the records from master data is
found to be used, the whole process stops saying it is already being used.
4) All usage of All Values:
All usages are searched in all info
providers along with the count (as in earlier functionality). It will provide
us with complete where-used list and takes the maximum run time.
You can see in the logs, the system creates
a where-used table “/BI0/0W00000031” to generate the where-used list as below
and deletes it after the deletion.
In my case I used “Only One Usage per value”* *and scheduled the deletion in
background after comparing the above results. This helped me to identify the
associated dependencies of the data in the other InfoProviders and reduce extra
locks during deletion.
We can use report RSDMDD_DELETE_BATCH for selective deletion from
any Info Object and give the selections using FILTER button. Simulation options can be given in P_SMODE.