IT CanvassTalk to an advisor
SAP modules hub · LessonReviewed by Arjun, SAP Solution Architect · Updated · Published · SAP S/4HANA 2023 · all levels

SAP BW

SAP BW (Business Warehouse) is SAP’s data warehousing solution, extracting, storing, modelling and reporting on data from SAP and non-SAP sources. BW/4HANA is the modern, HANA-optimised version.

Quick answer

SAP BW is the data warehouse that consolidates SAP and non-SAP data into layered models for cross-system, historical reporting. Data arrives through a DataSource, is loaded by an InfoPackage into the persistent staging area and moved by data transfer processes into ADSOs and CompositeProviders built from InfoObjects; queries serve SAC and BEx. Day to day, the work is process chains.

Key takeaways
  • Watch out: BW can only report what was extracted, so a field missing from the extractor is invisible downstream.

What BW does

BW consolidates data from many sources into a data warehouse structured for analysis, extracting and transforming data, storing it in layered models, and serving it to reporting and analytics tools. It provides consistent, historical, cross-system reporting beyond what transactional systems offer.

Key capabilities

  • Extraction (ETL): loading from SAP/non-SAP sources.
  • Data modelling: layered architecture (LSA++), ADSOs, composite providers.
  • Reporting: queries consumed by SAC/BEx.
  • BW/4HANA: the streamlined, HANA-native successor.

The objects, and how data moves between them

BW has its own vocabulary and the data flow is easier to hold than the names suggest.

InfoObjects are the building blocks: characteristics such as customer or material and key figures such as quantity or revenue. Everything else is assembled from them.

Data arrives through a DataSource in the source system, is pulled by an InfoPackage into the persistent staging area, and is then moved onward by a data transfer process. Between layers, a transformation maps fields and applies rules.

It lands in an advanced DataStore object, which holds detail and can handle deltas and overwrite, or in a CompositeProvider, which combines several sources for reporting. Classic InfoCubes have largely given way to these on modern releases.

Queries sit on top and are what a reporting tool consumes.

The layered design is deliberate: raw data preserved as it arrived, a harmonised layer, then a reporting layer. When a number in a report is wrong, that layering is what lets you find out at which stage it went wrong rather than guessing.

Follow a number back to its source

An hour, and it is the diagnostic skill BW roles are hired for.

  1. Run a query and find a figure that looks wrong.
  2. Drill into the CompositeProvider or DSO behind it and find the records making up that figure.
  3. Check the request that loaded them. Was it complete, was it the latest, did a delta run twice.
  4. Look at the transformation between layers. A routine or a mapping rule is where most discrepancies are introduced.
  5. Compare against the source system directly for the same key. If the source and the staging area agree, the problem is in a transformation. If they do not, the extraction is the problem.

That sequence, source to staging to transformation to report, resolves the majority of "the warehouse is wrong" tickets, and most of them turn out to be a load that did not complete.

How it fits

BW integrates with source systems for data and with analytics tools (SAP Analytics Cloud, Analysis for Office) for consumption. In the modern data landscape it sits alongside SAP Datasphere and embedded S/4HANA analytics, and remains important for enterprise data warehousing.

Where BW sits is a live question. S/4HANA supports substantial reporting directly on the operational tables through CDS views, so some reporting that used to require a warehouse no longer does. BW keeps its place for consolidating multiple sources, retaining history the source system no longer holds, and modelling that operational reporting cannot support. The honest answer to whether a client needs BW is that it depends on how many sources they have.

The decisions that shape a BW build

  • Delta or full loads. Deltas are efficient and depend on the extractor supporting them and on nobody breaking the delta queue. Full loads are simple and expensive.
  • How many layers. The full corporate memory, harmonisation and reporting stack is robust and slow to build. Fewer layers is quicker and harder to correct later.
  • Where transformation logic lives. In the transformation, readable and standard, or in a routine, powerful and something you maintain.
  • How much history. Retention drives volume, and volume drives cost, so it should be a decision rather than an accumulation.

Process chains, and the operational reality

Modelling is what BW is taught as. Running it day to day is process chains, and that is where the job actually is.

A process chain is a scheduled sequence of steps with dependencies: load this, then activate it, then load what depends on it, then roll up aggregates, then trigger the next chain. Each step succeeds or fails, and successors wait.

The operational pattern is a nightly chain that has to finish before the business arrives. When it does not, the questions are always the same: which step failed, can it be repeated, and does anything downstream have to be repeated with it.

Repeat versus restart matters. Repeating one failed step is usually right for a transient failure. Restarting the chain can reload data already loaded, and whether that duplicates depends on how the target handles it.

Delta queues are the fragile part. A delta extraction keeps a pointer in the source system, and if a load is deleted incorrectly or run out of sequence, the queue and the target disagree. Recovering means an initialisation and a full reload, which on a large object is a long night.

Monitoring should tell somebody before the business notices. A chain that fails silently at two in the morning and is discovered at nine has already cost the day's reporting. See SAP PM for a module with the same lesson about unwatched scheduled work.

Deciding whether BW is the answer

Since some reporting moved onto the operational system, the honest question at the start of a project is whether a warehouse is needed at all.

Reasons it still is. Several source systems that must be combined, including non-SAP ones. History the source system no longer keeps, because it archives or overwrites. Modelling the operational schema cannot support, such as slowly changing dimensions. And query load heavy enough that running it against the transactional system would hurt.

Reasons it may not be. One source system, current data, and reporting that CDS views on the operational tables already answer, in real time and with no load to schedule.

Many landscapes end up with both, and the sensible division is operational reporting on the source and cross-system, historical and heavily modelled reporting in the warehouse. Deciding that division explicitly is better than letting it emerge, because the alternative is the same figure calculated two ways and two teams defending different numbers.

Learning it

Learn BW through its core processes, its master data and configuration, and its integration with the rest of the SAP landscape. Hands-on practice cements it.

Common pitfalls

  • Learning features, not the end-to-end process.
  • Ignoring integration with finance and neighbouring areas.
  • Skipping master data/configuration the process depends on.
  • Assuming a failed load will be retried. Chains stop, and somebody has to watch.
  • Modelling before agreeing the definitions. Two departments meaning different things by "revenue" is a business problem the warehouse will expose and cannot fix.
  • Building BW for what CDS now does. See SAP PS and other modules for the operational reporting that may already be sufficient.
  • Reporting on a target while a load is running. The number is a snapshot of a partial state, and it will not match ten minutes later.
  • Chains scheduled without dependencies. Two chains that both load the same target, running in parallel because nobody linked them, produce a result that is wrong intermittently, which is the hardest kind of wrong to diagnose.

Where this goes next

Reading a query is straightforward, and designing the layers, transformations and load strategy that make a warehouse trustworthy is the part you do in the course.

The working habit is to check the load before questioning the model. A figure that looks wrong is far more often an incomplete or duplicated request than a modelling error, and the request overview answers it before anyone opens a transformation.

Already working on SAP and stuck on a live ticket?Get an expert SAP developer on screen-share to finish your daily tasks with you. Deliver on time, protect your reputation and your job. Monthly support only, no task-wise plans.Task assigned · no idea where to startStill stuck · your job on the lineExpert joins your screenDelivered on timeExplore On Job Support