A so-called Transient Provider is an InfoProvider in BW that is not modeled in the classic sense in BW, but generates its BW InfoProvider metadata (including the infoobjects) out of the metadata of the source. The concept of Transient Provider is new with BW7.30 and as of today there are several types of Transient Providers implemented in BW.
Their biggest advantage is that the metadata in BW is not persisted, but always generated at runtime, i.e. if the source metadata is changed the Transient Provider is adapted automatically. The Transient Provider is therefore especially helpful in ad-hoc and/or frequent changing scenarios.
Basically, there are two ways how you can create TransientProviders based on Hana Models. Either you create an Analytical Index or you use the Hana Model directly in a Hana CompositeProvider (HCPR). With SAP BW 7.4 SPS5 and higher, it is recommended to use the option with the CompositeProviders.
CompositeProvider (HCPR) based on HANA Model
As already mentioned above, with SAP BW 7.4 SPS5 and higher, it is recommended to create CompositeProviders(HCPR) based on Hana Models instead of “publishing” HANA models.
- Transaction: RSRTS_ODP_DIS
- The technical name of this kind of Transient Provider (based on a HANA model) always starts with “2H” followed by the technical name of Package and Calculation View
- On the Characteristics and Key Figures tab pages, you can assign BW InfoObjects to the fields. This means that the transient Infoobjects inherit their Meta- and Masterdata. E.g. the attributes of the referenced InfoObject can be displayed in the query (and also used as navigation attributes). It also means the authorizations on these InfoObjects are taken into account. SIDs are created for any master data values that do not exist in the BW system ! See also Setting 'User Confirmed Referential Integrity'
Important Points you need to take into account when using Hana Models(Calculation Views/CV) in BW(HCPR)
- The HANA Model (Calculation View) should only contain formulas which are commutative (which can be calculated before or after aggregation with the same result) - see note 2360503 and the following Example and General aspects of BW reporting on “complex” HANA models. In addition, the HANA model should contain only one level of aggregations.
- Calculated columns with Exception Aggregations defined in a HANA Model ('Counter') are not known by BW Queries. This, in general, leads to incorrect values for such key figures in query results(see note 2267049). Hence, in case exception aggregations are necessary, they need to be defined in a BW query instead, see the following Example.
- Calculation Views with non-unique joins: As discussed in the KBA 2118286, if there are non-unique joins in a HCPR, the setting Join Cardinality is playing an important role since it has an impact on the performance (and memory consumption) and the result of a query. In case you have such a join in a Calculation View which is used in a HCPR, the BW Analytical Engine does not know the details of the join and hence cannot apply the same mechanism in order to avoid duplicate key figure values(see wiki article mentioned in note 2118286). Therefore, in general a query on such a HCPR may display unexpected (duplicated) values.
- Associated InfoObjects: it is important to check whether the data type of the field really matches the data type of the InfoObject. Incorrect assignments can e.g.lead to wrong query results, see the following Example. See also note 2228967. In addition you need to check whether the characteristic uses a conversion routine like ALPHA. If yes, it must be assured that internal values of the corresponding CV field have the correct format(e.g. leading zeros). Otherwise the query may terminate or display incorrect results, see Example II.
- HCPR based on Hana Model: Handling of Null Values
- Associated InfoObjects: Setting 'User Confirmed Referential Integrity'
- When you use Hana Models as BW providers you need to assure that the view does not deliver characters which are not allowed in BW. See Hana Model delivers characters which are not permitted in BW
- Calculated Columns do not use an implicit type casting when being accessed via the ColumnEngine (standard access via BW). This might lead to unexpected results.
Ensure to explicitly define the expected type to avoid an unexpected behaviour, see the following Example.
- In case there are Analytic Privileges associated with a Hana Model, the user SAPSID needs the corresponding authorization - see Hana Models with associated Analytic Privileges
- In case key figures of type amount contain currencies where the number of decimal places is unqual to the default of 2 (like JPY), please review Decimal Setting in HCPR on HANA View for Amount Values (KBA 2476282).
- In case you want to use BW Pruning or Hana Native Pruning check the following pages: HCPR based on Hana View with Pruning Table and Pruning Example: HCPR based on ADSO and Hana Model
- In case you want to use calculation view from a different HANA DB in multi tenant scenario: create a local calculation view in BW tenant which is based on the view of the other tenant. HCPRs should only contain views from the BW tenant. See also note 2312583.
- If the Hana Calculation View is client dependent, by default only data from the client the user is logged on is retrieved. However, there is a CV setting which also allows a cross-client access. See Example.
- Calculations Views with parameters and variables
- Technically, parameters are added as so called Placeholders to the SQL statement, see Example.
- Parameters with the names keydate, objvers and language are internally used by the Analytic Engine. Therefore, it is not allowed to use these names for parameters in Hana CVs when they are used in a HCPR. See Example.
- Variables of Hana CVs are used to filter attribute columns. Technically, filter values are added to the where clause of the corresponding SQL statement. In the context of a HCPR such variables are ignored (Note 2412735). If variables are required, you need to define the variables in the corresponding BW query. See Example.
- If a CV with a parameter is used in a HCPR, defined default values for this parameter are stored in the meta data buffer of the HCPR. Hence, this means e.g. that it is not possible to use dynamic(e.g. depending on the date) default values for such parameters in BW.
- If a CV uses key figures with aggregations other than SUM,MIN or MAX you get the following warning displayed when defining the HCPR: "Invalid aggregation (e.g.)'AVG' for key figure 'STPE_CNT' RS_HCPR_MODEL063". Since e.g. in BW the aggregation AVG is not supported, such a key figure cannot be used in a consistent way in a HCPR. In principle, it is allowed to use e.g. then aggregation SUM on the HCPR level for this key figure but, in general, this leads to very confusing query results(and hence is not recommended). See Example for further details. So, in general, it is highly recommended to use the same aggregation on CV and HCPR level.
- Warning RS_HCPR_MODEL 89 "Conversion problems possible for source field ../ target field ..": in case you get this warning when checking the HCPR then take a closer look at the data types of the Hana field and the associated InfoObject. E.g. this warning appears when the field has the type VARCHAR 4 and the InfoObject NUMC 4, since this might lead to issues even when the source field only contains integer numbers, see Example.
TransientProviders on Analytical Index based on SAP HANA Models
It is possible to “publish” HANA models (Analytic or Calculation Views, not Attribute Views) as a Transient Provider. To publish a HANA model in BW, you simply execute the transaction RSDD_HM_PUBLISH, select the HANA model (using the F4-help) and then “save”. You then have a Transient Provider with the characteristics coming from the “dimensions” of the HANA model and the keyfigures coming from the “measures”.
- Transactions: RSDD_HM_PUBLISH and RSDD_LTIP (overview of all available analytic indexes)
- The technical name of a Transient Provider based on a HANA model always starts with “@3” followed by the technical name of the Analytical Index
- The InfoObjects are given a generic name following the pattern <Providername>@<column_name/alias>
- On the Characteristics and Key Figures tab pages, you can assign BW InfoObjects to the fields. This means that the transient Infoobjects inherit their Meta- and Masterdata. E.g. the attributes of the referenced InfoObject can be displayed in the query (however, these attributes cannot be used as navigation attributes). It also means the authorizations on these InfoObjects are taken into account. SID are created for any master data values that do not exist in the BW system !
- The Analytic Privileges for the DB user for the HANA model are checked, and, if a BW InfoObject is assigned, the Analysis Authorizations in BW are also checked. If a characteristic of the Transient Provider has both, restrictions based on Analytic Privileges and Analysis Authorizations, the filter conditions are combined via a UNION (i.e. the user must have access either based on the Analytic Privileges or the Analysis Authorizations to see data).
Other Types of TransientProviders
SAP Online Documentation
SAP Consulting Notes
- 2228967 Understanding Automatic Field Assignment in the BW Composite Provider
- 2271658 Design Considerations for Composite Provider
- 2400004 Checking Pushdown of Exception Aggregations
2262899 Transfer Multiple Single Values to HANA Model Input Parameter in a BW Query
- 2603739 Composite Provider: Using input parameter as currency/unit for a keyfigure
2438759 HCPR based on Hana Calculation View: Troubleshooting Guide for Queries