Tuesday, June 23, 2009

ABAP Programming Language - Overview

ABAP is a programming language developed by SAP for programming commercial applications in the SAP environment.

ABAP and SAP NetWeaver

In SAP NetWeaver, ABAP is the programming interface of the 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 on 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 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 AS ABAP is stored.

Next to the three layers are the following communication components:

  • Internet Communication Manager (ICM)
The Internet Communication Manager is a process of AS ABAP and allows direct communication with the internet via HTTP/HTTPS/SMTP. The ICM can be used to connect Web-based presentation components such as Web Dynpro ABAP and BSP. The ICM also allows an AS ABAP to work 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 system different from the one in which the calling program is running. Calls are possible between different AS ABAP or between an AS ABAP and an external system. On an 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 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.
  • The 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.

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 models 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

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 Unicode. For use in a Unicode system, a program must fulfill certain prerequisites and be identified as a Unicode program.

No comments:

Blog Archive