Already on S/4HANA? Your custom code isn't done yet
Going live on S/4HANA isn't the finish line for Clean Core — it's the start. Why converted systems drift out of compliance, and how continuous governance keeps every upgrade a non-event.
Founder & Principal SAP Consultant
Most Clean Core content is written for teams still on ECC, racing the 2027 deadline. But a lot of teams are already live on S/4HANA — and quietly discovering that go-live wasn’t the finish line. The risk just changed shape: from migrating cleanly to staying clean.
Here’s what we see drift back in after conversion.
1. Custom code creeps back into the core
A conversion project enforces discipline. The pressure of a deadline keeps everyone honest. Six months after go-live, that pressure is gone — and the quickest fix for an urgent business request is, once again, a direct table write or a quick Z-report. Without a gate, the core slowly re-accumulates exactly the debt you just paid to clear.
2. ATC findings drift
You can land on go-live day with zero blocking findings and be back to hundreds within two quarters. New objects, copied-in old patterns, and “temporary” workarounds all add up. A baseline is a photograph; compliance is a video. If nobody’s watching the video, it drifts.
3. SAP keeps moving under you
S/4HANA — especially the cloud editions — ships on a continuous release cadence. Released-API classifications change, new standard capabilities replace things you custom-built, and the A–D extensibility framework (which SAP formalized in 2025) keeps maturing. Code that was compliant last year can need a second look this year. Staying clean is an ongoing activity, not a one-time certificate.
4. The extension strategy was never reviewed
In the rush to go live, extensions land wherever they’re fastest to build — often in-app, often in the core. Post-go-live is the moment to ask the question you didn’t have time for: is each extension in the right tier? Key-user tools for the simple stuff, in-app BAdIs where you need ABAP in the core’s lifecycle, and side-by-side on BTP for anything that should evolve independently.
What “done” actually looks like
Done isn’t a clean baseline at go-live. Done is a system that stays clean on its own:
- A CI/CD ATC gate on every transport, so new code can’t reintroduce violations.
- A periodic Clean Core health check — drift, released-API compliance, tech debt — scored against the live system, not a snapshot.
- An extension-strategy review that puts each customization in the right tier.
- HANA performance and Fiori adoption tuning for the apps you’ve already shipped, so the value of the migration actually lands with users.
- A quarterly upgrade-readiness review against SAP’s release cadence, so the next upgrade is a non-event.
That’s the difference between a migration that was clean once and a core that’s clean continuously. It’s the whole idea behind our Clean Core Care plan — ongoing governance for teams who are already live and want to keep it that way.
Already on S/4HANA and not sure how far you’ve drifted? Start with the free readiness audit — it scores your live system the same way it scores a pre-migration one.
Written by
Akshay PalimkarAkshay is an SAP ABAP engineer with 15 years across ECC, S/4HANA, RAP and Clean Core. He builds the open-source tools and training he consults with.