This KBA offers troubleshooting steps for BW selective deletion, and technical details about the feature.
How to perform Selective Deletion?
- In transaction RSA1, find the InfoProvider
- Click on "Manage" > Tab "Contents" > Button "Selective" > Button "Deletion Selections"
- Determine your deletion criteria (records to be deleted) > Button "Execute"
- Deletion report will be generated (name of Generated programs always starts with GP)
- Click on button "Start", so Job name BI_INDX* will be triggered
- Once Job BI_INDX* is finished, selective deletion is completed
Transaction DELETE_FACTS or Report RSDRD_DELETE_FACTS
- "Direct deletion": Define deletion criteria, then perform the deletion itself;
- "Generate selection program": Generate a custom report or a GP (if you didn't specify a "Name of report") that receives criteria via manual input, or using variants;
- "Generate deletion program": Generate a custom report or a GP (if you didn't specify a "Name of report") with static criteria deletion. The deletion criteria is specified only once when creating the report. You cannot use variants.
These reports can also be scheduled in background execution, or executed using process chains.
Obs: GP (generated programs) reports are not intended for permanent usage. If you need re-usage of generated reports, create Z/custom report specifying a "Name of report". GP reports might be dropped/deleted without prior notification.
The Deletion phase uses selective deletion to delete data which was copied into NLS/Secondary storage. This way the archived data is removed from BW's database.
How is the Selective Deletion performed?
DELETE statement method
DELETE statement is performed on InfoProvider's table
- BW copies the data that should be kept in InfoProvider into a temporary table
- Then drops the original table
- Finally renames the temporary table accordingly, to replace original table
If the ratio between the records to be deleted and total number of records overcomes a pre-determined threshold, copy and rename is preferable rather than usual DELETE statement.
Why this approach? Copying the data that won't be deleted into a temporary table (using CREATE TABLE ... AS SELECT ...) can be carried out more efficiently than deletion using the DELETE statement, which is one of the most expensive operations.
The default ratio is that triggers copy/rename instead delete statement is 10%. That means more than 10% of total records are going to be deleted. You can adjust parameter BW_SELDEL_PERC_THRES defined in table RSADMIN using report SAP_RSADMIN_MAINTAIN.
Example: If the parameter is set to "50" and 5 of 100 records are deleted (5% is < than 50%), BW deletes using DELETE. If, for instance, 110 records of 200 existing records are deleted (55% is > than 50%), BW deletes using COPY/RENAME.
More details in SAP Note 792435 - Selective deletion: Using temporary tables
SAP NetWeaver BW
How, to, delete, filters, RSA1, DSO, info, object, infoobject, infoProvider, deletions, selection, RAISE_EXCEPTION, SAPLRSDRD, LRSDRDU09, RSDRD_SEL_DELETION, X_MESSAGE, GP, RSDRD, delete_facts, ADSO. , KBA , BW-WHM-DBA-SDEL , Selective deletion , Problem
About this pageThis is a preview of a SAP Knowledge Base Article. Click more to access the full version on SAP for Me (Login required).
Search for additional results
Visit SAP Support Portal's SAP Notes and KBA Search.