CSPeach with SAP Joule for Developers

An assistant helps you write the code. CSPeach takes the ticket to a transport.

From the questions the spec left out to a checked change in the session's transport — on the SAP system you have today, with nothing to sign first. It installs on the developer's laptop and works next to whatever is already in the editor.

Already running Joule?

Then here is the rest of the ticket.

Fifteen jobs, out of 35+ skills that carry written SAP rules. Every one ships today and runs on the system you already have, except where it says roadmap.

Before anyone writes a line

Who asks the functional consultant the questions the spec left out?

The questions nobody asked
/abap-spec-gap reads the spec you already have and produces what it leaves out: the business questions a senior consultant would raise, the technical gaps, the edge cases and the test scenarios. Before anyone codes.
A design, then a plan your developer approves
/abap-design names every object and the order it has to be built in. /abap-plan holds the phases across sessions, so a week of work survives the end of a conversation.
Code written for your release
On connect it reads the system's release and ABAP language version, and writes for that system. An ECC system is never handed syntax it cannot run.
Your standards, on every turn
Put your team's ABAP conventions in a CSPEACH-STANDARDS.md file beside your code. Every turn carries them, and where they disagree with our defaults, yours win.

The build, checked

Who confirms the object really went active, and not just that the call returned?

A whole RAP stack, in dependency order
Table, CDS interface and projection views, behaviour definition, behaviour pool, service definition, service binding, metadata extension — created and activated in the order SAP requires, with the binding published at the end.
The Fiori app, built and previewed
/abap-fiori-build builds a freestyle SAPUI5 app, or a Fiori Elements app, on the laptop from your published OData service, previews it against your system, and deploys it to your ABAP repository when you ask. It does not write automated UI checks for it.
The same road every write takes
Snapshot, write, syntax check, activation, then a check that the object really went active. When a check fails it fixes the object and checks again; when it still cannot pass, it stops and says what it needs. Broken code is never activated. ATC runs on the change with /abap-atc-fix.
The session's transport, and a record you can hand over
The change goes in the session's transport, or in the request that already holds the object, and /export audit writes what was asked, what was written, what was checked and where it went. Not a chat log.

The whole estate, not one file

Who can tell you today which of your custom objects still matter?

Custom code analysed, object by object
/abap-cca reads the estate inventory your system gives and returns judgement: the scope, an application area for packages without one, and retire candidates with the evidence behind each. It runs no ATC and no SQL, and writes no files. /abap-clean-core puts an object on an A-to-D clean-core level you can defend in a meeting.
Scan, fix, verify — and the verify is the point
/abap-upgrade-scan runs ATC with a readiness variant. /abap-upgrade-fix works object by object, with your developer approving each one. /abap-upgrade-verify re-runs the same scope and reports what actually moved, regressions included.
A team project, with the number behind it
A fix counts when a check proves it. The team project keeps the picture of the work in your own shared folder, and cspeach team refresh runs ATC to measure what has actually changed.
When something breaks at four in the afternoon
/abap-dump reads the short dump, finds the crash point and proposes the fix. /abap-incident runs the whole thing end to end: identify, understand, fix, verify, deliver, report.

Your controls

Who decides what an agent may write, on which system?

Write modes, set per system
advisory-only proposes and never writes; approval-gated is the default: it asks before each write, and in a plan run it asks once for the plan's exact object list (anything off the list still asks; approvals = per-write restores a card before every write); auto writes within the session for trusted non-production work. Tag a system as production and its mode is clamped to advisory-only for the whole session. Every write is snapshotted first, and the session can be rewound.
Managed model access
Prompts go through CSPeach to the model provider, so usage shows in credits. Your own model key is not offered today; it is an option for the future. Roadmap, and not built yet: SAP AI Hub, and a local model on your own hardware.
One tool on your ECC system and your S/4HANA system
One install and one way of working across ECC EHP7 and higher, on-premise S/4HANA and S/4HANA Cloud Private Edition. S/4HANA Cloud Public Edition and SAP BTP ABAP Environment: not tried yet.

Before you start

What each one needs first.

The one thing worth checking before a trial: what has to exist, and what has to be signed.

CSPeach

An install, and a system to point it at.

  • An install on the developer's laptop.
  • It connects over ADT to the system as it is — the same protocol Eclipse uses. Nothing is installed on the SAP system.
  • ECC EHP7 and higher, on-premise S/4HANA, and S/4HANA Cloud Private Edition.
  • No RISE with SAP contract. No service on SAP BTP. Nothing to provision, nothing to sign.

Joule for Developers

As SAP states it, September 2026.

  • SAP offers it for SAP BTP ABAP Environment, SAP S/4HANA Cloud Public Edition and SAP S/4HANA Cloud Private Edition, releases 2021 and higher.
  • For on-premise SAP S/4HANA 2021, 2022, 2023 and 2025, SAP states availability is “subject to the special RISE with SAP contract conditions announced at SAP Sapphire”, and asks customers to verify entitlement and contract status with their account executive.
  • A licence in AI Units, bought through SAP for Me.
  • A service on SAP BTP that an administrator provisions.

From SAP's own page and the Sapphire 2026 recap.

On ECC, or S/4HANA below 2021: those are not on SAP's published scope list for the Joule for Developers AI capabilities. CSPeach works there, and writes for the release it reads from your system.

Row by row

What it delivers, where it runs, who holds the controls.

CSPeach Joule for Developers
What it delivers A ticket, carried through: the questions the spec left out, a design, the build, the checks, the session's transport, and a record a reviewer can read. See SAP's page.
Where it runs The system you already have: ECC EHP7 and higher, on-premise S/4HANA, and S/4HANA Cloud Private Edition. SAP BTP ABAP Environment, S/4HANA Cloud Public Edition and S/4HANA Cloud Private Edition 2021 and higher; and on-premise S/4HANA 2021, 2022, 2023 and 2025, subject to the special RISE with SAP contract conditions.
What you need first An install on the developer's laptop. It talks to SAP over ADT, the same protocol Eclipse uses. A licence in AI Units, and a service on SAP BTP that an administrator provisions.
Custom code and clean core Every custom object inventoried and classified A to D with released-API evidence, checked by ATC on your own system, then fixed and re-measured. See SAP's page.
Who holds the controls You set the write mode per system, and by default it asks before each write — in a plan run, once for the plan's exact object list (set approvals to per-write for a card every time). Tag a system as production and its mode is clamped to advisory-only for the whole session. Snapshot before every write, the session's transport, and it works under the developer's own SAP logon, so the change log names a person. An administrator provisions the service and assigns users through SAP Cloud Identity Services.
Where the AI call goes Through the CSPeach proxy to the model provider. Your own model key is not offered today; it is an option for the future. Sign-in and the signed skills come from us too. ADT traffic never passes through us. To a service on SAP BTP, which reaches SAP BTP AI Core.
Your standards A CSPEACH-STANDARDS.md file beside your code, carried on every turn. Where it disagrees with our defaults, yours win. See SAP's page.

Facts about SAP Joule for Developers on this page are SAP's own words, as of September 2026, from SAP's pages linked above.

The road a change takes

What “takes the ticket” means.

One ticket, one road: the questions first, then the plan, the write, the checks, and the transport at the end.

Every change takes the same road A write starts because you asked. For multi-object work the agent lays out a plan you approve, then it snapshots, writes, runs a syntax check, activates, and confirms the object really went active. If either check fails, CSPeach fixes the object and checks again, up to three tries, and takes the write again. When it still cannot pass, or the next step is one only a person can do, it stops and says what it needs; you do that step and it carries on from there. The whole road sits in the session’s transport, or in the request that already holds the object, and stays on the record. THE PATH OF A WRITE Every change takes the same road. THE SESSION’S TRANSPORT · R9 ON THE RECORD · /export audit PASSES FAILS FAILS TRIES AGAIN STILL FAILING, OR IT NEEDS YOU YOU DO THE STEP · IT CARRIES ON You ask R8 A plan you approve MULTI-OBJECT WORK R7 Snapshot Write Syntax check R10 · EVERY WRITE Activate Activation check REPORTS IF IT DIDN'T It stops and asks you SAYS WHAT IT NEEDS CSPeach fixes it and checks again UP TO THREE TRIES Broken code is never activated. The snapshot from before the write is there if you want to go back.
This is the road one ticket takes, and it ends in the session's transport, with the record of what happened.

Questions

Asked plainly, answered plainly.

We already run Joule. Why would we add CSPeach?

Because the ticket is bigger than the code. CSPeach asks what the spec left out, names the objects and the order they must be built in, builds them, runs the checks, fixes what fails, and puts the change in the session's transport with a record a reviewer can read. It does the same across a whole estate: custom code inventoried, classified A to D with evidence, scanned, fixed and re-measured. And you set what it may write on which system, per system, before it writes anything.

We are on-premise S/4HANA 2021 or higher.

CSPeach runs there today. It needs no RISE with SAP contract and no service on SAP BTP — it connects over ADT to the system as it is, from the developer's laptop. SAP offers Joule for Developers on those releases subject to the special RISE with SAP contract conditions announced at SAP Sapphire, and asks you to verify entitlement and contract status with your account executive.

We are on ECC.

CSPeach works on ECC EHP7 and higher, from the developer's laptop, and writes for the release it reads from your system. ECC is not on SAP's published scope list for the Joule for Developers AI capabilities.

Does it touch our production system?

No. CSPeach is a development agent: it works in your development system, and it is not connected to production. A change reaches production the way all your changes do — through your transports and your release process. If someone does connect it to a system tagged production, its write mode is clamped to advisory-only: it proposes and never writes.

How the write gates work

Whose key, whose prompts?

Ours. Prompts go through our proxy to the model provider, so we can meter usage. Sign-in and the signed skills come from us too, and ADT traffic never passes through us. Your own model key is not offered today; it is an option for the future.

Code, credentials and prompts

Our developer already has an AI assistant and a connector.

Then the connection is solved, and the rest of the ticket is still there. The other comparison page walks a ticket stage by stage and shows what CSPeach does at each one.

CSPeach, or an AI assistant plus a connector

One week, one real ticket, on your own system.

Your developer drives. We watch, and we answer. At the end you have a change you can read.