Introduction
In SAP BW/4HANA, a DataStore Object (advanced) is the only object for managing persistent transactional data. It is the successor to the DataStore Object (classic) of SAP BW.
As well as replacing the original DataStore Object (classic), the new DataStore Object (advanced) also replaces the InfoCube, Semantically Partitioned Object, and the PSA.
Developers can leverage the DataStore Object (advanced) to model the transactional persistence across multiple layers from data acquisition to data marts. The DataStore Object (advanced) combines the functions of the InfoCube and the DataStore Object (classic) with many extra features, such as modeling with fields and data temperature management.
The DataStore Object (advanced) is more flexible than its predecessor and can contain both fields and InfoObjects in all combinations (fields only, InfoObjects only, or a mixture of both). Any DataStore Object (advanced) can now include up to 1000 fields (key fields/InfoObjects + data fields/InfoObjects) and can include up to 120 key fields.
The multi-purpose DataStore Object (advanced) supports many different modeling scenarios across many different EDW layers. The various DataStore Object (advanced) use cases are implemented by choosing relevant settings in the definition of the DataStore Object (advanced).
In SAP BW/4HANA, there are four types of DataStore Object (advanced):
- Standard - for generic use
- Data Mart - to develop business-specific data sets
- Staging - to manage inbound data that needs harmonizing and combining with other data sources
- Direct Update - to bypass the standard loading process
In the DataStore Object (advanced), navigation attributes of characteristic InfoObjects cannot be enabled for reporting. For reporting, navigation attributes must be enabled in the CompositeProvider, which consumes the DataStore Object (advanced). However, navigational attributes of InfoObjects can be enabled for Transformations to support look-ups in DataStore Object (advanced) during the loading process.
The DataStore Object (advanced) is now created and maintained in the BW Modeling Tools. However, the management of the data loading to a DataStore Object (advanced) is supported with SAP BW/4HANA Cockpit.
Structure of the DataStore Object (advanced)
As with SAP BW, the DataStore Object (advanced) in SAP BW/4HANA continues to be technically organized around three core tables (Inbound Table, Table of Active Data, and Change Log). These tables are generated when the DataStore Object (advanced) is created and activated. The use of the tables depends on the modeling options that have been selected. Regardless of the modeling option choices, the three tables are always generated to support changes to the use case of the data model, without disrupting the underlying database.
With the exception of "Direct Update", data is always loaded into the inbound table first. Then, data is either read from this table directly, or it is processed further into the other one or two tables for reading or further extraction. This depends on the setting you have chosen when you created the DataStore Object (advanced).
Let's explore the three core tables:
Inbound table: /BIC/A<technical name>1
- Equivalent to the activation queue table for the DataStoreObject (classic) or uncompressed fact table of a non-HANA-optimized InfoCube in the past
- Structure: Request ID (REQTSN), Data Package (DATAPAKID), Record number (RECORD), Record mode (RECORDMODE), Key Field 1, Key Field n, Field 1, Field n...
- Key Definition: REQTSN / DATAPAKID / RECORD (= generated technical key)
Table of Active data: /BIC/A<technical name>2
- Equals active table of the DataStore Object (classic) or compressed fact table of a non-HANA-optimized InfoCube in the past
- Structure: Key Field 1, Key Field n, Record mode (RECORDMODE), Field 1, Field n...
- Key Definition: Key Field 1 / Key Field n (= user defined semantic key)
Change Log table: /BIC/A<technical name>3
- Same as for DataStoreObject (classic) in the past
- Structure: Request ID (REQTSN), Data Package (DATAPAKID), Record number (RECORD), Record mode (RECORDMODE), Key Field 1, Key Field n, Field 1, Field n....
- Key Definition: REQTSN / DATAPAKID / RECORD (= generated technical key)
In addition to these three core tables, the following three table views are created as well. Which of the three core tables they refer to depends on the modeling scenario (that is, the setting of the modeling properties):
- View for Extraction from the DataStore Object (advanced): /BIC/A<technical name>6
- View for Reporting on the DataStore Object (advanced): /BIC/A<technical name>7
- View for external SQL Access to the DataStore Object (advanced): /BIC/A<technical name>8
SAP does not support the scenario where a customer uses code to directly access any of the three tables storing DataStore Object (advanced) data (refer to SAP Note 1682131 for the explanation). To support those customers who would like to do this, SAP BW/4HANA provides a new database view for external SQL access. It is a stable interface that allows official and authorized direct programming-level access to the DataStore Object (advanced) data. The main purpose of this interface is to be called in staging scenarios, for example, to perform look-ups in routines using ABAP or AMDP/SQLScript in transformations. Also referred to as the External SAP HANA SQL View, it does not provide features such as analysis authorizations and text joins, which a native SAP HANA calculation view provides.
The External SAP HANA SQL View is automatically generated during activation of an DataStore Object (advanced). It is created in the ABAP Dictionary and therefore also in the database catalog for use with native SQL and OpenSQL/ABAP. For DataStore Objects (advanced) that were activated prior to the introduction of the External SAP HANA SQL View feature, you can create the missing views using report RSDG_ADSO_ACTIVATE.
The Repair button, with Rebuild database views selected, only creates the view(s) in the database catalog, but not in the ABAP Dictionary. To create the view(s) in the ABAP dictionary, you have to activate the DataStore Object (advanced) manually using the BW Modeling Tools or the report. The activation must not take place in the ABAP Dictionary directly.
If the data model is inventory-enabled to manage noncumulative key figures, then the following tables are also created:
- Validity Table: /BIC/A<technical name>4
- Reference Point Table: /BIC/A<technical name>5
To support data temperature management, you can perform exceptional updates to the external cold store using the generated view: /BIC/A<technical name>9 .
Launch the next demo to explore the settings of a DataStore Object (advanced) in BW Modeling Tools.