Lesson 3 of 6
Quick fixes first, then AI fixes
9 min
Listen to this lesson
There are two kinds of automatic fix in the S/4HANA custom code workflow, and they deserve different levels of trust. A quick fix is a deterministic transformation that SAP ships with a check: the same finding gets the same change every time. An AI fix is a generated proposal: useful for the long tail of findings without a quick fix, but not repeatable and not guaranteed to preserve behavior. The order matters: deterministic first, AI second, people throughout.
Deterministic quick fixes
In ADT, findings that can be fixed with a quick fix show a lightbulb icon in the ATC Problems view. Select one and press Ctrl+1, or open the context menu and choose Quick Fix, then Finish. For many findings at once, select them and choose Recommended Quick Fixes: the wizard proposes the recommended fix per finding, lets you pick alternatives, and can recheck the findings afterwards. SAP recommends applying the quick fixes it shows by default. Quick fix comments can record the old code, a description and optionally the author and date in the source, which helps reviewers later.
| Check | Simplification item | Example of what a quick fix addresses |
|---|---|---|
| S/4HANA: Field length extensions | 2215852 (MATNR), 2610650 (amounts) | Declarations and conversions for longer material numbers and amounts |
| S/4HANA: Search for database operations | 2198647 (VBFA, VBUK, VBUP), 2220005 (KONV), 2431747 (BSEG) | Database access to simplified SD, pricing and GL tables |
| S/4HANA: Search for usages of simplified objects | 2198647 (VBTYP) | Use of the changed document category field |
| S/4HANA: Search for S/4 related syntax errors | 2198647 (VBTYP) | Syntax errors caused by simplifications |
| Problematic SELECT / OPEN CURSOR without ORDER BY | Not tied to one item | Missing ORDER BY where results are read in order |
Checks with quick fixes in SAP's custom code migration guide for 2025; not every finding of these checks has one.
SAP also offers transferable quick fixes before the conversion: you export quick fix instructions as a ZIP from the Analyze Custom Code / Custom Code Migration app and apply them on the ECC system with transaction ATC (Upload and Run ATC Quick Fixes), after implementing SAP Note 3756014. That lets teams remove syntax errors before the technical conversion. Kenji's team tried them in ED1 on the objects with the most syntax-error findings, to judge how much of the post-conversion cleanup they could pull forward.
AI fixes: Joule code proposals
For findings without a quick fix, Joule can generate a code proposal. SAP documents three ways: a Generate Code Proposal link at the end of an explanation, the Generate Joule-based Code Proposal option on the error marker in the editor (Quick Assist), and Get Code Proposal from the context menu of a finding when the side-by-side setup is enabled. Choosing Apply opens the original and refactored code side by side; Finish comments out the original code and applies the new code in the editor. Insert and Copy are the alternatives.
Why this order
| Property | Quick fix | AI code proposal |
|---|---|---|
| Same input, same output? | Yes | No; a second request may differ |
| Who designed the change? | SAP, for a known pattern | A model, from context it was given |
| Review effort | Spot checks plus ATC recheck | Line-by-line review of each proposal |
| Best for | High-volume, known patterns | Long-tail findings with no quick fix |
| Cost | No AI consumption | Consumes AI Units under Joule for Developers billing |
| Evidence needed | ATC recheck; regression tests by risk | ATC recheck, review record and regression tests |
SAP's own agent, covered in lesson 4, follows the same order: it runs ATC, applies deterministic quick fixes automatically, and only then uses AI for the remaining findings. That's a useful sign. The order isn't a preference of cautious teams; it's how SAP built the tooling.
Reviewing an AI proposal
The side-by-side view that opens on Apply is the right place to review, before the code reaches the editor. Kenji's team uses five questions for every proposal: Does it replace the simplified access with the replacement the SAP Note describes? Does it keep the selection logic (same WHERE conditions, same document types)? Does it handle the new field lengths? Does it keep error handling and authorization checks the original had? Is there anything the original did that the proposal silently dropped? If any answer is unclear, the developer reads the note and the code, not a second proposal.
What would you do?
A developer has 40 findings on a rarely used reporting program. Twelve have quick fixes, 28 don't. She asks whether she can let Joule propose fixes for all 40 "to keep it consistent". What do you advise?
- Quick fixes are deterministic and SAP-designed; apply them first, in batch with Recommended Quick Fixes.
- Transferable quick fixes can be applied on ECC before conversion (SAP Note 3756014).
- Joule code proposals cover findings without quick fixes; Finish comments out the original and applies the new code.
- Every AI proposal gets a line-by-line review and an ATC recheck; high-risk objects stay with their owners.
Check your understanding · not graded
Lesson check
1. How do you apply quick fixes to many ATC findings at once in ADT?
2. What happens when you choose Finish on a Joule code proposal?
3. Where are transferable quick fixes applied before the conversion?
4. Why apply deterministic quick fixes before AI proposals?