Now accepting guest editorial from SAP, Oracle, Workday and ServiceNow practitioners.Pitch a guide
The Sign-Off Table

Lesson 1 of 6

Why review changes when agents write code

8 min

Listen to this lesson

0:00 / 6:12

Kenji's ABAP team at Contoso now writes a growing share of its code with AI help: SAP Joule for Developers in ABAP Development Tools proposes code and ABAP Unit tests, and some developers drive a coding agent through SAP's ABAP MCP server. Theo's integration team uses AI to draft Groovy scripts and mappings for the move from Process Orchestration to SAP Integration Suite. The BTP team generates CAP services and UI5 apps. The output arrives faster than anyone can read it line by line. That moves the weight from the author to the quality gates: automated checks every change must pass, plus a focused human review of what the checks can't judge.

This course defines those gates for AI-generated ABAP, CAP, UI5 and integration content, wires them into the agent's own loop and turns the results into release evidence. It assumes you know ATC (sap-abp-204) and ABAP Unit (sap-abp-205); sap-aiq-201 covers a coding agent's guardrails in a test repository.

How AI-generated SAP code goes wrong

Failure patternABAP exampleCAP, UI5 or integration exampleCaught by
Invented APICalls a class or method that doesn't exist, or a BAPI not released for ABAP CloudImports a UI5 module path that doesn't existSyntax check, ATC, lint
Non-released or deprecated APIReads table VBAK directly in ABAP Cloud codeUses a UI5 API deprecated before UI5 2.xATC cloud readiness checks, UI5 linter
Missing authorizationA new method skips the authority check its siblings haveA CAP entity without @restrict or @requiresReview, tests as different users
Wrong transaction handlingCOMMIT WORK inside a RAP behavior implementationSide effects in a CAP read handlerATC, review
Hard-coded org dataCompany code 1710 written into logicA destination name or URL hard-codedReview, ATC custom checks
Tests that prove nothingABAP Unit test that asserts the result equals itself, or only that no exception occurredA CAP test that checks only the HTTP statusReview, mutation check
Weakened testsAn agent edits a failing assertion to pass instead of fixing the codeDeleted test files in a diffDiff review, protected test paths
Mapping edge casesNot applicableEmpty segments, date and time zones, decimal separators, namespacesMapping simulation, payload regression

Eight failure patterns in AI-generated SAP code and where each is caught.

None of these are new; human developers make every one of them. What changes is volume and fluency. Generated code looks clean, is formatted well and comes with tests, which makes reviewers trust it more than they should. SAP's own guidance for its ABAP Unit test generation is blunt: Joule doesn't know what the tested code should do, so review the generated tests carefully against the specification and keep them only if they match.

Agent self-checksThe agent runs syntax checks, ATC, unit tests and linters itself and fixes findings before it hands the change over.
Pipeline gatesThe same checks rerun independently in CI or at transport release, where the agent can't switch them off.
Focused human reviewA person reviews what checks can't judge: intent, authorization logic, test meaning, mapping semantics.
Downstream testsIntegration, regression and acceptance tests in CMQ catch what slipped through.
Defense in depth for AI-written changes: each layer catches what the one above misses.
The Sign-Off Table · thesignofftable.com/academy/sap-aiq-205
The path of an AI-written change: self-checks, independent gates, focused human review, then downstream testing.
The Sign-Off Table · thesignofftable.com/academy/sap-aiq-205

What a human reviewer still owns

  • Intent: does the change do what the requirement asked, and nothing else? Agents add unrequested "improvements".
  • Authorization and data access: who can call this, and what can they see or change?
  • Test meaning: would the tests fail if the behavior were wrong?
  • Diff hygiene: deleted or weakened tests, new exemptions, pragmas or pseudo-comments that silence checks.
  • Business semantics: for mappings, does each field mean the same thing on both sides?

What would you do?

An agent-written change to the core agreement behavior pool ZBP_R_CMC_COREAGREEMENT passes syntax check, ATC with no priority 1 or 2 findings, and 14 new ABAP Unit tests. The developer asks Kenji to approve it quickly. What should Kenji focus his review on?

Key points
  • When agents write more code, automated gates carry more weight, and human review concentrates on what gates can't judge.
  • AI-generated SAP code fails in familiar ways: invented or non-released APIs, missing authorization, bad transaction handling, hard-coded values, weak or weakened tests.
  • Use defense in depth: agent self-checks, independent pipeline gates, focused review, downstream tests.
  • Reviewers own intent, authorization, test meaning, diff hygiene and business semantics.

Check your understanding · not graded

Lesson check

  1. 1. Why do quality gates carry more weight when agents write more of the code?

  2. 2. What does SAP say about Joule's knowledge when it generates ABAP Unit tests?

  3. 3. Which failure pattern is a reviewer best placed to catch, rather than ATC?

  4. 4. In the defense-in-depth model, why rerun checks in the pipeline when the agent already ran them?