S/4HANA transformation
Custom code to S/4HANA.Every fix proven, not promised.
AgentOS takes SAP’s own readiness findings, decides what each one needs, fixes them in parallel batches — and closes an item only when the merged code no longer has it. It starts on the ECC system you run today, before the conversion.
Changes go through git and your review. Nothing is released without a person.
- Pool and cluster tables: no implicit sort42BSEG, CDPOS …
- FI index tables are now views on ACDOCA22BSIS, BSAS …
- Customer and vendor writes need Business PartnerP13KNA1, LFA1
How AgentOS does it
One loop, from SAP’s findingsto a verified pull request.
AgentOS does not invent its own idea of S/4 readiness. It reads what SAP’s tools report, keeps every finding in one ledger, and runs the fixing work as batches your team reviews.
- 01
Collect
SAP’s checks decide what is a finding.
- Offline scan of the git export against the simplification items
- ATC readiness checks through the connector
- Custom Code Migration analysis on BTP, pulled on a schedule
- Usage from workload statistics, job history, SUSG and SCMON
- 02
Decide
Every finding gets an owner and a way out.
- An analyst agent sets the disposition: auto, pattern, manual or retire
- Unused code is proposed for retirement, not fixed
- Items are grouped into waves by priority
- 03
Batch
Waves become parallel work.
- Batches are packed by check and simplification item
- One object is never split across batches
- Up to five batches run at once per repository, configurable
- 04
Fix
Mechanical by rule, the rest by agent.
- Codemods for the rules that are safe to rewrite
- Developer agents with the S/4 adaptation skill for the rest
- Every change lands on a branch in git
- 05
Prove
Closed by the merged code, not by the agent.
- The branch is re-scanned and compared by fingerprint
- ATC runs again on the changed objects
- A person reviews the pull request; deploy by abapGit and transport
After the merge, the default branch is scanned again. What is gone becomes verified; what comes back is reopened.
S/4HANA custom code migration
From your SAP DEV to verified S/4HANA code, step by step
The usual starting point: your custom code lives in the SAP development system. Click through the steps to see which system does what, and where people decide.
Step 1 of 12 · starting point
The custom code lives in SAP DEV
As in any SAP ECC landscape: Z and Y code in customer packages on the development system, moved to QAS and PRD with transports.
Nothing has been copied or analysed yet.
- Where
- customer SAP DEV and PRD
- Changes to SAP
- none
End to end, on screen
From a report in ECC to a verified fix, screen by screen.
One report written in the style of the ECC years, on our SAP sandbox, taken from the first ATC finding to the code active in SAP. Every picture below is a capture from that pass.

Step 1 of 13 · SAP GUI
A report from the ECC years that relies on database order
The report reads routes and carriers without ORDER BY, then looks them up with READ TABLE … BINARY SEARCH. A binary search on an unsorted table only works while the database happens to return rows in key order. On SAP HANA that is not promised, so the report can print the wrong carrier or city without any error.
- System
- SANDBOX_DEV100 · ECC 6.0 EHP8
- Object
- ZKX_LGC_ROUTE_REVENUE
The ledger
An agent can say “done”.Only the code can close an item.
Every finding lives in one ledger with its source, its simplification item, the objects it touches and who changed its state. The states move on evidence: a rescan, not a status update.
- openfound by a scan, ATC or CCM
- plannedin a wave
- in changea batch is working on it
- fixedthe branch no longer has it
- verifiedthe default branch no longer has it
Judged by fingerprint
A branch is compared with the ledger by the finding’s fingerprint, never by line number — lines move with every edit above them.
Reopened when it returns
A verified finding that a later scan sees again goes back to open, with the scan named as the reason.
Won’t fix is a decision
Closing without a fix is its own state, set by a person with a note — not a silent drop from the list.
Four ways out
Not every finding needs an agent.Some need a rule, some a person, some a delete.
The disposition decides who does the work. It is set per finding, visible in the ledger and can be changed by a person at any time.
- autoCodemod
A deterministic rewrite, applied only when the whole statement is a shape the rule was written for. Anything else is listed for a person, with the reason.
SELECT * from BSEG into a table → ORDER BY PRIMARY KEY
- patternDeveloper agent
A known replacement that needs reading the code: the agent applies the pattern from the S/4 adaptation skill and the ATC check confirms it.
Index-table reads (BSIS, BSAS) → access that fits ACDOCA
- manualAgent with a person
A redesign. The agent prepares the analysis and a proposal; a person decides before code is written.
Direct customer and vendor writes → Business Partner API
- retireUsage evidence
Code nobody runs is not migrated. Usage data marks it as a candidate, a person confirms, and it leaves the scope.
A report with no calls in 13 months of workload statistics
Recorded run
A 1999 report made ready for S/4HANA, on a real ECC system.
One unscripted recording on SANDBOX_DEV100, an SAP ECC 6.0 EhP8 system: the agents check the code against S/4HANA, find a real bug on the way, fix it on a transport and prove it with unit tests. Long waits are sped up and the speed is shown on screen.
Getting a 1999 report ready for S/4HANA
A report of open customer items reads old finance tables directly, and those tables work differently on S/4HANA. The agent checks the code line by line and finds a real bug on the way: an item can show another customer's name. There is no finance data in the sandbox, so the fix is proven with unit tests that run the old and new logic on the same sample rows.
- Change
- CHG-0319
- Transport
- DEVK900071
- Agents
- Change Lead, S/4HANA readiness analyst, ABAP Developer, Reviewer, SAP Tester
- Proof
- ABAP Unit 5 of 5: old and new logic on the same sample rows
- Review
- approved, no P1/P2; ATC not available on this system

The legacy programs (prefix ZKX_LGC_) are demo objects we wrote in the style of 2000s custom code for these recordings, and say so in their header. We do not show customer code. Transports, test verdicts and times are taken from the AgentOS session logs.
When it starts
Most tools fix the code after you convert.AgentOS starts before.
Every finding fixed or retired on ECC is one less on the critical path of the conversion weekend — and the same loop keeps running on S/4HANA for the next release upgrade.
- SAP Custom Code Migration appAssessment of the ECC code (ECC today)
- SAP Custom Code Migration AgentFixes in an S/4HANA 2023+ system, after the code is converted (S/4HANA)
- Remediation vendorsProject-based mass correction around the conversion (ECC today to Conversion)
- AgentOSAssess, retire and fix on ECC; keep going on S/4HANA (ECC today to S/4HANA)
- SAP Custom Code Migration appAssessment of the ECC codeECC today: coveredConversion: not coveredS/4HANA: not covered
- SAP Custom Code Migration AgentFixes in an S/4HANA 2023+ system, after the code is convertedECC today: not coveredConversion: not coveredS/4HANA: covered
- Remediation vendorsProject-based mass correction around the conversionECC today: coveredConversion: coveredS/4HANA: not covered
- AgentOSAssess, retire and fix on ECC; keep going on S/4HANAECC today: coveredConversion: coveredS/4HANA: covered
How others do it
Fixing S/4 code is becoming cheap.Proving it is still your problem.
SAP now ships an agent for custom code migration, and remediation vendors sell mass correction at scale. Here is how they differ from AgentOS — from their own published material.
| Aspect | SAP: CCM app + Joule agent | Remediation vendors | AgentOS |
|---|---|---|---|
| What counts as a finding | ATC S/4HANA readiness checks | The vendor’s own rule set | SAP’s checks: ATC readiness and CCM, plus an offline catalog scan |
| Where it runs | Agent in a developer’s Eclipse (ADT 3.60) with Copilot or Amazon Q | The vendor’s platform or code factory | Agents in your AgentOS workspace, in parallel batches, under your grants |
| System it needs | S/4HANA 2023+ with the custom code already converted | Your system, connected for the project | Your ECC or S/4HANA development system and a git repository |
| Where the code changes | In the S/4 system, inactive, in one transport | Corrected by the vendor, delivered by transport | On a git branch; deployed by abapGit and transport after review |
| How a fix is trusted | Confidence score; low-confidence fixes left as comments; developer activates | Vendor-stated accuracy; linked functional testsPanaya | Rescan by fingerprint, ATC re-run, pull request review; closed only by the merged code |
| Unused code | Usage from SUSG / SCMON, a separate step | Deactivated as part of the planPanaya | Usage collected automatically; “retire” is a disposition in the same ledger |
| Licences | Joule for Developers entitlement plus an AI assistant licence | Project contract | AgentOS; no SAP AI entitlement needed |
What counts as a finding
- SAP: CCM app + Joule agent
- ATC S/4HANA readiness checks
- Remediation vendors
- The vendor’s own rule set
- AgentOS
- SAP’s checks: ATC readiness and CCM, plus an offline catalog scan
Where it runs
- SAP: CCM app + Joule agent
- Agent in a developer’s Eclipse (ADT 3.60) with Copilot or Amazon Q
- Remediation vendors
- The vendor’s platform or code factory
- AgentOS
- Agents in your AgentOS workspace, in parallel batches, under your grants
System it needs
- SAP: CCM app + Joule agent
- S/4HANA 2023+ with the custom code already converted
- Remediation vendors
- Your system, connected for the project
- AgentOS
- Your ECC or S/4HANA development system and a git repository
Where the code changes
- SAP: CCM app + Joule agent
- In the S/4 system, inactive, in one transport
- Remediation vendors
- Corrected by the vendor, delivered by transport
- AgentOS
- On a git branch; deployed by abapGit and transport after review
How a fix is trusted
- SAP: CCM app + Joule agent
- Confidence score; low-confidence fixes left as comments; developer activates
- Remediation vendors
- Vendor-stated accuracy; linked functional testsPanaya
- AgentOS
- Rescan by fingerprint, ATC re-run, pull request review; closed only by the merged code
Unused code
- SAP: CCM app + Joule agent
- Usage from SUSG / SCMON, a separate step
- Remediation vendors
- Deactivated as part of the planPanaya
- AgentOS
- Usage collected automatically; “retire” is a disposition in the same ledger
Licences
- SAP: CCM app + Joule agent
- Joule for Developers entitlement plus an AI assistant licence
- Remediation vendors
- Project contract
- AgentOS
- AgentOS; no SAP AI entitlement needed
Competitor statements are the vendors’ own published claims. SAP’s agent: prerequisites and flow as described by SAP for SAP Joule for Developers, ABAP AI capabilities.
Works with SAP
Use SAP’s tools for the findings.Use AgentOS to run the programme.
AgentOS is not another rule engine competing with SAP’s. It is the loop around it: one ledger, parallel work, review and evidence your auditors can follow.
SAP’s checks, not ours
Findings come from ATC readiness checks and the Custom Code Migration app. When SAP updates the simplification list, the next pull brings it in.
Your code stays in git
Every change is a branch, a diff and a pull request. The history of the migration is the history of the repository.
A person signs every release
Agents work inside the grants you give them. Approving the plan and releasing the transport stay with your team.
Pilot, October 2026
Measured on a real ECC system.
Our own pilot on an ECC 7.50 sandbox loaded with a real custom-code export. Numbers from the runs, not projections.
- 1,322objects scanned offlinefrom the git export of an ECC 7.50 system, 67 findings
- 45 / 46objects in CCM scope analysedremote analysis on SAP BTP through the Cloud Connector, 16 findings
- 41 sATC run through the connector50 findings imported into the ledger
- 20codemod edits in 8 files35 statements left for a person, each with path, line and reason
Pilot
Four weeks on your development system.
We install AgentOS in your environment, connect it to a DEV system and let the agents work on real items from your queue: incidents, change requests, a first wave of S/4HANA remediation or a Fiori app on BTP. You judge the result on transports.
- Week 1Installation, SAP connections, users and authorizations, your conventions as project knowledge.
- Weeks 2–3Agents work on 10–20 agreed items from your backlog.
- Week 4Review with your team: lead time, cost per item, quality, audit trail.
Start on the ECC you run today.Arrive on S/4HANA with every fix proven.
See the readiness loop on your own custom code: SAP’s findings in, batches fixed in parallel, each item closed only by the merged code.
S/4HANA transformation
SAP, S/4HANA, ABAP and Joule are trademarks of SAP SE. Other names are trademarks of their owners. AgentOS is not affiliated with the vendors named.