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
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
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
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
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
| Principle | BW Application |
|---|---|
| Standard first | Use SAP extractors |
| Extension over modification | Use AMDP, not hacks |
| Upgrade-safe | Avoid obsolete objects |
| Loose coupling | Layered architecture |
Clean Core is future insurance.
6. Common Design Pattern Violations
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
Good BW design feels boring — because nothing breaks.