Vous êtes sur la page 1sur 15

ABAP

Advanced Business Application


Programming

CONTENTS

Overview

History

ABAP System Architecture

ABAP Runtime Environment

OO ABAP & JAVA

Types of ABAP programs

ABAP Workbench

OVERVIEW

ABAP (Advanced Business Application Programming), for "general

report

creation

processor

is

high-level

programming

language created by the German software company SAP

Currently positioned, alongside the Java as the language for


programming

the

SAP

Application

Server,

part

of

its NetWeaver platform for building business applications

Syntax of ABAP is similar to COBOL

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).

OVERVIEW

ABAP language was originally used by developers


to develop the SAP R/3 platform

ABAP used by the SAP customers to enhance SAP

applications where customers can develop custom


reports and interfaces with ABAP programming.

HISTORY

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 RUNTIME ENVIRONMENT

ABAP programs reside inside the SAP database. They


are not stored in separate external files like Java or C++
programs.
In the database, all ABAP code exists in two forms:
Source code: which can be viewed and edited
with the ABAP workbench tools
Generated code: a binary representation
somewhat comparable with Java byte code
ABAP programs execute under the control of the
runtime system, which is part of the SAP kernel.
Runtime system is responsible for processing ABAP
statements, controlling the flow logic of screens and
responding to events; in this respect it can be seen as a
virtual machine comparable with the Java VM.

ABAP RUNTIME ENVIRONMENT


Key component of the ABAP runtime system is the
database interface, which turns databaseindependent ABAP statements ("Open SQL") into
statements understood by the underlying DBMS
("Native SQL")
The
database interface handles all the
communication with the relational database on
behalf of ABAP programs;
It also contains extra features such as buffering of
tables and frequently accessed data in the local
memory of the application server.

OO ABAP & JAVA


OO ABAP and JAVA are object oriented
programming styles. ABAP/4 was extended to
support OO concepts.
Object oriented concepts of Java, C++, etc are
adopted in OO ABAP and some features which are
specific to ABAP; it means there are some features
in ABAP which are not supported in JAVA and vice
versa.
One more important aspect to consider is ABAP
language is meant for business software
development.

OO ABAP & JAVA


Similarities:
Both OO ABAP and JAVA allow only
extending/inheriting option.
Inheritance, Polymorphism, encapsulation

one

class

Differences:
Overloading is not supported in OO ABAP
Constructor concept is handled very differently in OO ABAP
Classes/Interface in OO ABAP along with attributes and
functions have events.
Collections(ArrayList, Vector, LinkedList, Queue, Hashtable,
TreeMap, LinkedHashMap, LinkedHashSet, TreeSet) play
important role in Java; no equivalent in OO ABAP. Internal
tables and work area can be used whenever we need
collection i.e. to process basket of data.

TYPES OF ABAP PROGRAMS


ABAP program is either an executable unit or a
library, which provides reusable code to other
programs and is not independently executable.
ABAP distinguishes two types of executable
programs:

Reports follow a relatively simple programming model


whereby a user optionally enters a set of parameters
and the program then uses the input parameters to
produce a report in the form of an interactive list.

TYPES OF ABAP PROGRAMS

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.

The non-executable program types are:

INCLUDE modules
Subroutine pools
Function groups
Object classes
Interfaces
Type pools

TYPES OF ABAP PROGRAMS

An INCLUDE module gets included at generation time into the


calling unit; it is often used to subdivide very 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 WORKBENCH

The ABAP Workbench contains different tools for editing


programs. The most important of these are:

ABAP Editor for writing and editing reports, module pools,


includes and subroutine pools
ABAP Dictionary for processing database table definitions
and retrieving global types
Menu Painter for designing the user interface (menu bar,
standard toolbar, application toolbar, function key assignment)
Screen Painter for designing screens and flow logic
Function Builder for function modules
Class Builder for ABAP Objects classes and interfaces

The Object Navigator provides a single integrated


interface into these various tools.

REFERENCES
https://www.youtube.com/watch?v=YI-K4ViYMrg
http://en.wikipedia.org/wiki/ABAP
http://scn.sap.com/community/abap/blog/2013/11/1
9/conceptual-differences-between-oo-abap-andjava

Vous aimerez peut-être aussi