S/4HANA Custom Code Remediation Effort Calculator for ABAP
Custom code is often the biggest unknown in an S/4HANA conversion. This calculator turns an object inventory, a usage percentage and a finding rate into hours and cost, and shows how much retiring unused code reduces the bill.
Your numbers
Z/Y programs, classes, function modules, enhancements and others from your inventory.
From usage data (for example SCMON or the usage procedure logs). Unused code can be retired instead of fixed.
Share of used objects flagged by the S/4HANA readiness checks in ATC.
The remainder is treated as complex.
Your results
A planning estimate. Finding rates and fix effort vary widely by code quality and by the simplification items hit. Calibrate with a sample of real findings.
Estimated cost by share of custom code still used
Sweeps Objects still used from 5 to 100, holding your other inputs fixed.
Want a custom code triage plan?
Optional: tell us your object count and we will outline a sampling approach to firm up this estimate.
Optional. The tool and every export work without this. No spam.
How to use it
Start with the count of custom objects from your inventory, then apply usage data. Many systems find that a large share of custom code has not run in a year, and that code is a candidate to retire rather than convert. Run the S/4HANA readiness checks in the ABAP Test Cockpit on a sample to get a finding rate, then classify a sample of findings into simple, medium and complex, and time the fixes. Enter those measured values here instead of the defaults.
- Get usage data over a full business cycle including year end
- Sample at least 50 findings to estimate effort per class
- Treat the defaults as placeholders, not benchmarks
The formulas
Objects still used equals total objects times the used share. Objects needing a fix equals used objects times the finding rate. Development hours weight each class by its share: simple, medium and the remaining complex share, multiplied by hours per fix. Test hours are an uplift on development hours. Cost is total hours times the blended rate. The chart sweeps the used share, which makes the value of decommissioning visible: every point of unused code retired scales the estimate down.
- Fix objects = total x used% x findings%
- Dev hours = fix objects x weighted hours per fix
- Total = dev x (1 + test uplift)
What the estimate does not cover
Readiness findings are only part of the work. Functional gaps from simplification items, the new data model for areas such as business partner, material number length and finance, replaced transactions and Fiori adoption are separate lines. Performance tuning for HANA is also separate, as some code that passes the checks still runs poorly. Add contingency for rework, and keep a list of objects you will deliberately leave unfixed with a business sign-off.
- Add separate lines for data model and process changes
- Add a contingency of 15 to 30 percent for the unknowns
- Document retired and deferred objects with owners
Frequently Asked Questions
Where do I get the usage data?
From usage logging in the productive system, for example the ABAP Call Monitor (SCMON) or the usage procedure logs, collected over a long enough period. A single quiet month will mislead you.
What is a typical finding rate?
It varies a lot. Heavily modified systems with direct table access to changed tables will have higher rates. Run the checks on a sample of your own code rather than relying on a quoted average.
Should unused code be fixed?
Usually not. Retire it after sign-off, because every fixed object is also an object you must test and maintain afterward. Keep a short archive of the source in case of surprises.
Does this include testing by business users?
Only as a percentage uplift on development. Business acceptance testing for the converted processes is normally planned separately in the project.
Netray works with SAP partners on custom code analysis and AI-assisted remediation, with the code staying inside your own environment. We can help scope a pilot on a sample of your findings.
Related Tools
ABAP RICEFW Estimation Worksheet
List each report, interface, conversion, enhancement, form and workflow, enter hours and risk, and get totals and cost.
SAPABAP FOR ALL ENTRIES vs SELECT in LOOP Runtime Calculator
Model the database cost of a SELECT inside a LOOP against FOR ALL ENTRIES and see how the gap grows with the driver table size.
SAPABAP Technical Specification Template
A fill-in technical design document for a custom ABAP object that exports to PDF or Word, ready for review and sign-off.
SAPABAP Internal Table Memory Size Calculator
Estimate the memory an internal table needs, check it against a session limit and find the safe row count before you hit a short dump.