ABAP - Keyword Documentation →  ABAP - Overview → 

ABAP Programming Language - Overview

ABAP is a programming language developed by SAP for the development of business applications in the SAP environment. The ABAP Objects component makes object-oriented programming possible.

ABAP on Application Server ABAP

ABAP is the programming interface of Application Server ABAP (AS ABAP) in SAP NetWeaver. Prerequisite for the use of the ABAP programming language is the installation of an Application Server ABAP. Most of the components of an AS ABAP can be organized according to their tasks in the layers of a three-tier client-server architecture with presentation, application, and database layers.

These three layers are accompanied by the following communication components:

This is the classical functional interface of AS ABAP. A Remote Function Call is a call of a function in a system other than the one in which the calling program is running. Calls are possible between different AS ABAPs or between an AS ABAP and an external system. On AS ABAP, the functions are realized in function modules. In external systems, specially programmed functions are called whose interface simulates a function module.
Internet Communication Manager is a process of AS ABAP that enables AS ABAP to communicate directly with the Internet using HTTP/HTTPS/SMTP. ICM is used to connect Web-based presentation components such as SAPUI5, Web Dynpro ABAP, and BSP. ICM also enables an AS ABAP to be used both as a client and as a server for Web services. ICM is accessed from within ABAP programs using the classes and interfaces of Internet Communication Framework (ICF).
ABAP Channels are a framework for event-based communication between application servers and the Internet. ABAP Messaging Channels (AMC) are used to exchange messages between ABAP programs on different application servers. ABAP Push Channels (APC), on the other hand, enable bidirectional communication between AS ABAP and the Internet using the WebSocket protocol or the TCP socket protocol.

The main role of ABAP programs in the application layer is the processing and formatting of data from the database layer and its transfer to and receipt of input from the presentation layer or the communication components.

More information about the organization of ABAP programs in AS ABAP can be found in ABAP Programs in AS ABAP.

Programming Models

ABAP supports the following:

Both models are interoperable.


ABAP Objects is the recommended approach for both new projects and when redesigning existing projects.

Database Accesses

One of the fundamental properties of ABAP as a programming language for business applications is that access to database tables is fully integrated into the language.

ABAP data modeling makes it possible to create data models for business applications that have variants on the database:
Access to data in database tables is fully integrated in ABAP:

Special Characteristics

ABAP is a 4GL language developed specifically for the mass processing of data in business applications. Alongside integrated database access, it offers the following characteristics when compared with elementary languages (where these functions are usually stored in libraries):

The integration of these functions into the language is a particular benefit for the static check-enablement and performance of programs. In return, this means that ABAP also contains considerably more language elements than an elementary programming language.

Multilingual Capability

The multilingual capability of ABAP programs is enabled by the extraction of language-specific program components from the source code, which are then reloaded when the program executes in accordance with the environment. A text environment determines the precise program behavior at runtime, for example the order in which text is sorted.