Skip to main content

Module 28: BW/4HANA Design Patterns (BW/4HANA 2.0)

Design patterns in BW/4HANA are not theoretical constructs
they are practical rules that separate scalable, maintainable systems from fragile ones.

This module covers:

  • Layered modeling
  • Virtualization-first approach
  • Reusability patterns
  • Performance-first modeling
  • Clean core principles for BW

1. Layered Modeling Pattern (LSA++)

What is Layered Modeling?

Layered modeling separates responsibilities into clear architectural layers.

Source

Staging aDSO

Harmonized aDSO

CompositeProvider

BW Query

Why Layering Matters

  • Clear ownership
  • Reuse across reports
  • Easier debugging
  • Better performance tuning
Golden Rule

Each layer should solve one problem only.


2. Virtualization-First Approach

Concept

Virtualization-first means:

  • Do not persist by default
  • Persist only when necessary
  • Leverage HANA pushdown

Implementation

  • Use Open ODS Views for access
  • Use CompositeProviders for joins
  • Persist facts in aDSOs
Best Practice

Persist facts, virtualize semantics.

When Virtualization Works Best

  • Real-time reporting
  • External data access
  • Low-to-medium data volumes

3. Reusability Patterns

3.1 Reusable Master Data Pattern

  • Central InfoObjects
  • Shared attributes & texts
  • Avoid duplication

3.2 Reusable Fact Layer Pattern

  • Domain-based aDSOs
  • Not report-specific
  • Stable keys

3.3 Reusable Semantic Layer

  • CompositeProviders as APIs
  • Domain-driven design
  • Avoid one-provider-per-query
Interview Line

CompositeProviders are semantic APIs for BW reporting.


4. Performance-First Modeling

Key Principles

  • Pushdown by default
  • Set-based processing
  • Minimal persistence
  • Filter early

Performance Anti-Patterns

Avoid These

ABAP-heavy transformations
Complex query CKFs
Deep join chains
Reporting on aDSOs

Performance Pattern Example

❌ Bad:
Query → aDSO → ABAP Logic

✅ Good:
Query → CompositeProvider → AMDP

5. Clean Core for BW

What is Clean Core?

Clean Core means:

  • Minimize custom code
  • Use standard SAP objects
  • Keep upgrades easy
  • Reduce technical debt

Clean Core Principles Applied to BW

PrincipleBW Application
Standard firstUse SAP extractors
Extension over modificationUse AMDP, not hacks
Upgrade-safeAvoid obsolete objects
Loose couplingLayered architecture
info

Clean Core is future insurance.


6. Common Design Pattern Violations

Avoid These

One giant aDSO
Query-specific modeling
Over-persistence
Mixing layers


7. Real-World Reference Architecture

S/4HANA
↓ ODP
Staging aDSO

Harmonized aDSO

CompositeProvider

BW Query / SAC

8. Interview-Grade Questions

Q1. Why is layered modeling important in BW/4HANA?

Answer: It improves reuse, performance tuning, and maintainability by separating technical, business, and reporting concerns.

Q2. What does clean core mean in BW context?

Answer: It means minimizing custom code and obsolete objects so that BW upgrades and maintenance remain predictable.


9. Summary

  • Design patterns ensure scalability
  • LSA++ is the foundation
  • Virtualization reduces complexity
  • Performance must be designed
  • Clean core ensures longevity

10. What's Next?

➡️ Module 29: BW/4HANA Capstone Projects

Learning Tip

Good BW design feels boring — because nothing breaks.