Here first I am providing problem which leads me to write this blog and explain details further how to analyse issue.
I have a issue with few Materials and there Navigational attributes, where I am unable to get transaction data(Sales Order Details) with respected to Material and its navigational attr.
Although I have data for specific Material in my Infocube , still I am unable to view data at Query level.
Then I investigated the issue by doing reverse engineering as – checking whether I have any filters at global level of query or conditions or suppress 0 value records at Bex level. Still no clue 😐 .
Then further checked the data at Multiprovider and Infocube level using Transaction LISTCUBE.
Here I find out that I am unable to get records if I see data by displaying/ enabling navigational attribute (Material Group) of Material.
Here I took test data as 2 materials: A*01 AND J*01.
If I cross check same data with only Material and without enabling Navigational attr at LICSTCUBE , I am able to see data.
Then I came know that this issue belongs to Mater data inconsistency and this drives me to check Mater Data tables of 0MATERIAL.
I am able to see SIDs for both materials A*01 AND J*01 in SID table /BI0/SMATERIAL & /BI0/PMATERIAL and same SIDs are not available in /BI0/XMATERIAL (SID table for time independent Nav attr table) for Material – J*01.
This makes clear point that records are missing in /BI0/XMATERIAL – SID table for time independent Nav attr table.
Because of this Infocube is unable to pick master data value form X table and same leads to missing record in IC.
Lets me tell you why IC doesn’t have data for Material J*01. ➕
In Dimension table of Material – /BIC/DC_SD_C034 – Dim ID 102 having SID 40 .
If you are viewing data for just 0MATERIAL without Navigation attribute, then system will pick value for SID 40 from P table and you will able to see data in Infocube .
If you are viewing data for 0MATERIAL along with Navigation attribute 0MATL_GROUP, then system will pick value for SID 40 from X table. As X table doesn’t have SID 40 and system can’t pull data for Material A*01 and finally you will miss that record in Infocube.
To rectify the issue I went to check the consistency of data between Master data tables (X table and Y table) with the help of Transaction RSRV.
RSRV is useful transaction in BW to validate inconsistencies in master data and Transaction Data tables and simultaneously we can Repair or correct those inconsistencies also. ℹ
Regarding discussing issue , as it is related to inconsistency in mater data tables- here I went to use Repair option called SID values in X and Y tables.
After executing above function, system has given clear error messages and explained the reason for inconsistency.
This helps to conclude the unexpected behaviour of few master data records in X table and need to Repair those records.
To repair inconsistency use Correct Error option at Right Top of Screen.
Continue with Yes option.
System provides details as – The following tables of 0MATERIAL must be reconstructed. Here X table is required to reconstruct.
Proceed with Yes option.
Now I validated the data in master data tables which I repaired.
Here we are able to see values for materials A*01 AND J*01 in /BI0/XMATERIAL table.
Finally, we are able to find desired data in Infocube.
Thanks for reading this article and hope it helps you 🙂 .