Lesson 1 of 5
Why ABAP Cloud: upgrade-stable extensions
9 min
Listen to this lesson
Every SAP customer with years of custom code knows the upgrade tax: SAP changes an internal table, a function module or a screen, and dozens of custom programs break. Projects then spend weeks finding and fixing them before anyone can test business processes. SAP's answer is the ABAP Cloud development model: build extensions only on interfaces SAP has promised to keep stable, with a language version that enforces the promise. SAP describes ABAP Cloud as the model for building lifecycle-stable, cloud-ready apps, services and extensions, with built-in extensibility, lifecycle-stable APIs and a cloud-optimized language.
| Classic extension | ABAP Cloud extension | |
|---|---|---|
| Depends on | Any SAP object, including internals | Released APIs and extension points only |
| Upgrade effect | May break when SAP changes internals | Protected by release contracts |
| Enforced by | Discipline and code reviews | Language version, syntax check and ATC |
| Testing after upgrade | Broad regression of custom code | Targeted checks of business behavior |
Clean core, in SAP’s current words
"Clean core" is SAP's term for keeping the ERP core upgradeable by keeping extensions decoupled from it. In August 2025 SAP published a clean core level concept that replaces its earlier three-tier extensibility model with four levels. SAP's summary: Level A extensions use only publicly released, stable SAP interfaces, such as on-stack ABAP Cloud extensions using released APIs, or side-by-side apps on SAP BTP. Level B adds use of SAP's classic APIs and technologies, which are documented and generally stable through upgrades. Level C accesses SAP internal objects, mainly for legacy scenarios, with more upgrade risk; SAP's ABAP Extensibility Guide describes a changelog for SAP objects that you check before each upgrade. Level D is not recommended: modifications, write access to SAP tables, implicit enhancements and explicitly non-recommended objects.
What it means in a converted system
Contoso's conversion carries thousands of classic objects into SAP S/4HANA Private Edition. Most will sit at levels B to D on day one, and that is normal. The program's rule, agreed by Grace and Kenji, is simpler: new extensions start at Level A in the ABAP Cloud software component ZCMC_CLOUD, and converted objects move up a level when they are touched for business reasons. This course teaches the skills behind that rule: the language version, released APIs and their contracts, what to do when no released API exists, and how to check readiness.
- Mock 1InventoryATC readiness run over converted custom code; levels estimated
- Mock 2New work at Level ACore return app and deposit views built in ZCMC_CLOUD
- Go-liveBaseline recordedCount of objects per level reported to Grace’s steering group
- Each later releaseMove up when touchedObjects changed for business reasons are lifted a level where feasible
The levels also change the testing conversation. An extension at Level A depends only on contracts SAP has promised to keep, so after an SAP upgrade the question is whether the business behavior still fits, not whether the code still compiles. An extension at Level C depends on objects SAP may change without notice, so it belongs on the upgrade test list every time. Priya uses the recorded level to size regression scope for each upgrade: the lower the level, the more attention an object gets.
What would you do?
A consultant tells Grace that "clean core means no custom code at all", and proposes dropping the core return app. What should Kenji explain?
- ABAP Cloud builds extensions only on stable, released interfaces.
- SAP’s 2025 clean core levels A to D replace the three-tier model.
- Level A: released APIs only; B: classic APIs; C: internal objects; D: not recommended.
- In a converted system, start new work at Level A and lift old code when you touch it.
- Record the intended level for each new extension.
Check your understanding · not graded
Lesson check
1. Which model did SAP’s clean core level concept replace in 2025?
2. Which level do on-stack ABAP Cloud extensions using only released APIs reach?
3. Which of these is a Level D technique?
4. What is Contoso’s rule for converted classic objects?