12. 2198480 - BW OpenODS View - FAQs
12. 2198480 - BW OpenODS View - FAQs
Symptom
You are using the BW Open ODS View. This FAQ-Note provides answers to the following points:
3: InfoObject Conversion Routines in Open ODS View and related Type Conversions
4: Open ODS View with HANA Smart Data Access: Query Plan is not optimal because Statistics are not
created for the HANA Virtual Table
5: Open ODS View with HANA Smart Data Access: HANA SPS 7/8: Parameters of HANA Indexserver are
not set optimally
6: Open ODS View with HANA Smart Data Access: HANA SP10: Use of "Read-Only" Remote Sources
7: HANA Optimized Query Execution with HANA Calculation Scenarios (>=7.40 SP8)
9: Open ODS View with HANA Smart Data Access: Virtual Table cannot be created due to missing
authorizations
10: Open ODS View with HANA Smart Data Access: How can the executed remote queries been checked?
11: Filter conditions with ABAP initial values (#) and NULL-values on the database
Other Terms
Solution
• SAP BW on SAP HANA & SAP HANA Smart Data Access: http://scn.sap.com/docs/DOC-52945
• SAP NetWeaver BW 7.40 SP5 on HANA Open ODS View: http://scn.sap.com/docs/DOC-50504
By default, currency-related keyfigures are stored with two decimals on the database (Internal format). As
some currencies might require more or less accuracy, in the external format (screen output) the decimal point
can be shifted according to the settings in table TCURX.
In the context of the Open ODS View, BW only executes a currency shift if you associate a BW Keyfigure of
Type "Amount" to a keyfigure field in the ODS View. As a consequence, you need to make sure that the
corresponding source field needs to contain the values in the "internal" format if a BW Keyfigure of Type
"Amount" is associated.
If the source data provides external format and you want to associate a BW Keyfigure of Type "Amount", then
you need to manually convert the data from external to internal format using HANA SQL function
CONVERT_CURRENCY or the SQLScript Built-In function CE_CONVERSION. As conversion step,
SHIFT_BACK converts the external to the internal format.
Example in SQL:
-->For currency IDR, the shift is performed as follows: <value in internal format> = <value in external format>
/ 10^2
3: InfoObject Conversion Routines in Open ODS View and related Type Conversions
Conversion routines are used in the BW system so that the characteristic values (key) of an InfoObject can
be displayed or used in a different format to how they are stored in the database. Documentation on these
conversion routines can be found here:
http://help.sap.com/saphelp_nw74/helpdata/en/4a/116c7866fb1b40e10000000a42189c/content.htm?frameset=/en/4a
If an InfoObject is associated to a certain source field in the Open ODS View, then the data format of the
source field should match the internal format of the conversion routine. If this is not the case, the following
situations can occur depending on the setting for referential integrity:
For certain conversion routines, the Open ODS View provides built-in conversion functionality in order to
match the data format of the source field to the corresponding InfoObject.
1. The field in the Open ODS View is associated with an InfoObject that has an ALPHA-like conversion
routine. The alphanumeric conversion is required to guarantee the consistency of the data format.
ALPHA-like conversion routines are ALPHA, GJAHR, INTCU, NUMCV.
2. The source field is of type Integer and is used as a characteristic in the Open ODS View. The
alphanumeric conversion is used to create a numerical character string in ABAP.
These built-in conversions usually have an impact on the query runtime. For Point 1 (InfoObject that has an
ALPHA-like conversion routine), this explicit conversion can be suppressed if the source data has already the
correct data format. For more information, please refer to the following SAP Note: 2104414 - BW Open ODS
View: Query Performance and alphanumeric conversion
4: Open ODS View with HANA Smart Data Access: Query Plan is not optimal because Statistics are
not created for the HANA Virtual Table
The HANA Query Optimizer needs optimizer statistics for the HANA Virtual Table in order to create a suitable
query execution plan. SAP Note 1990181 provides the ABAP Report RSSDA_CREATE_TABLE_STAT,
which can be used to create such statistics. This report has been improved with SAP Note 2198386 to
improve the execution time. Please note that the creation of database statistics can cause a significant
workload on the source system and can have a high runtime, especially if tables are large.
5: Open ODS View with HANA Smart Data Access: HANA SPS 7/8: Parameters of HANA Indexserver
are not set optimally
With HANA SPS 7 and HANA SPS 8, the default parameterization regarding HANA Smart Data Access is not
optimal in the context of SAP BW. We therefore recommend to modify certain parameters in the configuration
of the indexserver. The recommended settings are the same as described in the following Guide, which deals
with the Open ODS View on Smart Data Access:
https://scn.sap.com/docs/DOC-53047
Refer to the chapter regarding the technical settings for HANA Smart Data Access.
• semi_join_virtual_table_threshold
• virtual_table_format
• join_relocation
With HANA SPS 9, new default settings have been introduced, and the query optimizer has been improved.
Therefore the default settings are usually ok.
6: Open ODS View with HANA Smart Data Access: HANA SP10: Use of "Read-Only" Remote Sources
As of HANA SP10, we recommend using the "read-only" option for HANA Remote Sources. On the one hand
side, this is a security feature since operations of INSERT / UPDATE /DELETE cannot be executed on virtual
tables belonging to read-only remote sources. On the other hand, more than one OBDC-connection can be
opened to the remote database within a single HANA database transaction. This parallelization on the
ODBC-Layer can have a positive impact on the query performance if more than one Nearline Storage
archives are read in a single query. This is typically the case if the query is built on top of a MultiProvider or
Composite Provider and more than one PartProvider has data in the Nearline Storage.
For more information regarding "Read-Only" Remote Sources, please refer to the SAP HANA Administration
7: HANA Optimized Query Execution with HANA Calculation Scenarios (>=7.40 SP8)
As of BW 7.40 SP8, the Open ODS View supports HANA Optimized Query Execution using the SAP HANA
Calculation Engine. Depending on the BW query mode, certain OLAP calculations can be pushed down to
HANA to optimize the query runtime.
As a prerequisite, a column view of type Calculation Scenario is required. The Open ODS Views now have a
new property called "CalcScenario used". The property describes if such a Calculation Scenario has been
created. No user interaction is required, since the property is automatically determined during InfoProvider
Activation.
For more information regarding, please refer to the following SAP Note: 2036430 - Open ODS View and
HANA Optimized Query Execution
Pleaser refer to SAP Note 2157188 - Activation of an Open ODS View terminates with Exception
CX_RODPS_OBJECT_NOT_FOUND or "user is not authorized".
9: Open ODS View with HANA Smart Data Access: Virtual Table cannot be created due to missing
authorizations
Please refer to SAP Note 1989436 - Open ODS View with Smart Data Access - Invalid Table Name during
Query Execution
10: Open ODS View with HANA Smart Data Access: How can the executed remote queries been
checked?
Please refer to point 12 of SAP Note 2165650 - FAQ: BW Near-Line Storage with HANA Smart Data Access.
The Adapters of Enterprise Information Management (EIM) however rewrite the SQL-Query. The actual SQL
Query on the remote database may therefore be different.
11: Filter conditions with ABAP initial values (#) and NULL-values on the database
The existence of NULL values is related to the following two use cases:
1. NULL values because of not existing values in tables: ABAP does not differentiate between the initial
value and a NULL value. BW Tables that are created by the ABAP Dictionary are usually created with
a "NOT NULL"-constraint, hence NULL values are not contained in the persistency. The Open ODS
View however allows the integration of tables or views that have not been created by the BW
application itself, for example database objects from other database schemas or even from other
databases using HANA Smart Data Access. These database objects may contain NULL-values.
2. NULL values are result of outer joins: NULL values may also arise from Left outer joins. In the context
of the Open ODS View, left outer joins are used for Navigation attributes from associations without
referential integrity.
The query runtime of the Open ODS View can correctly handle NULL-values that arise from associations
without referential integrity (Left outer joins, case 2). Case 1 is not covered. This means that if the source
object of an Open ODS View delivers NULL values, then filter conditions that contain the BW initial value may
not be processed correctly. The same applies to joins on such columns. Therefore we recommend the
creation of a projection view on top of the source object to replace NULL values by the type-specific initial
value. This is only required for columns that return NULL values. The Open ODS View then consumes this
projection view instead of the source object.
This also applies to scenarios where a Composite Provider is used on top of a Open ODS View.
Refer to SAP Note 2673267 - Consulting: Open ODS View based on ABAP CDS View.
Software Components
Other Components
Component Description
SAP
Title
Note/KBA
2673267 Consulting: Open ODS View or HANA DataSource based on ABAP CDS View
2036430 Open ODS View: Calculation Scenario for HANA Optimized Query Execution
BW HANA SDA: Create Database Statistics for Virtual Tables of Open ODS Views and Near-Line
1990181
Storage (NLS) Archives
1989436 BW with Smart Data Access: Error "insufficient privilege: Not authorized" when creating virtual table
SAP
Title
Note/KBA
Open ODS View Calculation Scenario: Overflow in numeric calculation, LOB Data Types CLOB,
2386742
NCLOB, TEXT