The purpose of this post is to show you the different types ADSOs in BW/4 HANA. The way to check them in the front end modeling tools (General tab on the ADSO -> Modeling Properties) and in back end ABAP (Transaction RSMNG -> ADSO name -> Manage tab-> Show settings).
Standard DataStore Object
- Write Change Log: If you choose this option, the delta (new, deleted, and changed records) is saved in the change log. The change log is used to extract the delta. Requests can only be rolled back from the DataStore object if the DataStore object has a change log; that is, the status before the activation of the request can be restored. Compared to the past (standard DSO classic), it is a new option to not use a change log. This can save resources if you do not require any delta extraction from this source object.
Without Change Log:
● Snapshot Support: If your DataSource only delivers the current dataset as a “FULL”, by setting this indicator, deleted data records can be identified and updated. Upon activation, the system recognizes records that are in the table of active data but not in the load request. These are written to the change log as reverse images
OBS: It is not possible to have Snapshot support without writing to the change log.
● Unique Data Records: If you only load unique data records (data records with non- recurring key combinations) into the DataStore object, you can select this property. If the indicator is selected, during activation, the system checks whether unique records exist. If a record already exists, the activation is canceled with an error.
With Change Log:
Without Change Log:
Staging DataStore Object
- Inbound Queue Only: No data is saved in the change log. The extraction process always reads the data in the inbound table again—for delta extraction or full extraction. This object is not suitable for reporting and analysis.
- Compress Data: In general, the data is always written to the inbound table. If you choose Compress Data, the data is written to the table for active data (during the compression process) once it arrives in the inbound table. During activation, the data is aggregated in accordance with the semantic key and is written to the active data table. In the query, you will then only see the data that has been activated. To save memory space, the change log is not filled. Therefore, you cannot perform request-based deletion of data from the DataStore object. You can only delete data selectively.
OBS: The setting in the backend is the same as for a Standard ADSO.
- Reporting-Enabled: Data is written to the active data table, but is also kept in the inbound table. Since the data is stored redundantly in the inbound table, the data can be deleted from the active table and rebuilt from the inbound table. The data is only extracted from the inbound table. When a query is executed, the active table is accessed
OBS: In BW/4 HANA 1.0 in the front end the setting it is as the back end showing as "Keep Inbound Data and Extract from Inbound Table"
Data Mart DataStore Object
The Data Mart DataStore object is optimized for reporting and analysis (similar to InfoCubes of the past)
- Inventory-Enabled (Non-Cummulative)
OBS: In BW/4 HANA 1.0 the Data Mart DataStore Object is represented by: "All Characteristics are Key, Reporting on Union of Inbound and Active Table"
The settings are the same in the back end.
Direct Update DataStore Object
In the DataStore object for direct update, you can load data directly to the table of active data, including standard consistency checks (for example, SID processing, consistency of time characteristics, areas locked by cold store, or NLS).
DataStore Object with Write Interface
The data in this DataStore object can be moved to the inbound table using SAP integration solutions by PUSH. Based on this property, it is the successor for the obsolete BW source system types SAP Data Services and Web Service.
- Standard ADSO with Write Change Log
- Inbound Queue Only
OBS: In the backend these settings are the same as per each type mentioned above. It is not possible in RSMNG to determine from there if the Write Interface-Enabled flag is used or not.