ADSO
BW / Analyticsbeginner

What Is an ADSO and Why It Replaced Classic BW Data Targets

Understand what an Advanced DataStore Object is, why SAP introduced it, and how it consolidates the roles of classic DSOs, InfoCubes and PSA-like staging in a single flexible object.

Explanation

Before HANA, SAP BW modelers had to choose among several data target types depending on the use case: standard DataStore Objects (DSOs) for granular, overwrite-capable staging and reporting layers, InfoCubes for multidimensional star-schema reporting with fast aggregation, and write-optimized DSOs for high-volume, append-only staging. Each object type had its own database tables, activation logic and modeling rules, which made BW landscapes complex and forced consultants to duplicate data across layers just to satisfy different technical requirements. With SAP HANA as the underlying database, SAP introduced the Advanced DataStore Object (ADSO) as a unified object that can behave like any of those classic objects depending on how it is configured, because HANA's in-memory columnar engine removes the need for separate aggregate-optimized structures. An ADSO is defined once, and its 'type' setting determines how many internal tables it generates and how data flows through activation. This means a single object family now covers staging (write-optimized-like behavior), standard reporting layers (with change log and activation), and even direct-write scenarios where BW acts almost like a real-time data mart. An ADSO's data model consists of key fields (which define uniqueness for records, similar to a DSO's key) and data fields (the measures and attributes). Internally, depending on the ADSO type, SAP generates up to three physical tables: an inbound/active table combination, a change log table for delta capture, and sometimes a table for activation queue processing. In BW/4HANA, ADSO is the only supported data target type for new development; classic InfoCubes, standard DSOs and InfoObjects-as-data-targets are not available, making ADSO knowledge mandatory for any BW/4HANA project. Functionally, an ADSO sits in the data flow between source extraction (via DataSources, transformations and DTPs) and reporting (via BEx queries or CompositeProviders). A typical layered architecture uses one ADSO for corporate/raw staging close to the source structure, another ADSO for a harmonized/cleansed layer with business logic applied through transformations, and reporting is often exposed through a CompositeProvider that combines one or more ADSOs (and sometimes an InfoObject or open ODS view) into a single reporting object without physically duplicating data. For a beginner, the most important mental model is: ADSO = table(s) + activation logic + delta capture, configurable via a 'type' property, replacing the old zoo of DSO/InfoCube variants. Understanding this consolidation explains why BW/4HANA projects feel simpler in object count but require deeper understanding of ADSO type behavior, since the same object can be tuned very differently for staging versus reporting purposes. Getting this foundational concept right is essential before moving into activation types, key design and performance considerations covered in later lessons.

Real project scenario

A retail client migrating from BW 7.5 (ECC-based extraction) to BW/4HANA had over twelve classic DSOs and six InfoCubes feeding sales reporting. During the migration project, the team consolidated this into a three-layer ADSO architecture: a corporate staging ADSO per source system, a harmonized ADSO with currency and unit conversions applied via transformation rules, and a reporting-ready ADSO exposed through a CompositeProvider for BEx queries. This reduced total physical data objects by roughly half and simplified process chain design, though it required retraining the BW team on ADSO type selection since the old 'DSO vs Cube' decision no longer applied.

Common mistakes

โ€ข Assuming ADSO is 'just a renamed DSO' and ignoring that its behavior fundamentally depends on the selected type setting. โ€ข Trying to recreate a classic InfoCube star schema manually instead of using ADSO's reporting-optimized configuration with a CompositeProvider layer. โ€ข Not planning the key field design early, leading to unintended data overwrites or unwanted granularity later. โ€ข Underestimating that BW/4HANA has no fallback to classic DSOs or InfoCubes, so ADSO misconfiguration cannot be worked around with legacy object types.

Best practices

โ€ข Learn the ADSO type options and their generated table structures before designing a new data flow. โ€ข Use a layered architecture (staging, harmonized, reporting) with ADSOs rather than trying to combine all logic into one flat object. โ€ข Reserve CompositeProviders for the final reporting exposure layer rather than duplicating business logic across multiple ADSOs. โ€ข Document key field decisions clearly since they are difficult to change once data volumes grow large.

Interview angle

Interviewers often ask candidates to explain why SAP introduced ADSO and what classic objects it replaces; a strong answer references HANA's columnar engine removing the need for separate aggregate structures, and highlights that ADSO type selection controls generated tables and activation behavior, unlike the fixed structure of classic DSOs and InfoCubes.