Clean Core 2 min read

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.

Akshay Palimkar
Akshay Palimkar

Founder & Principal SAP Consultant

Abstract teal and navy illustration of a quality gate keeping a clean core clean

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.

Akshay Palimkar

Written by

Akshay Palimkar

Akshay 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.