Background:
Suppose we have a Bex query with hierarchy node variable for a characteristic(like Profit Center) in the filter screen.
We have a Webi report(BO 3.x) created on the Universe on top of this Bex query.
Now in order to view the hierarchy node values for the characteristic in the prompt window of Webi report, we need to either have the same characteristic(in this case Profit Center) in the rows or in the Free characteristics restricted with the same hierarchy.
If we do not restrict the characteristic to the hierarchy in the Bex query, then we would get an error ( "A database error occurred. The database error text is: (WIS 10901)" ) while selecting values for the hierarchy node variable in the prompt window of the Webi report.
Below are the steps that reproduce the error:
BEX Query:
We have a hierarchy node variable on Profit Center(0PROFIT_CTR) in the filters:
However 0PROFIT_CTR is displayed as Key and Text in the query.
When we execute the query in Bex Analyzer, we see a hierarchy selection for Profit Center.
Limitation:
The above requirement does not work in Webi unless the characteristic on which you have a hierarchy node variable is also restricted on the same hierarchy.
We have created a Universe on top of the OLAP query (Bex query).
We have based a Webi report on top of the Universe.
Webi Report:
When you execute the Webi query and click on the Refresh Data button, you get the following error while refreshing the LOVs for the prompt Profit Center.
Possible Solutions:
Solution A:
- Create a new Z* object with Reference characteristic as 0PROFIT_CTR.
- Add this Z* object in the Infoprovider on which your Bex query will be based.
- Map it with the 0PROFIT_CTR infoobject coming from the source.
- So now you have 2 objects mapped to 0PROFIT_CTR coming from the source:
0PROFIT_CTR and Z* object. - In the Bex query, create a hierarchy node variable on the Z* object.
- Display 0PROFIT_CTR as Key and Text in the query.
Solution B:
- Create a new Z* object with Reference characteristic as 0PROFIT_CTR.
- Add this Z* object as a navigational attribute of 0PROFIT_CTR master data.
- In the transfer rules (or transformation) between the Datasource 0PROFIT_CTR_ATTR and master data 0PROFIT_CTR, map this to the same ECC field (PRCTR) to which 0PROFIT_CTR is mapped.
- Now in the Bex query you will have both the infoobjects 0PROFIT_CTR and Z* object.
- Create a hierarchy node variable on the Z* object in the Bex query.
- Display 0PROFIT_CTR as Key and Text in the query.
Using any one of the above mentioned solutions, we can have the hierarchy node variable used in the Bex query work for the Webi report without having to restrict the characteristic on the hierarchy itself.
Hope that this blog proves helpful !!