ARTICLE
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.
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:
Internet Communication Manager
( ICM )
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.
RFC Interface
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 ABAP s 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 tra
nsfer 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
interfaces and 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 .
Documentation extract taken from SAP system, � Copyright SAP AG. All rights reserved