Solution areas
Clean Core
Keep custom code and extensions upgrade-stable.
The problem
Custom code that writes to SAP tables, calls unreleased APIs or modifies standard objects blocks every upgrade. Without a systematic check, these dependencies are discovered one transport at a time.
Engines in this area
These engines run on the artifacts of this area. Each links to its rules, inputs and remediation guidance.
Tier 1/2/3 extensibility classification & classic modification detector
CLEAN_CORE_OBJECT_GUARD
Cloud BAdI & key-user extensibility upgrade stability analyzer
EXTENSION_IMPACT_GUARD
Examples of what is checked
- Classification of custom code dependencies by release status (Tier 1 to Tier 3)
- Direct writes to SAP standard tables and classic modifications
- Use of deprecated objects with their released successors
- Extensions whose consumers break when the object they extend changes
Related knowledge articles
Clean core extensibility explained: tiers, released APIs and classic modifications
A practical overview of how SAP classifies extensions by their upgrade stability, from ABAP Cloud on released APIs to classic modifications, and how to assess existing custom code.
Custom fields with key user extensibility: why a field does not appear in the app, form or API
How custom fields created with key user extensibility reach UIs, reports, forms and APIs, and why a field that exists on one document is missing on the follow-on document.
Frequently asked questions
- Which engines does the Clean Core preflight run?
- Clean Core runs 2 deterministic engines: Clean Core Object Guard and Extension Impact Guard. Each engine documents its rules and input contract in the engine catalog.
- Which files do I need for Clean Core?
- The engines in this area accept these file formats: ABAP, JSON, and ZIP. You create the exports in SAP and upload them; no direct connection to your SAP system is needed. The outbound-only local agent is optional.
- Are the findings produced by AI?
- No. Findings come from deterministic rules: identical exports produce identical findings. Where AI helps with explanations, the confidence of that content is capped at INFERRED and marked as such.
- How is each finding backed?
- Findings reference evidence in the uploaded file: its path, the line and column where the format has them, a redacted snippet and the SHA-256 hash of the file. Each finding carries a confidence class (VERIFIED, RULE_DERIVED, INFERRED or UNKNOWN); findings without verifiable evidence are demoted to UNKNOWN.
Run this preflight on your own exports
Create a free workspace and upload an export to see findings with evidence.