Free tools Windows power users keep installed
One-click scans. No signup required.
No. An ECC-to-S/4HANA conversion, an S/4HANA upgrade, or a clean-core initiative does not automatically mean every custom SAP object must be rewritten. Migration checks identify compatibility issues and required adaptations; usage analysis can help find candidates for retirement. Neither is a stand-alone business decision. Assess each object’s purpose, use, dependencies, technical exposure, and the cost and risk of the available options before deciding what to do.
Separate migration adaptation from modernization
Migration analysis answers a technical question: what findings or changes matter for the source and target releases? Modernization answers a broader question: what is the best future form of functionality the business still needs? A finding that requires adaptation for conversion is not, by itself, proof that the object needs a wholesale rewrite. Likewise, code that passes a migration check is not necessarily well aligned with the organization’s architecture or long-term upgrade plans.
SAP’s Custom Code Migration documentation describes checks for migration and the use of collected usage data to help identify unused code. SAP’s S/4HANA conversion documentation points to the Simplification Database and static code checks for transparency into required adaptations. These are decision inputs: business owners still need to validate whether functionality is needed and what disposition makes sense.
Keep the target product and release in view. SAP’s Custom Code Analysis documentation describes filtering results by usage and scope, and notes release-specific changes, including analysis and migration tiles split across some 2508/2025 releases. Check the deployed product and release before following a particular interface path or interpreting a result: SAP Custom Code Analysis.
Quick wins for a faster PC:
Repair Windows errors before they cause bigger problemsFix Now →Scan for outdated or missing drivers - takes under a minuteDriver Scan →#1 Best Overall
Build a decision record for each object
Before choosing a disposition, assemble enough evidence to make the decision auditable. An inventory should describe more than object names and code age.
- Purpose and accountability: record the process supported, business owner, technical owner, and any control or compliance role. Treat unknown ownership as a governance risk, not as evidence that an object can be deleted.
- Use and dependencies: review available production usage data, direct and indirect callers, interfaces, scheduled jobs, background execution, and disaster-recovery processes. Choose an observation window that includes relevant seasonal and exceptional cycles; SAP documents usage-based identification, but does not prescribe one universal period for every organization. A rarely executed annual process can still be essential.
- Target-specific technical findings: run applicable migration analysis and ATC checks against the actual source and target release. Record severity, affected dependencies, whether a fix is available, and whether the issue blocks conversion or is a broader quality concern. SAP’s conversion documentation describes release-dependent checks, so validate current guidance and relevant SAP Notes for the target landscape.
- Business fit: ask whether standard SAP now covers the process, whether the custom behavior provides material differentiation or a control, and what the operational impact would be if it were unavailable. Confirm through process evidence and testing, rather than inferring value from code age.
- Operational and architecture context: note security and data impact, test coverage, upgrade exposure, API availability, deployment model, and the effort to remediate and maintain the object.
Choose a disposition that matches the evidence
These options are not interchangeable. Pick the least disruptive option that satisfies the business need and the target environment’s technical constraints.
Rank #2
| Disposition | When it fits | What the decision entails |
|---|---|---|
| Retire | No current business need is confirmed; dependency checks and representative usage evidence support removal. | Remove the object and its callers or related dependencies, then prove required business scenarios still work. |
| Adapt | The behavior remains needed, but target-release changes require correction for conversion or operation. | Make the required changes, test affected workflows, and rerun relevant checks. Adaptation need not imply a wholesale rewrite. |
| Retain and govern | The value is real and technical exposure is acceptable for the deployment and business risk. | Keep the implementation, assign an owner, maintain tests, and include it in upgrade and architecture reviews. |
| Refactor or modernize | The function remains valuable but maintainability, quality, performance, or API alignment needs improvement. | Preserve the needed behavior while improving its implementation, preferably in manageable stages. |
| Replace with standard SAP | Fit-to-standard validation shows that standard capability adequately covers the process. | Confirm process fit and controls in testing before retiring the custom implementation. |
| Decouple or rebuild as an extension | The need remains, and an available supported API or extension model fits the required coupling and deployment. | Move the extension away from the core where feasible; validate API scope and product-specific constraints before committing. |
SAP’s Extensibility Guide for RISE with SAP recommends retiring unneeded objects, refactoring legacy code that remains valuable, and decoupling extensions with APIs. It reports that “some customers” found 70% of their custom objects were no longer needed. That is SAP’s December 2024 report of an observation among some customers—not a representative benchmark, a target for another organization, or a reason to delete an object without validation.
Rank work by combined risk, value, and effort
Raw object counts and ATC finding counts do not tell a program which work matters most. A practical prioritization rubric can score or classify the following factors for each object. The rubric is an editorial decision aid, not an official SAP scoring method; set weights with business and technical stakeholders rather than presenting them as SAP-prescribed.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
- Business consequence: process criticality, differentiation, control or regulatory role, and impact of unavailability.
- Evidence confidence: how representative the usage period is, how complete dependency discovery is, and whether owners confirm the object’s purpose.
- Technical urgency: migration incompatibility, required adaptation, security or data exposure, and operational or upgrade risk.
- Change feasibility: standard replacement fit, supported API and extension availability, dependency complexity, testability, rollback options, and remediation effort.
Prioritize items where high business consequence or a conversion blocker coincides with material technical risk. Low-use objects with uncertain dependencies deserve investigation before removal; an active, valuable object with a non-blocking architecture concern may be a staged modernization candidate rather than an immediate rewrite. Keep the reason for each ranking visible so that a change in release, business need, or API availability can trigger a review.
Make clean-core goals fit the deployment
Clean-core alignment is relevant to upgrade stability, but it is not a single rewrite mandate. SAP’s August 2025 explanation of clean-core architecture levels describes levels A through D in relation to released interfaces, classic APIs, internal SAP objects, and disrecommended techniques. Treat those levels as architecture and upgrade-stability signals—not as a ranking of business value: SAP’s clean-core guidance.
Rank #4
The feasible target also depends on deployment and API coverage. SAP notes that private-cloud and on-premise customers may depend on classic ABAP and that public APIs may not cover the full feature scope in those environments. Where a cloud-ready replacement is not yet feasible, a staged path using supported classic patterns may be more realistic than forcing an unsupported decoupling design. Check current product documentation and API availability for the specific environment: SAP Clean Core Extensibility and ABAP-Based Extensions.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Prove changes, then keep the estate from regrowing
For retired objects
Remove dependencies as well as the object itself, then test business scenarios that could invoke it—including batch, interface, seasonal, and recovery paths where applicable. A low usage count alone is not proof that removal is safe.
Best Value
For code that stays
Test critical workflows after adaptation or refactoring and rerun relevant checks iteratively. SAP Learning describes a staged approach: perform required functional adaptations, run relevant ATC checks, use quick fixes where appropriate, and consider longer-term modernization toward ABAP Cloud. Findings can emerge across iterations; SAP cautions against applying all quick fixes at once. Its guidance also describes SQL performance tuning worklists that combine static checks with SQL Monitor runtime and performance data, a useful pattern for targeting demonstrated hot spots rather than optimizing every object indiscriminately: SAP Learning: Analyzing Customizations after System Conversion.
For future changes
Assign ownership, document why each extension exists and which APIs it uses, and include relevant checks in development and release workflows. Review usage and architecture at upgrade milestones so that changed business needs, findings, or API availability can inform the next decision.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




