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.