ABAP is a programming language developed by SAP for programming commercial applications in the SAP environment. Since the introduction of SAP NetWeaver, SAP also offers a programming environment for Java.
ABAP and SAP NetWeaver
In SAP NetWeaver, ABAP is the programming interface of the SAP NetWeaver Application Server ABAP. Prerequisite for the use of the ABAP programming language is the installation of an SAP system based on SAP NetWeaver Application Server ABAP. An SAP system of this type is based on a three-tier client-server architecture with presentation, application, and database layers.
- The presentation layer is distributed on the workstations of individual users and represents the user interface of the ABAP-based SAP system ( SAP GUI or Web browser).
- The application layer is realized by one or more application servers. The ABAP runtime environment 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 ABAP-based SAP system is stored.
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 user input from the presentation layer.
Scope and application areas of ABAP
ABAP is a 4GL language developed specifically for the mass processing of data in commercial applications. It offers the following advantages in comparison to elementary languages in which these functions are stored in libraries:
- Database access integrated into the language as Open SQL.
- Performance optimization of database accesses integrated into the ABAP runtime environment through the use of SAP buffering.
- Internal tables for dynamic storage and processing of tabular mass data in the working memory.
- Concept of Online Transaction Processing (OLTP) integrated in the ABAP runtime environment, enabling several users to access the central database at the same time using the SAP LUW.
- The language has an integrated interface to other programming environments via Remote Function Call.
- The language has an integrated interface to XML.
The integration of these functions into the language is particularly advantageous for the static checkability and the performance of programs. In return, this means that ABAP also contains considerably more language elements than an elementary programming language.
ABAP supports a procedural object-oriented programming model that is based on subrountines and function modules, and from release 6.10, the programming model is based on classes and interfaces. Both models are interoperable.
ABAP programs can be programmed completely independently of language. This is enabled by the extraction of language-specific program components from the source code, which are then reloaded during program execution according to 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 from release 6.10, Unicode. For use in a Unicode system, a program must fulfill certain prerequisites and be identified as a Unicode program.