Thoughts on hybrid development with BW/4HANA and SAP Hana Calculation Views as generally valid solution pattern on a mid-term time horizon and SAP DS
This article was previously published at blogs.sap.com at
Repeatedly in recent years I have been confronted with the question of how to evaluate “hybrid” development” in BW, i.e. creating virtual models with SAP HANA native Calculation Views built on BW-generated HANA Calculation Views, often with the subsequent use of the custom developments in BW composite providers of the same system. For the following, it is of importance to be aware that BW-generated SAP HANA calculation views are generated in the repository of the “SAP HANA extended application services, classic model”.
I will first list a few references to SAP notes which seem of importance to me in relation with the discussed topic.
The note 2723506 – External SAP HANA SQL View with SAP BW/4HANA 2.0 introduces the “new” “External SAP HANA SQL view” (in short the “8-view”, watch out for using the exact terminology) and describes the functionality with more detail and thus solves the issue of a lack of support as described in 1682131 – SAP BW tables in SAP HANA Information Views and ABAP CDS Views not supported which declares that building SAP HANA Calculation views and CDS Views directly on top of BW-generated objects is “unsupported”, even it might be technically possible.
One additional aspects is, as there is no 8-view for another other persistency apart of ADSO objects, there is the question of what to do with BW characteristics in virtual modelling outside of BW, if one wants to be formally correct.
Recommended by LinkedIn
And some more details about the 8-view: The definition of the 8-view doesn’t include the joins to the master data objects as it was included in the BW-generated SAP HANA views for ADSOs or other objects. Furthermore, no BW authorizations are checked when being accessed.
Further addition: At the moment I don’t know of any extension of the functionality of TX SCTS_HTA for transporting HDI objects out of ABAP AS, which was for some an acceptable solution to integrate SAP HANA classic native developments in the existing ALM procedures. For HDI containers looks different and one might probably want to have to look for an integration between ABAP AS CTS, Git and HDI here. At this point, please take note of the “ABAP-managed HDI container, which is described here (link from the SAP HANA Development User guide):
Another options could be gCTS, which can create compatibilities with the git approach for HDI-based developments.
With the above, I think it becomes apparent that consistent, large-scale hybrid development in BW can be suffer both technical and support effects that should be addressed early or maybe even avoided.
Some reasons and precautionary measures are:
With the above I came to the conclusion that a consistent creation of virtual and/or partial and/or distributed virtual data models is only given in SAP Data Warehouse Cloud. However, this requires a different knowledge of modelling, deeper understanding of native SAP HANA core and integration technologies as well as performance monitoring and tuning. It is of great importance to know your data sources and integration technologies in detail, if you want to model in data storage and compute optimized virtual way.
For BW/4HANA I personally would initially tend to resolve everything with BW means. Developers can address in HANA transformations a lot of HANA native functionality including HANA native SQL and SQL functions. You might reduce persistencies in the middle but having a solid persistency close to the end users will guarantee you for most cases good and stable response times.
PS:
If you are using the external SQL view, please have a look at SAP Note 3198229 – “ADSO: Unnecessary CASTs in external SQL view”, too.
SAP Consultant with 14+ years of experience in BW, BW4HANA , BW-IP , HANA , Embedded BPC
2yFor BW/4HANA I personally would initially tend to resolve everything with BW means. Developers can address in HANA transformations a lot of HANA native functionality including HANA native SQL and SQL functions. You might reduce persistencies in the middle but having a solid persistency close to the end users will guarantee you for most cases good and stable response times.- Does this mean using lesser calculation view based modeling and instead using more of the AMDP based transformations to make the data processing faster and harness the power of HANA ?