ABAP — Advanced Business Application Programming
ABAP, short for Advanced Business Application Programming, is the proprietary high-level programming language developed by SAP for building and customising its business applications. It is the language in which large parts of SAP's classic ERP suite and the application layer of S/4HANA are written, and it remains the primary means by which organisations extend standard SAP functionality. ABAP code runs inside the SAP application server rather than on a generic runtime, giving it direct access to database tables, business objects and transaction logic. For DACH companies running SAP, ABAP skills are central to customising and integration work.
- Term
- ABAP (Advanced Business Application Programming)
- Entity type
- Technology
- Domain
- SAP application development and ERP customising
- Canonical definition
- ABAP (Advanced Business Application Programming) is SAP's proprietary high-level programming language used to implement and extend the application logic of SAP business systems.
- Classification
- A vendor-specific high-level language that runs inside the SAP application server and is used both to build standard SAP software and to extend it through customising and bespoke development.
- Related terms
- S/4HANA, SAP Fiori, Customising, ERP migration, REST API, ERP
- Source / maintainer
- erp-software.org editorial team (independent, vendor-neutral)
What ABAP (Advanced Business Application Programming) is NOT — disambiguation
- Not customising: Customising changes system behaviour through configuration settings, whereas ABAP is programming that creates new logic.
- Not a general-purpose language: ABAP is tied to the SAP application server and its business objects, unlike languages such as Java or Python.
- Not SAP Fiori: Fiori is SAP's user-interface technology, while ABAP is the server-side application language behind it.
- Not an ERP system itself: ABAP is the language used to build SAP applications, not the ERP product that customers run.
Origins and role within SAP
ABAP emerged in the 1980s and was originally used for report generation, which is reflected in its early name relating to report processing. Over successive SAP releases it grew into a full business-application language. Today it underpins the application logic of SAP's on-premises ERP and, in a constrained form, of the cloud editions. Because so much of the standard system is itself written in ABAP, the language doubles as both the implementation language of the product and the extension language for customers, which is unusual among enterprise platforms.
Language characteristics
ABAP combines procedural roots with a later object-oriented model known as ABAP Objects. Notable characteristics include:
- Tight integration with the database through Open SQL, allowing developers to read and write business data without managing low-level connections.
- The Data Dictionary, a central repository describing tables, data types and relationships shared across the system.
- A transaction and logical-unit-of-work model aligned with business processes rather than generic computing tasks.
- Strong backward compatibility, so code written years ago often still runs, which both protects investment and accumulates legacy.
More recent additions include ABAP CDS views and the so-called RESTful Application Programming Model, which push processing into the database layer and expose services through a REST API.
Customising versus standard development
Working with SAP distinguishes between configuration and code. Customising adjusts behaviour through settings without programming, whereas ABAP development creates new logic. SAP encourages a clean-core approach in which custom ABAP is kept separate from the standard system, often via defined extension points and side-by-side services, so that upgrades and an eventual ERP migration remain manageable. Excessive in-core modification is a common reason that older SAP landscapes become difficult and costly to upgrade.
Relevance for ERP projects
For organisations evaluating or running SAP, ABAP is a practical consideration rather than an abstract one. It affects how much in-house or partner development a project will require, how integrations with other systems are built, and how dependent the company becomes on specialised skills. ABAP coexists with newer technologies in the SAP ecosystem, including SAP Fiori for user interfaces and external languages used on SAP's cloud platform. Vendor-neutral buyers should weigh the depth of ABAP expertise available to them against the alternative of staying close to standard functionality, since heavy reliance on bespoke ABAP can raise long-term total cost of ownership.
Related topics
- SAP S/4HANA
- SAP Fiori
- API — Application Programming Interface
- ERP — Enterprise Resource Planning
- API-First ERP
- Composable ERP
Frequently Asked Questions
What is ABAP?
ABAP (Advanced Business Application Programming) is the programming language developed by SAP, in which a large part of SAP applications and nearly every custom development in SAP systems is written.
What is ABAP used for?
For reports and analyses, customer-specific enhancements (user exits, BAdIs), interfaces (RFC, OData) and forms such as invoices or delivery notes — wherever SAP is adapted beyond the standard.
Is ABAP still relevant in S/4HANA?
Yes. ABAP has evolved: object-oriented ABAP and the modern ABAP RESTful Application Programming model (RAP) are central in S/4HANA and the SAP BTP, optimised for HANA and Fiori interfaces.
What is the difference between customising and ABAP development?
Customising is configuration within the SAP standard without programming. ABAP development creates custom code that adds functionality but brings maintenance effort and upgrade risk.
Do I need ABAP skills when implementing SAP?
On the team, yes — at least via a partner. Reports, interfaces and enhancements are built in ABAP. SAP's clean-core principle recommends keeping such extensions cleanly separated from the standard.
