Skip to content

ABAP Keyword Documentation →  ABAP Overview 

ABAP Programming Language # Overview

ABAP is a programming language developed by SAP for programming business applications in the SAP environment. Previously only procedural, ABAP is now also an object-oriented language thanks to the ABAP Objects enhancement.

Other versions: 7.31 | 7.40 | 7.54

ABAP and SAP NetWeaver

In SAP NetWeaver, ABAP is the programming interface of Application Server ABAP (AS ABAP). 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.

  • The presentation layer is distributed to the workstations of individual users and represents the user interface of an AS ABAP ( SAP GUI or Web browser).

These three layers are accompanied by the following communication components:

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 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. To access the ICM from within ABAP programs, the classes and interfaces of the Internet Communication Framework (ICF) are used.
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.

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.

Scope and Application Areas of ABAP

ABAP is a 4GL language developed specifically for the mass processing of data in business applications. It offers the following advantages in comparison to elementary languages where these functions are stored in libraries:

  • Database access integrated into the language as Open SQL.
  • Performance optimization of database access integrated into the ABAP runtime environment through the use of SAP buffering.
  • Internal tables for dynamic storage and processing of mass table data in the working memory.
  • The concept of Online Transaction Processing (OLTP) integrated into the ABAP runtime environment, enabling multiple users to access the central database at the same time using the SAP LUW.
  • The language has an integrated interface to other programming environments using Remote Function Call.
  • The language has an integrated interface to XML.

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.

Programming Models

ABAP supports an object-oriented programming model that is based on classes and interfacesand a procedural model based on subroutines and function modules. Both modules are interoperable.


Note

We recommend that you use ABAP Objects as much as possible for both new projects and for redesigning existing projects.

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, for example the order in which text is sorted, at runtime. ABAP supports code pages, single-byte code, double byte code, and Unicode. For use in a Unicode system, a program must fulfill certain prerequisites and be identified as a Unicode program.