Remediation Without Rewriting Everything
Lesson 4 — The instinct after seeing a scary readiness report is to rewrite everything from scratch. That instinct is how a six-month project becomes an eighteen-month one. Here's the actual remediation hierarchy.
Prerequisites
- Lesson 3: Reading your own risk
The instinct after seeing a scary readiness report is to rewrite everything from scratch, “properly, this time.” That instinct is precisely how a realistic six-month remediation project quietly becomes an eighteen-month one — and it’s usually driven by fear of the report, not by what the report actually said.
The remediation hierarchy — cheapest fix first, as the default
Why “just rewrite it” is usually the expensive wrong answer
Recall the exact same shape of mistake from AI Foundations Lesson 6 — “just fine-tune it” was the expensive default when a cheaper, more precise fix already existed. Remediation has its own version: a genuinely deprecated table access might just need a swap to its released CDS-view replacement, a five-line change. Treating that the same as a full logic rewrite doesn’t make the fix more correct. It makes the project more expensive, for no additional safety.
The discipline: for every finding, check swap first, retire second, and reach for a full rewrite only when neither genuinely applies — not as the default starting assumption for anything flagged Critical.
The honest exception, and it’s a real one: scale and criticality can force a rewrite regardless of what swap or retire would otherwise suggest. An object implementing a core business process with fifty-plus findings, or one built on internal SAP structures that no longer exist in S/4HANA at all, is a genuine re-architecture candidate — not because the hierarchy failed, but because at that scale a full rewrite is the correct answer, not a shortcut around it. The hierarchy tells you where to start looking for each finding. It doesn’t override what the scale of the problem is actually telling you.
Try it yourself
Take three Critical findings from a real or hypothetical readiness report. For each, honestly classify it: does a direct released-API swap exist? Is the object actually used anywhere, based on real usage data, or has everyone just assumed it might be? Only for the ones where neither applies, write down what the actual rewrite would need to touch.
Go deeper
The specific ECC-to-S/4 object swap table, and a full remediation playbook by pattern, are in The ABAP Custom Code Remediation Guide.
Key takeaways
- Remediation has a hierarchy: swap the API, retire if unused, rewrite only as the last resort — in that order, every time.
- “Just rewrite it” is the same expensive-default mistake as “just fine-tune it” from AI Foundations — a cheaper, more precise fix usually already exists.
- Confirm “unused” with real usage data before retiring anything — an assumption is not evidence.
Next: the objects are fixed. Now the data underneath them has to move — and this is the phase most timelines quietly underestimate.