6 min readUpdated: Category: SAP transformation
The real problem with legacy custom code
Most SAP landscapes carry thousands of custom objects. Nobody remembers why half of them exist, the original developers left years ago, and every S/4HANA conversion turns that unknown into schedule risk. The bottleneck is rarely writing new code — it is understanding the code that already runs the business.
Where AI assistance actually helps
- **Explaining objects**: turning a 3,000-line report into a readable summary of inputs, outputs and side effects
- **Impact analysis**: listing which tables, BAPIs and enhancements an object touches before you change it
- **Refactoring proposals**: moving logic out of modifications and into released APIs and extension points
- **Test scaffolding**: generating ABAP Unit skeletons so a risky change gets a safety net before it is touched
Where it does not
An assistant cannot decide whether a business rule is still valid, and it cannot own a transport. Treat output as a draft from a fast junior developer: useful, occasionally confidently wrong, always reviewed.
Keeping clean core intact
- Prefer released APIs and extension points over modifications, even when the AI suggests the shorter path
- Reject suggestions that touch SAP standard objects; log them as candidates for a side-by-side extension instead
- Keep custom logic in dedicated packages so upgrade impact stays measurable
- Record every AI-assisted change in the normal code review and transport process
A pragmatic rollout
Start with one package and one goal — usually documentation of unknown code. Measure onboarding time and review cycle length before and after. Expand only when the team trusts the review workflow, not because the tool is available.
Frequently asked questions
- Does AI-assisted development break clean core?
- Not by itself. Clean core is broken by modifying SAP standard objects. Keep AI suggestions inside released APIs and extension points and review every change in the normal transport process.
- Where should a team start?
- With documentation of unfamiliar custom code. It is the lowest-risk use case and delivers the clearest time saving before conversion work begins.
