Monday, 7 January 2019

Introducing the NDSO: Part One – How to create a NDSO

Motivation


When establishing an Enterprise Data Warehouse (EDW) there are two fundamental approaches which can be taken. Either an application driven approach can be chosen by opting for a solution which covers all tasks to be performed in an EDW out-of-the-box or the data modelling is natively performed directly on the database with a collection of separate tools to support the deployment and operations of an EDW.

With SAP BW/4HANA supporting the application driven approach and the SAP HANA Data Warehouse Foundation for native deployments of EDW scenarios customers can individually choose which solution is the best fit for a given scenario. In some cases a mix of both can also be a good option. Integration is key in those mixed scenarios.


SAP HANA Certification, SAP HANA Tutorial and Material, SAP HANA Guides

Hence, this blog is about the integration of both solutions and how they work together. In part one the focus is on introducing the native DSO (NDSO) object which was released with the Data Warehousing Foundation 2.0 on SAP HANA 2.0 whereas part two covers the integration of the NDSO with SAP BW/4HANA.

Introduction


Data cleansing and consolidation with robust delta and rollback mechanisms is an important task of an EDW. Central object in BW/4HANA is the advanced DSO which is delivering such capabilities out of the box. But how are developers supported with native developments?

The NDSO is a native HANA SQL object and developed upon the SAP HANA XS advanced application server framework. It can easily be implemented in the SAP HANA Web IDE by using the template HDB Module provided by the SAP HANA Data Warehousing Foundation 2.0 which can be taken as a blueprint for individual NDSO artifacts.

From a design time perspective, it’s structure is similar to an Advanced DSO in SAP BW/4HANA with three tables to persist the data and calculate the delta (Active Data table, Change Log, Inbound Queue). Each table is exposed as a CDS entity. Thus, tools like the SAP EIM Flowgraph can use these entities to load data into or extract data from an NDSO.

In addition to that, the NDSO:

◈ supports the data merge process of delta- and full-data load requests
◈ supports the process to handle records that are marked for deletion within the delta data sets
◈ is an addition to the SAP HANA certified ETL/ELT tools, and not a replacement and functions with the HANA certified ETL-tools

Last but not least the NDSO offers multiple ways to interoperate between a SAP HANA SQL (native) data warehousing and SAP HANA Business Warehouse systems.

There is plenty of detailed information available and links can be found at the end of this blog.

Let’s take a closer look on the major steps to create such an object.

◈ Major steps to create a NDSO.

The most straight forward way to create a NDSO is to open a new project in the SAP Web IDE workspace and choose the template provided:

SAP HANA Certification, SAP HANA Tutorial and Material, SAP HANA Guides

◈ The NDSO is implemented as an multi-target application (MTA) consisting of three modules:
a HANA database module providing a sample NDSO including a flowgraph to load some sample data.
◈ a node.js module which contains the backend logic
◈ a Data Warehousing Foundation module

It is also possible to enable an existing MTA project to leverage the NDSO template.

A wizard is guiding the developer to the subsequent steps going ahead, i.e. give a name to the project, determining security, assigning project to a dedicated DB-Space.

SAP HANA Certification, SAP HANA Tutorial and Material, SAP HANA Guides

In this case the name of the NDSO generated from the template is ‘sales_acquisition’. The picture shows the structure including the three modules (purple arrows) and the sample structure of the DSO in the SAP Web UI. This object can be taken away and adopted or a separate NDSO can be created from scratch.

SAP HANA Certification, SAP HANA Tutorial and Material, SAP HANA Guides

The template also comes with a flowgraph to load some test data.

The Manage-UI as part of HRTT (HANA Runtime Tools/Database Browser) is the central tool for managing loads and activations for NDSO. Having started the flowgraph to load the test data, the request can be seen in the administration UI for this ADSO ready for activation.

SAP HANA Certification, SAP HANA Tutorial and Material, SAP HANA Guides

After activation, the data is available for reporting.