Today i would like to discuss how we can Consume SAP HANA Models in SAP BW using Transient Provider
To create a transient provider based on HANA Model: run the transaction RSDD_HM_PUBLISH.
After that we will see the below screen:
We will select the package and HANA Model that we want to consume in BW.
We can select model from any of the schemas present in HANA database.
Then we will click on create button and it will create an Analytic Index.
The system uses HANA model name to generate the name for the analytic index it is creating.
After this select OK and then we will get the following screen:
BW system reads the HANA model structure and then creates a structure for the Analytic Index.
The name of generated Transient Provider is @3[AnalyticIndexName]
As seen in the Properties tab here our transient provider name is @3ESALES.
Now we will assign our transient provider to an InfoArea
Remember one thing that the Transient Provider will not be visible in the BW Administrators workbench (RSA1), therefore it is not possible to combine it with any other InfoProviders like Multi Provider or Hybrid Provider except for Composite Provider.
Now, if we go to Characteristics tab we will get the following Screen:
And on going to the Key Figures tab, we will see the following screen
As seen above Transient InfoObjects are automatically generated for the fields present in HANA model.
Now if we want we can assign Reference InfoObjects to any of these Transient InfoObjects or to all Transient Objects.
Then this transient InfoObject can have a reference to a real InfoObject and thus it can inherit its Metadata as well as Master data (like description, texts, display properties, display attributes and hierarchies).
The metadata of the InfoObjects that is in the flat view is converted to a multidimensional view. The attributes of these referenced InfoObjects are then displayed in the query. However, these attributes cannot be used as navigation attributes.
Remember that if we are using Reference InfoObject then SAP HANA model data types and InfoObject data types should match otherwise no data will be displayed.
Now Save the model.
Thus, A Transient Provider is an InfoProvider on which a we can execute BEx query without the need for the InfoProvider to be modeled in the Data Warehousing Workbench or the data to be replicated.
The modeling is derived from an analytic index. When we activate an analytic index, a Transient Provider is automatically created by the system.
The metadata of a Transient Provider is not saved. This data is generated at runtime.
The name of a Transient Provider is @3[AnalyticIndexName]
Restrictions that are applied while creating HANA based Transient Provider:
- The complete name of the HANA model must not be longer than 63 characters including schema, package name and model name.
- Only Analytic and Calculation Views can be used.
- To publish a HANA Model in BW, the BW user should have full access rights to the model otherwise the model is not displayed for selection.
- Analytic Privileges in HANA Model work as filters and are persisted on both the BW system as well as HANA database.
- The BW database user is always used every time we access the SAP HANA database. The BW database user and the BW user should have 1:1 user mapping, so that the analytic privileges of a BW database user can be mapped to the virtual analysis authorizations of a BW system user.
- At runtime, Virtual analysis authorizations are created using Analytic Privileges mapping and are then suited to the authorizations that the database user has for the schema in the SAP HANA database.
- Only those Analytic Privileges are used where the relevant InfoObjects are flagged as authorization-relevant in BW. An exception is made for the users that have Analysis authorization object “0BI_ALL”. Only the authorizations of the database user are included for these users.
Benefits of HANA based Transient Provider:
- As the metadata of a Transient Provider is not saved and the data is generated at runtime. So, it is suitable for ad-hoc scenarios or for scenarios that are often changed.
- BEx queries that were created on a Transient Provider are automatically adjusted when the Transient Provider is changed. Only queries with complex formulas and restrictions might have to be manually adjusted
Limitations of HANA based Transient Provider:
- No support for Navigational Attributes
- Can combine HANA data with BW Data only in Composite Provider