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.
Other versions: 7.31 | 7.40 | 7.54
ABAP on Application Server ABAP
ABAP is the programming interface of Application Server ABAP (AS ABAP) in an ABAP system.
- Before the ABAP programming language can be used, an AS ABAP must be installed as the application layer of an ABAP system. AS ABAP provides the ABAP runtime environment in which ABAP programs can run independently of the platform.
- AS ABAP must be associated with a database layer or a database system where its central data is saved in a standard database.
- UI-based access requires a presentation layer that displays the AS ABAP user interface (in SAP GUI or a Web browser).
Alongside these elements, AS ABAP also has the following communication components:
The main role of ABAP programs in AS ABAP 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:
- An object-oriented programming model based on classes and interfaces
- A procedural programming model based on function modules and subroutines
Both modules are interoperable.
Note
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.
- Data modeling
- ABAP Dictionary is a persistent repository for data types and their dependencies. They are visible and can be used in all other development objects. ABAP Dictionary manages the database tables, views, and lock objects in the standard AS ABAP database.
- ABAP Core Data Services (ABAP CDS) expand ABAP Dictionary by adding an implementation of the CDS concept for AS ABAP. A (mostly) cross-platform CDS DDL and CDS DCL make it possible to define CDS views, CDS table functions, and associated CDS roles, plus semantic enrichment.
- Database Access
- ABAP SQL makes it possible to access database objects defined in ABAP Dictionary or ABAP CDS with implicit client handling. This access is cross-platform and integrated into the language. The performance can be optimized using the table buffering integrated into the ABAP runtime environment.
- AMDP can be used to manage and call database procedures and database functions from the SAP HANA database.
- Native SQL makes platform-specific access to databases possible. Here, ADBC enables general class-based access to databases.
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):
- Internal tables for dynamic storage and processing of mass table data in the working memory.
- An LUW concept integrated into the ABAP runtime environment, where many users can access the standard database simultaneously.
- 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.
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.