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).
- The application layer is realized by one or more application servers. The application layer contains the ABAP runtime environment in which ABAP programs are executed.
- The database layer consists of a database system in which the central dataset of an AS ABAP is stored.
These three layers are accompanied by the following communication components:
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 of particular benefit for the enabling of static checks 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 interfaces and a procedural model based on subroutines and function modules. Both modules display interoperability.
Note
We recommend using 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.