Got the following issue. Due to our model we have a selective deletion on one of our cubes every weekend. This cube is also loaded into the BWA.
For maintenance purposes we need a process chain which, after the selective deletion:
1. Deletes the active index on the BWA
2. Recreates the Index
3. Fill the index and activate it
I saw the following ABAP programs which might be applicable (also mentioned in other posts):
RSDDTREX_INDEX_DELETE Delete index
RSDDTREX_AGGREGATES_FILL Fill the BIA index
But for recreating the index i'm lost:
RSDDTREX_ALL_INDEX_REBUILD - Deletes, Rebuilds and Then Fills All Active BIA Indexes in System
Is really too much ...
RSDDTREX_BIA_ACTIVATE_FILL Activate and Fill BIA Indexes for Multiple InfoCubes
gives short dumps ...
Has anyone an idea of been struggling with the same issue?
I searched a bit further on OSS and found OSS Note 1034928 - BIA index and selective deletion.
I will try this solution tomorrow to see if the described behavior really works:
As the BIA is built differently from a database, the system automatically deletes a BIA index for an InfoCube when you selectively delete data from an InfoCube. You cannot remove individual records from a BIA index.
After you implement this note, the system automatically rebuilds the BIA index in the background after you selectively delete records. If you use transaction RSA1 or DELETE_FACTS to selectively delete records and a BIA index already exists for an InfoCube, then parameter "Rebuild BIA index" appears under the "BIA options". The system sets this parameter by default.
If you start to selectively delete records, the system deletes the BIA index and after the data is deleted from the InfoCube it rebuilds and refills the BIA index in a batch process.
It should work automatically ;-). If anyone has experience with this behavior, or also build a process chain to get the deletion/recreation of the BWA index done please feel free to share your thoughts/experiences.
Try these programs for recreating index
RSDDTREX_ALL_INDEX_REBUILD Deletes, Rebuilds and Then Fills All Active BIA Indexes in System
RSDDTREX_BVIP_CREATE BIA Index as VIP Cache Object: Properties
RSDDTREX_SHADOWINDEX_CREATE Create Shadow Index (Duplicate) for Existing BIA INDEX
Edited by: Santhosh Nagaraj on Nov 4, 2009 1:11 AM
Hi Santhosh. Sorry, but these programs serve different purposes:
RSDDTREX_BVIP_CREATE BIA is a program for TREX cache for Virtual InfoProviders,
RSDDTREX_SHADOWINDEX_CREATE is a debugging program to create a copy of existing index in BWA itself.
The step you need in Process Chain to create and fill index is already available in Process Types, so you do not need to use ABAP program for that. You just need to use ABAP program to delete existing index.
Use the programs in the sequence below in your process chain:
Step 1: RSDDTREX_INDEX_DELETE ( to delete the BWA indexes of that cube by specifying the variant as the cube name)
Step 2: Use your program for selective deletion.
Step 3: Use the process type " Initial Activation and Filling of BWA indexes" for creating and filling BWA indexes of this cube by specifying the variant as the cube name.
We have been using this chain since quite some time now and it is a very robust method.
May I ask the use of the Step 1: RSDDTREX_INDEX_DELETE?
I am really confused on the use of this ABAP - RSDDTREX_INDEX_DELETE in BWA.
Is it required to use this ABAP for cubes which is regularly deleted? Or it is not required?
Kindly help me understand the ABAP's use, please?
The "deletions" you are referring to are the selective deletions? Does this differ from regularly deleting the entire Cube contents?
Another question, please?
From your expertise in BWA, the proper way to process Cubes with BWA is:
1. BWA index delete using RSDDTREX_INDEX_DELETE
2. Delete Cube Index
3. Delete Cube contents or selective deletion
4. Load data to Cube
5. Create Cube Index
6. Initial fill of BWA index
Did I get you correctly, Vikram?
Focusing on the RSDDTREX_INDEX_DELETE and the best practice in implementating BWA, the ABAP should be the first step or I can switch steps 1 and 2?
I am trying to also get the best practice to utilize BWA blade servers (that it won't experience blade overloads).
Thank you for giving time,
Hi Vikram and Experts,
Can you please answer below question, thanks in advance.
Often we delete index first and then do selective deletion and then again rebuilding of indexes.
But my question is if we selectively delete the data from an infocube and then without rebuilding of indexes if we are running the report then, will we be able to see the data (which we have already deleted from infocube) as indexes are not rebuilded.
Expecting a reply on this.