Escolar Documentos
Profissional Documentos
Cultura Documentos
programming language created by the German software company SAP. It is currently positioned,
alongside Java, as the language for programming the SAP Application Server, which is part of
the NetWeaver platform for building business applications.
Contents
1 Introduction
3 Transactions
5 Development Environment
o 5.1 ABAP Workbench
o 5.2 ABAP Development Tools
o 5.3 SAP Web IDE
7 ABAP syntax
o 7.1 "Hello World"
o 7.2 Chained statements
o 7.3 Comments
o 7.4 Spaces
o 7.5 ABAP statements
9 ABAP Objects
11 History
12 See also
13 References
14 External links
Introduction
ABAP is one of the many application-specific fourth-generation languages (4GLs) first
developed in the 1980s. It was originally the report language for SAP R/2, a platform that
enabled large corporations to build mainframe business applications for materials management
and financial and management accounting.
ABAP used to be an abbreviation of Allgemeiner BerichtsAufbereitungsProzessor, German for
"generic report preparation processor", but was later renamed to the English Advanced Business
Application Programming. ABAP was one of the first languages to include the concept of
Logical Databases (LDBs), which provides a high level of abstraction from the basic database
level(s).
The ABAP language was originally used by developers to develop the SAP R/3 platform. It was
also intended to be used by SAP customers to enhance SAP applications customers can develop
custom reports and interfaces with ABAP programming. The language was geared towards more
technical customers with programming experience.
ABAP remains as the language for creating programs for the client-server R/3 system, which
SAP first released in 1992. As computer hardware evolved through the 1990s, more and more of
SAP's applications and systems were written in ABAP. By 2001, all but the most basic functions
were written in ABAP. In 1999, SAP released an object-oriented extension to ABAP called
ABAP Objects, along with R/3 release 4.6.
SAP's current development platform NetWeaver supports both ABAP and Java.
ABAP has an abstraction between the business applications, the operating system and database.
This ensures that applications do not depend directly upon a specific server or database platform
and can easily be ported from one platform to another.
SAP Netweaver currently runs on UNIX (AIX, HP-UX, Solaris, Linux), Microsoft Windows,
i5/OS on IBM System i (formerly iSeries, AS/400), and z/OS on IBM System z (formerly
zSeries, S/390). Supported databases are IBM DB2, Informix, MaxDB, Oracle, and Microsoft
SQL Server (support for Informix was discontinued in SAP Basis release 7.00).[2]
presentation layer handles the interaction with users of the system. Online access to ABAP
application servers can go via a proprietary graphical interface, which is called "SAP GUI", or
via a Web browser.
Software layers
ABAP software is deployed in software components. Examples for these are:
SAP_BASIS is the required technical base layer which is required in every ABAP
system.
BBPCRM is an example for a business application, in this case the CRM application
Transactions
A transaction in SAP terminology is the execution of a program. The normal way of executing
ABAP code in the SAP system is by entering a transaction code (for instance, VA01 is the
transaction code for "Create Sales Order"). Transactions can be called via system-defined or
user-specific, role-based menus. They can also be started by entering the transaction code
directly into a command field, which is present in every SAP screen. Transactions can also be
invoked programmatically by means of the ABAP statements CALL TRANSACTION and
LEAVE TO TRANSACTION.
The general notion of a transaction is called a Logical Unit of Work (LUW) in SAP terminology.
[citation needed]
Reports
Module pools
Reports follow a relatively simple programming model whereby a user optionally enters a set of
parameters (e.g., a selection over a subSET of data) and the program then uses the input
parameters to produce a report in the form of an interactive list. The term "report" can be
somewhat misleading in that reports can also be designed to modify data; the reason why these
programs are called reports is the "list-oriented" nature of the output they produce.
Module pools define more complex patterns of user interaction using a collection of screens. The
term screen refers to the actual, physical image that the user sees. Each screen also has a "flow
logic", which refers to the ABAP code implicitly invoked by the screens, which is divided into a
"PBO" (Process Before Output) and "PAI" (Process After Input) section. In SAP documentation
the term dynpro (dynamic program) refers to the combination of the screen and its flow logic.
The non-executable program types are:
INCLUDE modules
Subroutine pools
Function groups
Object classes
Interfaces
Type pools
An INCLUDE module gets included at generation time into the calling unit; it is often used to
subdivide large programs.
Subroutine pools contain ABAP subroutines (blocks of code enclosed by FORM/ENDFORM
statements and invoked with PERFORM).
Function groups are libraries of self-contained function modules (enclosed by
FUNCTION/ENDFUNCTION and invoked with CALL FUNCTION).
Object classes and interfaces are similar to Java classes and interfaces; the first define a set of
methods and attributes, the second contain "empty" method definitions, for which any class
implementing the interface must provide explicit code.
Type pools define collections of data types and constants.
ABAP programs are composed of individual sentences (statements). The first word in a
statement is called an ABAP keyword. Each statement ends with a period. Words must always be
separated by at least one space. Statements can be indented as you wish. With keywords,
additions and operands, the ABAP runtime system does not differentiate between upper and
lowercase.
Statements can extend beyond one line. You can have several statements in a single line (though
this is not recommended). Lines that begin with asterisk * in the first column are recognized as
comment lines by the ABAP runtime system and are ignored. Double quotations marks (")
indicate that the remainder of a line is a comment.
Development Environment
There are three possible ways to develop in ABAP. The availability depends on the release of the
ABAP system.
ABAP Workbench
The ABAP Workbench is part of the ABAP system and is accessed via SAPgui. It contains
different tools for editing programs. The most important of these are (transaction codes are
shown in parentheses):
ABAP Editor for writing and editing reports, module pools, includes and subroutine pools
(SE38)
ABAP Dictionary for processing database table definitions and retrieving global types
(SE11)
Menu Painter for designing the user interface (menu bar, standard toolbar, application
toolbar, function key assignment) (SE41)
The Object Navigator (transaction SE80) provides a single integrated interface into these various
tools.