Technology Blogs by SAP
Learn how to extend and personalize SAP applications. Follow the SAP technology blog for insights into SAP BTP, ABAP, SAP Analytics Cloud, SAP HANA, and more.
cancel
Showing results for 
Search instead for 
Did you mean: 
FrankRiesner
Product and Topic Expert
Product and Topic Expert

Dear BW enthusiasts!
Virtual access to remote data is one of the key capabilities which was introduced with SAP HANA quite some time ago. Since SAP BW 7.4 on HANA the CompositeProvider and open ODS View represent the data modeling toolset to model these kind data federation scenarios in the SAP BW application.

This blog post will focus on one key feature of the open ODS View (ODSV) which however can lead to performance disadvantages. It is the result of one of my customer engagements and hopefully serves as trigger for future improvements by SAP.

Lets directly jump into the task I was given by my customer, a leading retail organization:

The customer decided to leverage the ODSV as a standard model to integrate remote data normally located in HANA databases of other SAP systems. One of the key reasons in favor of the ODSV they see is that the mapping from fields to BW InfoObjects has only be done once. Later on, this ODSV can be reused in different CompositeProviders and the assignments to the target structure are really easy and fast because you map same InfoObjects and not fields any more.

However, in my case there were several examples available, where the performance was not acceptable, and it turned out that the ODSV was the performance bottleneck. See the example below:

  • SAP S/4HANA data is modelled in a Calculation View on the BW-side
  • If the Calculation View is consumed directly in a HCPR2 in combination of existing ADSO data, the reporting performance is great (about 4 seconds).
  • If the same Calculation View is integrated into an ODSV first and this one is consumed in another HCPR1 (copy of HCPR2) with the same ADSO data, the reporting performance is about 10 times worse, although the queries equal each other (Query1 = Query2). 

My first analysis focused on a SAP note which covers many different aspects of ODSVs: 2198480 (FAQ: BW Open ODS View - Query Execution😞 There in point 3 I found a statement which raised my interest: …built-in conversions usually have an impact on the query runtime…”.

To understand these built-in conversions better, I studied SAP Guide called “How to implement virtual integration of external data with SAP BW powered by SAP HANA” by my dear colleagues Ulrich Christ and Marc Hartz. This paper explains the difference between HCPR and ODSV quite well and in great detail. There I found the following: “…Data types and the exact data format are important, especially when combining external data with BW master or transaction data. BW InfoObjects frequently contain format settings, e.g. the ALPHA conversion exit. Open ODS Views offer such conversions as a service. When external facts are integrated via an Open ODS View with associations to the required InfoObjects, the necessary conversions are automatically generated. It should be noted that the Open ODS framework takes a “conservative” approach, which means that these conversions are always applied even if the source delivers data in the required format.

The paper above also mentions you have to open your data model in SAP GUI tr. RSODSVIEW to understand which conversions are applied to your individual ODSV. There go to tab “Preview for Query” to find a column called “Conv.Rout.” which tells you if a conversion takes place and which one that is.

In my case these were Profit Center, and a few additional customer objects which were associated to BW InfoObjects with an ALPHA conversion exit.  As the customer objects were optional navigation attributes only with a limited cardinality, my focus was the Profit Center. There we had a cardinality of several thousand values in a hierarchy down to the individual retail stores. This attribute was always processed as it was a mandatory input variable before the query result was calculated. So the ODSV built-in ALPHA conversion seems was always processed even though the source was a SAP S/4HANA system which guarantees proper format with leading zeros by default. In one word, this conversion was unnecessary, the data was in the right format already.

Finally, I found the needle in the haystack in SAP note 2104414 (BW Open ODS View: Query Performance and alphanumeric conversion😞 There it says: “…A BW Query on an Open ODS View shows suboptimal performance when applying filters on certain fields. …The field is associated with an InfoObject that has an ALPHA-like conversion routine. Alphanumeric conversions can have a significant impact on query runtime, especially with filtering”. BINGO :-).

The note also provides a solution, because this alphanumeric conversion at query runtime can be suppressed by following RSADMIN-parameter:
Object = 2F<name of Open ODS View>-<fieldname>
Value
 = IS_ALPHANUM

That sounded great and really did its job: After I applied it for the profit center field, the query runtime was equal to the scenario without ODSV (approximately 4 seconds / compared to 40 seconds before).

 Summary
So if you run into performance challenges with ODSV which use associations to BW InfoObjects…

  1. check for applied conversion routines in tr. RSODSVIEW, and
  2. validate the data format in your source to see if the conversion is really required.
  3. Finally, remember that for alphanumeric conversions there is a little RSADMIN-trick to switch them off.
 
Thank you Lars and Sven to repeatedly push me to find the root-cause for these performance issues.
12 Comments
DenizOsoy
Product and Topic Expert
Product and Topic Expert
Hi Frank, thanks for sharing your customer expertise with the community and a good input for product management. Very helpful as always!
klink_daniel
Explorer
Thank you very much for sharing this, frank.riesner1

We were able to identifiy implicitly applied conversion routines which were not required in our system as well. Suppressing them also lead to significant reduction in processing times.

I hope your colleagues will pick this up and integrate the well hidden functionalities in a future version of the BW Modelling Tools in Eclipse.

Best regards,
Daniel
FrankRiesner
Product and Topic Expert
Product and Topic Expert
Hi Daniel,
glad to hear my blog helped you. SAP colleagues where open and try to include this into the next Feature Release, end of this year. Then maybe the BWMT UI will show the applied conversion routines and also provide the option to switch the ALPHA-nummeric conversion off.

Regards, Frank
klink_daniel
Explorer
0 Kudos
Hi Frank,

great news. Thanks for the update.

Best regards,
Daniel
Markus_Ganser
Participant
0 Kudos
Hi Frank,

very good explanation, thanks!!

 

Best regards,
Markus
hasba
Participant
0 Kudos
Very Good Blog thank you for sharing this!

indeed this was always an issue when trying to use hybrid scenarios.

 

best regards

Younes Hasba
0 Kudos
Hello,

can ERP tables only be accessed from a BW calculation view, if ERP is completely S/4 HANA or can SDA connect to a "regular" ECC on HANA DB as well?

In my BW calculation view projection, I can only search in the "myself" BW system.
How can I add other systems here?


Thank you,


Alexander Oertel
FrankRiesner
Product and Topic Expert
Product and Topic Expert
Hi Alexander,

of course you can also connect to an ERP on HANA system with the same approach: Setup a HANA Remote Connection based on SDA/SDI.

Calculation Views can only consume DB objects on the same system, so the Remote Connection needs to be used to create HANA Virtual Tables in a local DB Schema. To do this, open the Remote Connection, drill down to the individual table(s) and select "Create Virtual Table..." from the contect menu.

Hope this helps,

Bye Frank
0 Kudos
Hello Frank,

 

I have a question on how can we utilize input parameters defined on a HANA Calculation view which is been consumed by open ODS view remotely, can you share some insights on this. Does input parameters defined influence the execution plan when an query created on top of ODS View is executed.

Thanks,

karthik
klink_daniel
Explorer
0 Kudos

Hi frank.riesner1,

do you have any update from the product management colleagues?

With the latest BW Modelling Tools I still do not see this functionality.

Thanks,
Daniel

FrankRiesner
Product and Topic Expert
Product and Topic Expert
0 Kudos
Hi Karthik,

thanks for raising this interesting point. There is a clear answer: Open ODS Views cannot process the input parameters of SAP HANA CalcViews. You should integrate those scenarios with a CompositeProvider instead.

Reasons and alternatives are described in SAP note 2142344 - Open ODS views and SAP HANA views with parameters.

KR Frank
FrankRiesner
Product and Topic Expert
Product and Topic Expert
0 Kudos
Hi Daniel - unfortunately there is no update. I think for the time being we will have to live with the RSADMIN parameter solution.

KR Frank