1.1Bloom · UNot started

What Clean Core actually means

Reading depth

What you'll learn

Clean Core means your extensions sit beside SAP standard on stable, released contracts — so upgrades don't break them.

  • Clean Core is a placement-and-method contract, not a ban on Z code.
  • Six dimensions: software stack, extensibility, integrations, processes, data, operations (the Dec-2025 'five guiding principles' drop software stack).
  • The goal is upgrade-stability: SAP changes the core, your extensions keep working.

Clean Core is not 'no custom code.' It is a contract about *where* and *how* extensions sit relative to SAP-delivered objects, so that SAP can ship upgrades and feature-pack deltas without colliding with your code, and you can adopt innovation without a custom-code thaw cycle. It is also not a verdict on the code you have already written — the instincts that make you good at ABAP, knowing where logic belongs and what depends on what, are exactly what it rewards.

SAP frames Clean Core across six dimensions: software stack (keep the SAP stack current and unmodified — no modifications or implicit enhancements), extensibility (build custom logic only on released extension points and released APIs, decoupled from the core), integrations (released, versioned, documented interfaces and events — no point-to-point dark RFCs), processes (stay standard end-to-end where you can, using SAP-provided process variability rather than process modification), data (configuration, master, and transactional data with quality, ownership, and governance — 'data,' not just master data), and operations (observable, automatable, no manual config drift). SAP's customer-facing 'five guiding principles of clean core' (Dec 2025) restate the same idea minus software stack — processes, extensibility, data, integration, operations — treating a current, unmodified stack as the baseline precondition rather than a principle you practice.

The payoff is upgrade stability and lower total cost of change. A clean core is one where an FPS or release upgrade is a routine event, not a multi-month regression project.

Key points

  • Clean Core is a placement-and-method contract, not a ban on Z code.
  • Six dimensions: software stack, extensibility, integrations, processes, data, operations (the Dec-2025 'five guiding principles' drop software stack).
  • The goal is upgrade-stability: SAP changes the core, your extensions keep working.
  • Extensions sit beside the core through released contracts — never inside it.

Examples

Two ways to add a discount rule

The 'dirty' way modifies or reads SAP internals; the Clean Core way sits beside the core on a released contract — same feature, very different upgrade risk.

Source notes: clean-core-curriculum §1.1

Ask Claude

Build a prompt from this lesson + your question and open a fresh Claude chat with it pre-filled — handy for adapting a before/after pattern to your own object.