(2008) HANA views

If you are using HANA system, it is possible to create HANA views for selected types of DataProviders.

Prerequisites

Provisioning of offloaded data to HANA view is using following components.

  • SAP HANA Smart Data Integration and SAP HANA Smart Data Quality

    • Version 1.0 SP03 Patch 11 (1.3.11) for SAP HANA 1.0 SPS 12 and higher

  • HANA DP Agent 2.0

  • Datavard Datatiering SDA+ HANA native add-on transport

 

Setup

As soon as you met prerequisites, you need to do following:

Useful links

Install and Configure the Data Provisioning Agent

SAP HANA Academy - SDI: ABAP Adapter [SPS 11]

Not supported types of DataProvider

HANA views can be created for all types of DataProvider except following types:

  • Tables

    • HANA native

    • DDIC

  • InfoProviders

    • Write Optimized DSO

Creation of view

In order to be able to access offloaded data of DataProvider, you need to create HANA view. You can do it by creating of this report:

  • Go to main SDA+ transaction /DVD/OFF

  • Select menu Others

  • Chose Create HANA view

Report execution parameters

Parameter name

 

Parameter name

 

HANA DB connection

Connection name to HANA database (leave empty if you want to use primary HANA database)

Schema

Name of database schema

Remote source

Remote source defined on HANA database that pointing to current SAP system

DataProvider Name

Name of DataProvider for which we want to create a view

Object names are generated with following names:

Object kind

HANA object name pattern

Object kind

HANA object name pattern

Virtual table name

<Remote source>_<DataProvider Name>_VT

Aggregation with pruning condition

<Remote source>_<DataProvider Name>_CS.AGGR_FILTER

Calculation scenario (for reading data)

<Remote source>_<DataProvider Name>_CS

If you want to get the list of DataProviders for which HANA view was already created, use the search help in a view deletion report or read table /DVD/OFF_ANA_H_S using transaction SE16.

Functionality will create following calculation scenario:

Pruning condition

Pruning condition is vital for good performance of existing queries that will be also using offloaded data. This condition will restrict reading data from underling virtual table, if the user reads data with certain filter. This filler will be intersected with pruning condition, if the result in not empty set data will be read otherwise the virtual table is not accessed. Currently it is possible to generate two kinds of pruning condition.

Update of pruning condition

Condition will be automatically updated after following DataProvider events:

  • Offload

  • Reload

    • Including selective reload by Writer 3.0

Manual update of pruning condition shouldn’t be necessary. If you need to update it manually as a workaround, repeat the creation of a view with the same parameters.

Default

By default pruning condition is set the same as unite of all offloading request conditions of DataProvider.

Less equal from MAX values

Maximal values of specified fields of DataProvider are combined into condition with less equal operator.

Lets have fields from FIELD_1 to FIELD_N and function <MAX(FIELD_X)> - maximal value of field FIELD_X in offloaded data, condition will be generated as follows:

FIELD_1 <= <MAX(FIELD_1)> AND FIELD_2 <= <MAX(FIELD_2)> AND … AND FIELD_N <= <MAX(FIELD_N)>

Fields selection

Fields that will be used for generation of pruning condition can be set as DataProvider specific setting HANA_OBJ_PRUNNING_FIELD in CSV format.

Example: FIELD_1;FIELD_2;FIELD_3

Deletion of view

If you don’t want to use created HANA view any more, you can delete it with a deletion report. You can find it attached to the main SDA+ transaction.

  • Go to main SDA+ transaction /DVD/OFF

  • Select menu Others

  • Chose Delete HANA view

Program contains only one execution parameter for DataProvider name, for which HANA view should be deleted.

Please be sure that HANA view that you want to delete is not used in HANA any more. If you delete a view that is further used, dependent objects become inconsistent.