SAP ConsultingPlatform and development
SAP ABAP Development
SAP ABAP is the language S/4HANA itself is written in; reports, interfaces, forms and business rules added to standard processes are all built with it. For new development SAP recommends ABAP Cloud, RAP and CDS, while existing code is graded against the clean core levels.
Process
Building an app with RAP in SAP ABAP
Each layer from data model to service is a separate object built in ADT, and each object is recorded on a transport request.
- 01Data modelDEFINE VIEW ENTITY
Business meaning over tables
- 02ProjectionMetadata extension
UI annotations live here
- 03Behavior definitionBDEF · managed/unmanaged
Create, update, delete
- 04Behavior poolABAP class · EML
Business rules in ABAP
- 05Service definitionDEFINE SERVICE
What gets exposed
- 06Service bindingOData V4 · UI / Web API
Fiori elements or an API
Layers
Clean core levels A to D
In August 2025 SAP replaced the three-tier model with these four levels; the level is measured with the clean core checks in ATC.
- 01
A · ABAP Cloud
- Released APIs only
- RAP and CDS
- CAP, SAP Build on BTP
- Upgrade-stable
- 02
B · Classic APIs
- SAP's classic APIs
- Documented, mostly stable
- Counted as compliant
- 03
C · SAP internals
- Access to internal objects
- Partially compliant
- Tracked via changelog, ATC
- 04
D · Not recommended
- Modifications
- Implicit enhancements
- Writes to SAP tables
- Technical debt to reduce
Scope
SAP ABAP work we deliver
Transactional apps with RAP
CDS view entities, behavior definitions and service bindings, ending in a Fiori elements app or an OData V4 Web API.
Custom code migration
S/4HANA readiness analysis with Custom Code Migration (F3191) and ATC; unused code removed using SCMON data.
Clean core assessment
ATC checks measure the A-D level; scheduled ATC runs (F7616) and Extensibility Inventory (F2587) track it.
Code pushdown and performance
Data-heavy logic moves to the database with CDS, and AMDP where needed; the effect is measured with SAT and ST05.
Extension points
Released BAdIs, RAP extensions, key user fields and logic (F1481, F6957) in place of modifications.
Forms and output
Adobe forms (SFP) and SAP Forms service by Adobe; upkeep of existing SmartForms under output control.
Current state
What S/4HANA means for SAP ABAP code
- The data model was simplified: ACDOCA, MATDOC, the removal of VBUK/VBUP, the mandatory Business Partner and 40-character material numbers all hit code written against the old tables.
- SAP HANA is the only database. Without ORDER BY a SELECT has no guaranteed sort order, and data-heavy calculations are pushed down with CDS and AMDP.
- CDS and RAP objects can only be edited in ADT, which runs in Eclipse and in the SAP extension for VS Code. ALV does not exist in ABAP Cloud; new screens use Fiori elements.
- In ABAP Cloud an OData service is published through a RAP service binding, not SEGW. DDIC-based CDS views (DEFINE VIEW) are obsolete since ABAP 7.57.
Localization
Code items specific to Türkiye
e-Document integration code
Custom ABAP for e-Invoice, e-Dispatch notes or e-Ledger takes one of three paths at conversion: fixed and carried over, or replaced by SAP DRC or Negzel products.
E-InvoiceInflation adjustment reports
S/4HANA has no standard inflation solution for Türkiye (SAP Note 3378302), so custom reports written since 2023 go on the list of code to migrate.
Turkish characters in forms
Adobe and SmartForms output needs the right font and encoding settings. S/4HANA is Unicode-only, so programs that assume an old code page can break.
From the field
Findings that recur in SAP ABAP code
- Part of the findings belong to dead code. Programs nobody calls still inflate the ATC list. SCMON usage data narrows the scope, automatic quick fixes are applied in bulk and the remaining findings are ranked by business criticality.
- Sort order changed on HANA, reports differ. A result that happened to come back sorted on the old database is not guaranteed on HANA without ORDER BY. ATC's HANA readiness checks find these SELECTs; fix them before the conversion.
- Modifications land in SPAU at upgrades. Modifications and implicit enhancements are level D and need adjusting during upgrades. Replacing them with released BAdIs, RAP extensions or side-by-side extensions on BTP shortens the SPAU list.
- The API you need is not released. There are three ways forward: use a classic SAP API and accept level B, request the API from SAP through Customer Influence, or use the internal object and track level C with the changelog.
FAQ
SAP ABAP development questions
What is SAP ABAP, and how is ABAP Cloud different?
SAP ABAP is the SAP programming language that S/4HANA itself is written in. ABAP Cloud is a restricted development model within it: the "ABAP for Cloud Development" language version, released APIs only, RAP and CDS. It runs in the BTP ABAP environment, in public cloud and, since release 2022, in private cloud and on-premise S/4HANA, where classic ABAP keeps working too.
What are the clean core levels A, B, C and D?
The classification SAP introduced in August 2025 in place of the three-tier model. A covers ABAP Cloud and BTP extensions built on released APIs, B code using SAP's classic APIs, C code that touches SAP internal objects, and D techniques SAP advises against, such as modifications and implicit enhancements. ATC checks and SAP's Cloudification Repository measure it.
What happens to our custom code in an S/4HANA conversion?
First, usage data identifies code that never runs, and it is dropped. The rest is analyzed with ATC's S/4HANA readiness checks and Custom Code Migration (F3191); quick fixes are applied in bulk and the remainder by hand. SPDD and SPAU adjustments follow during the conversion, then regression testing.
What can AI do in custom code migration?
SAP's Custom Code Migration Agent runs the ATC readiness checks, classifies findings, applies deterministic fixes in bulk and generates AI fixes with a confidence score for the rest. The target must be S/4HANA 2023 or later, and it needs the MCP server in ADT for Eclipse, Joule for Developers ABAP AI capabilities and a GitHub Copilot Pro or Amazon Q Developer Pro license.
Do SmartForms still work in S/4HANA?
Yes. S/4HANA output control supports SmartForms and SAPscript, but only with the PDF1 and PDFUC device types. SAP recommends Adobe Document Services (ADS), and whether an output goes through the classic route or output control depends on the application.
Do we need Eclipse for ABAP development?
CDS and RAP objects require ADT, which is available in Eclipse and as SAP's VS Code extension. SAP documents the extension for SAP NetWeaver 7.3 EHP1 SP04 or higher, S/4HANA 1709 or higher and the BTP ABAP environment; features vary by release. Classic objects can still be edited in SE80 in SAP GUI.
Sources12 sourcesSAP Help Portal, SAP Learning, SAP News Center +2
SAP Help Portal
- ABAP CDS in Release 7.57 - ABAP Keyword Documentation help.sap.com (opens in a new tab)
- SELECT, ORDER BY - ABAP Keyword Documentation help.sap.com (opens in a new tab)
- Installing Adobe Document Services (ADS) help.sap.com (opens in a new tab)
- SAP S/4HANA Custom Code Migration Agent help.sap.com (opens in a new tab)
- ABAP Development Tools for Visual Studio Code help.sap.com (opens in a new tab)
- Note on Inflation Management help.sap.com (opens in a new tab)
- Simplification List for SAP S/4HANA 2023 initial shipment, Feature Pack Stack 1-3 help.sap.com (opens in a new tab)
SAP Learning
SAP News Center
SAP GitHub
SAP Community
Sources checked as of October 2026.
SAP Consulting
Let's map your custom code
Bring your ATC results and your most-used developments, and we will decide with you what moves across and what gets retired.
- Home
- SAP Consulting
- SAP ABAP Development

