Professional Documents
Culture Documents
Version 34
created by prabhith prabhakaran on Jan 25, 2013 6:04 PM, last modified by prabhith prabhakaran on Aug 3, 2014 8:23 AM
Share
92
10
Like
15
Hi All,
There are lot and lot of SAP BW-BO integration projects happening around the world. As
consultants, we always face some or the other issues while integrating these tools.
Here, I am trying to share some points that I have observed while integrating the BW Bex queries
with BO Webi.
Applies to:
BW 7.3SP4 and BO4.0SP4
Author: Prabhith Prabhakaran
Author Bio:
Prabhith is a Senior SAP BW-BOBJ Consultant with more than six years of relevant experience.
His area of expertise includes BW, BODS, BOBJ and HANA.
Points:
1) Before delivering a query, ensure that Allow external access to this query option is checked in.
Otherwise, BO team wont be able to access the Bex query.
2) In performance point of view, its better to go with the second option 'X'.The first option "Query to
read all data at once" reads all data at once does which include all free characteristic and for sure
that means that in most cases you will ask for more data than what is actualy needed.
In case of where hierarchy elements are available, we can go ahead with the option H.
3) Avoid creating query elements with SUMGT, SUMCT, SUMRT etc in the calculations. Its
observed that when we allow the external access to such queries which have SUMCT, SUMGT etc,
we cannot save the queries and they are throwing errors like cannot be released for OLEDB for
OLAP.
4) Avoid giving conditions like Top5 in BW queries. Conditions are not working properly in BO. They
have the ranking option which is quite similar to conditions in BW.
5) For performance improvements, try providing variables in BW queries itself, so that creating the
variables (prompts) in BO can be avoided.The general rule is that any prompt or filter should be
defined in the BW query and not in the Web Intelligence query panel. This helps improving the webi
report performance.
6) For large sets of data, use selection of structure members option in RSRT query properties in
BW side.Checking this property helps improve performance in situations where there are many
Restricted Key Figures and other calculations in the Query Definition.Checking this ensures the
structure elements are sent to the database for processing.
7) Wherever the requirement is to give multiple values in prompt, its better to provide the option
Several Single Values.
Avoid providing selection option.BO recognizes this as an interval. It will show the display screen as
below in BO(with Start value and End value),which would cause lot of confusions to the BO
Consultants.
8) Calculated Key Figures containing mathematical functions should be avoided. Its giving some
errors in BO.
9) In case if you are forced to give exception aggregation in query, kindly inform the BO team about
the reference characteristic that is used for exception aggregation. In case if they ignore the
reference characteristic, they are getting the #UNAVAILABLE error.
10) In case if you have more elements in the query designer which were used only for the calculation
purpose, keep them always hide.
Elements having the property Hide (can be show) is visible in the BO environment. If we give that
option for the case like below, where we have 2 elements with the same text like CMBO VALUE, it
will be shown as CMBO Value and CMBO Value1 in BO side.
11) Whenever the BW query is delivered to the BO Team, kindly ensure that you give a screenshot
of the BEx query output. If possible, a screenshot showing the data in the underlying infoprovider
also (with the same filter that was given in Bex).This will serve 3 purposes:
1) We have evidence that the Query was working fine at the time of delivery.
2) The screen shot can be used as a test case.
3) BO team doesnt have to spend their time in finding actual filter values which has data
in the underlying dataprovider.
12) Never create Text Variables with Replacement Path in BW, as it wont work as expected in the
BO side..
As a test scenario, the following text variables were created in BW:
Default value for variable is current Cal month which is 01.2013. As expected, entry when changed
in the BW variable will make the corresponding changes in the output column headings aswell.
But when the same query was taken to BO, the default value 01.2013 is coming along with text of
the measure(Left pane). Even after refreshing the Webi document, the default value is not changing
in the column headers and the data is also not populating correctly.
The following result appeared in BO, even after the prompt was changed to 10.2011 after editing
the default value 01.2013
13) When we build the corresponding Query for a dashboard requirement like the following,
For bringing the region here, we would have used the BW object 0CUST_SALES__0SALES_OFF
whose actual text would have been something like sales office.But while creating the query, ensure
that you change the text from sales office to Region(as mentioned in the dashboard requirement
document) so that the BO consultant doesnt have any confusion while creating/merging in WEBI.
14) Try to restrict the query result set by applying the global filters wherever possible so that huge
20) As a best practise, the BW queries should be created on top of the Mullti provider and the same
mulitiprovider can be used in BO IDT or CMC for cretaing the BICS connection,in case if the query
BO guys will do the =Round() function in their side to achieve the desired results.
24) If possible, try to avoid giving the Keyfigures directly from Cube/Multi Provider in the Bex Query,
Instead try to give them in the form of selection/RKF/Formula or CKF. This gives the BW user more
flexibility in changing the underlying logics(if required) at a later stage also, even if the BO
development is completely done.BO will always refer the Bex query elements using the GUID's
generated. GUID will not be affected even if you make some logic changes with in
selection/RKF/Formula or CKF.
25) The 'Access type for Result Values' option in Bex query Properties will not work in BO side.
26) If the requirement is to find the cumulative values, It's always better to perform it in the BO side.
Though we have the 'Cumulated' option available in Bex, its observed that those Key figures where
you are giving 'cumulated' option gets missed out when you create the corresponding Webi.
For Example: Cumm.Billing Quantity measure created in Bex is missing in the Webi.
PS: a) Cumulated option might not give the values correctly in Bex, if their is a Null value or a unit
change in the Keyfigure. In the below example, Billing qty cumulation was working fine till a unit
change(from EA to L) happened.
28) There might be situations in Bex where the formula might yield 'X' in the report, but it will result
in 'Out Of Range' error in BO. We can use 'NOERR' function in Bex wherein the X will be changed to
0 and thereby the BO error is completely solved.
29) Similar to what we have Key and Text in BW, BO also have some similar options called Caption
and Unique names. But in certain cases, even if you select only Caption with the intention of seeing
only description , Webi will show you both caption and unique names(technical names) like below:
The underlying Bex query for the above Webi report is as follows:
If you observe the above bex query, you can notice that certain objects with technical
names0MATERIAL and 0MAT_SALES has the same description Material and this similarity in
description is the reason why Webi was behaving differently.
So whenever you create a bex query, ensure that you have not used same description for 2 objects
which are having different technical names.
30) Suppose, we have a requirement in dashboard wherein we need to show fiscal year period as a
drop down in a chart, the underling BW query would be in such a way that the fiscal year period will
be available in rows.When the BO consultant use this query for creating a Webi report for the
dashboard, he would be trying to sort the fiscal year period. Unfortunately the tool wont understand
the year change scenarios and the sorting would yield the result like below (mixed up):
So, as a best practise, try to ensure that you provide fiscal year and if possible,posting period also
along with the Fiscal year period in the Bex query. This point needs to be kept in mind at the time of
BW modelling part itself. Further the BO consultant can drag in the fiscal year and do a sorting on
that as well as the Fiscal year period key so that the sorting order is obtained as expected(see
below screenshot)
31) Please be aware that the negative Key figures in BW would sometimes be shown within
brackets(without -ive sign) in BO side(as shown in the below screenshots)(as the BO developer
would have used the custom format option). This awareness would be very useful when you create
some variables in BO which includes some addition or subtraction operations with such
measures.There is a high possibility that your variable result would bring some different figures than
what we expected, if not properly taken care off.
32) In rare cases, its observed that sorting in Ascending or Descending order behaves strangely in
Webi side causing problems in meeting the exact requirements. In such cases, you can depend on
the similar option that we have in BW, while creating the Bex query. This option would be handy in
cases where you need to sort the fiscal year period key and all.
33) If a multiprovider doesn't contain any Bex queries on top of that, its observed that such
multiproviders will not be shown in the BICS connection.So its mandatory that you build atleast one
query on top of the multiprovider to expose it in BO(seen this in BO4.1 also)
34) Performance Hints
a) If a Bex query contains Hierarchies, don't forget "supress unassigned nodes" in RSH1(Tcode) in
BW side.
b) In BO side, enable "Query Stripping" in webi Query Panel and in report design mode - Document
Properties.
This feature optimizes the query to fetch only data which will be dragged on to the report for user
display thus increases the performance and faster display of the report for the user.
c) Where possible, define calculated and restricted key figures on the InfoCube instead of locally in
the query.
d) When using restricted key figures, filters or sel)ections, try to avoid the exclusion option if
possible. Only characteristics in the inclusion can use database indexes. Characteristics in the
exclusion cannot use indexes. With selections it is better to include than exclude characteristic
values.
e) The setting Result Rows for each characteristic the in BEx query should be set to Always
Suppress. Web Intelligence does not use the Results Rows and performance will improve if this
option is set.
f) Time characteristics should be restricted, ideally to the current characteristic value.
Move time restrictions to a global filter whenever possible.
g) Check code for all exit variables used in a report to make sure it is optimized and functioning.(in BW side )
h) Reduce the data volume selected by introducing many mandatory variables.(in BW side)
i) Define only those characteristics as navigational attributes, which there is a business requirement for; navigational
attributes need additional table joins at query runtime
Even though Web Intelligence does not distinguish between a normal characteristic and a navigational attribute, on the BW
system there is still an impact on performance, when Web Intelligence reports are running on BEx Queries with navigational
attributes.
New releases like 4.1 would certainly washout many of the existing limitations pertaining to this integration and it will also
enhance the power of BO tools where the source would be SAP BW.....
Related Documents:
1) Implementing Bex Data Functions in WEBI:
Implementing the BEx Data Function in WEBi Report
2) Performance optimization for WEBI reports based on BEX:
Performance Optimization for Webi Report based on BW BEx Queries
3) Best practices for BO4.0 in combination with Netweaver:
Best Practices for SAP BusinessObjects 4.0 in Combination with SAP NetWeaver
%20blogs&source=web&cd=10&cad=rja&ved=0CGkQFjAJ&url=http%3A%2F%2Fwww.pieterverstraeten.com%2Fblog%2F%3Fdownlo
to-create-connections-in-bi4.0.pdf&ei=VUszUejkL4OKrgeCn4CoAg&usg=AFQjCNETrRa74QhxolhCv8BsZZhhcQIIcQ&bvm=bv.43148975,d.bmk
b) 1764607 - Configuring the number of levels for a hierarchical report in SAP BusinessObjects BI 4
c) 1749171 - Performance: BICS_PROV_GET_MEMBERS reduction
d)
1399044 - Why do I need XI 3.1 / SP2 / FP2.5 or SP3 and NW BI 7.0 EHP1 both for webi. XI 3.1 and BEX?
i)
j)
k)
1260238 - Decimal places cut during Webi Infoview refresh when reporting off SAP BW Bex
l)
1406146 - BW Qty KF with significant decimal numbers gets rounded to integer in Webi (decimals dropped)
m) 1447838 - Hierarchies on Characteristic InfoObject extracted from ERP to BW gives 'Error on
NumResultCols WIS 10901' when prompt level are expanded in Webi.
n)
o)
p)
r)
1895216 - BI4.0 "Cannot retrieve dimension from cube." while trying to create a Webi report on
Bex query with an Offset and restriction on Fiscal Year Variant.
s)
t)
u)
v)
when getting LOV for UOM variable (BEx variable of conversion type to select a unit of measure)
1741829 - Error in case of RRI jump and invalid selections
w)
1733328 - ABEND RSBOLAP (000) Program error when refreshing Webi Report
x) 1649310 - In BI4.0 "Cannot retrieve dimensions from cube <cubename> (WIS 00000)" error is raised when trying to
create a Webi report on a BEX query that contains Text Variables in members of a keyfigure structure
http://scn.sap.com/thread/3306722
b)
c)
d)
e)
Workarounds for the issue where BICS Connections to SAP BW are not getting released ?
http://scn.sap.com/thread/3381436
http://scn.sap.com/thread/3426559
http://scn.sap.com/thread/3309546
http://scn.sap.com/docs/DOC-47284
f)
g)
h)
http://scn.sap.com/thread/2107986
http://scn.sap.com/thread/2086716
http://scn.sap.com/message/14542516