
Was ist SAP ABAP?
Inhalt
ABAP Programmiersprache – Unterschiede zu anderen Sprachen
ABAP zeichnet sich durch folgende Besonderheiten aus, die es von anderen Programmiersprachen wie C, C++ oder Java abheben:
Data Dictionary
Die Datentypen, die ABAP verwendet, sind einfach, statisch und strukturiert und werden in einem Data Dictionary (DDIC) definiert und gespeichert. So entsteht eine Trennung zwischen Datentypen und Anwendungscodes, die es Anwendern ermöglicht, die DDIC-Typen auch im prozeduralen ABAP in verschiedenen Anwendungen wiederzuverwenden.
Tabellarische Datentypen von ABAP
Auch tabellarische Datentypen gehören zum Kern des ABAP-Sprachumfangs. Über eigene Befehle, die in ABAP integriert sind, haben Anwender Zugriff auf Tabellenzeilen, Datenbankupdates über Tabelleninhalte usw.
ABAPs „Friends“-Konzept
Ein weiteres Konzept, das ABAP von anderen Programmiersprachen unterscheidet, ist das „Friends“-Konzept: Danach können Objekttypen bzw. Klassen auf private Komponenten anderer Objekttypen bzw. Komponenten zugreifen. Das ist normalerweise nicht möglich, in seltenen Fällen aber erforderlich. Das Friends-Konzept macht’s möglich: Nehmen wir an, Klasse A ist bei Klasse B als Freund registriert und umgekehrt. Dann kann Klasse A auf die privaten Komponenten von Klasse B zugreifen und B auf die privaten Komponenten von A.
ABAP und der Application Server
ABAP läuft auf dem SAP Netweaver Application Server. Dieser ist nicht nur als ABAP-, sondern auch als JAVA-EE-Applikationsserver (oder im Dual-Stack sogar eine Kombination aus beiden) verfügbar. Im Dual-Stock gibt es auch eine Kombination aus beiden. Über Transportaufträge können Softwarekomponenten gebündelt auf dem ABAP-Server transportiert werden.
Interne Versionsverwaltung
In der Webentwicklung wird die Versionsverwaltung oft in eine externe Software wie GIT ausgelagert – nicht so in ABAP: hier findet die Versionsverwaltung intern statt. Die Anbindung an verwaltete Verzeichnisse zur Speicherung von digitalen Objekten läuft über abapGit.
Abwärtskompatibilität
Der Sprachumfang von ABAP ist größtenteils abwärtskompatibel: Neue Updates führen nicht dazu, dass ältere Versionen ungültig werden. Stattdessen können Anwender sie weiterhin verwenden. Dass sowohl ältere als auch neuere Befehle parallel bestehen bleiben können, führt zu dem hohen Sprachumfang von ABAP. Allerdings bestätigen auch hier Ausnahmen die Regel, denn bei der Erweiterung ABAP OO gibt es einige Elemente, die nicht mehr zulässig sind.
Grundsätzlich gilt aber, dass alte Entwicklungen funktionsfähig bleiben und nicht bei jedem Upgrade erneuert werden müssen.
Programmiermodelle und Entwicklungsumgebungen
Im Folgenden stelle ich Ihnen die beiden am meisten verbreiteten Entwicklungsumgebungen für die Softwareentwicklung mit ABAP vor:
ABAP (Development) Workbench
ABAP Workbench ist die aktuell dominierende integrierte Entwicklungsumgebung von ABAP in der SAP GUI. Damit ist sie an die Möglichkeiten und Grenzen der SAP User Interface gebunden und so können Nutzer bspw. immer nur eine begrenzte Anzahl an Fenstern gleichzeitig öffnen. Die Workbench bietet Einzeltransaktionen sowie den Editor für ABAP-Programme. Mit den ABAP Development Tools (ADT) können Nutzer die Entwicklungsumgebung erweitern.
ABAP Development Tools für die Eclipse IDE
Die ABAP Development Tools ermöglichen die Verbindung von Eclipse als Entwicklungsumgebung mit dem ABAP-Backend-Server. Sie werden von SAP bereitgestellt, sodass Nutzer sie in der Open-Source-Software Eclipse IDE installieren können. Die ABAP-Tools ermöglichen es Entwicklern, alle notwendigen Tätigkeiten integriert in der Eclipse IDE durchzuführen.
Dazu gehören folgende Aufgaben:
- Anlegen von Entwicklungsobjekten (Programme, Klassen, Funktionsbausteine)
- Anlegen von Data-Dictionary-Objekten (Datenelemente oder Tabellen)
- Ausführen des „Codes Inspector/ABAP Test Cockpit“
- Freigabe von Transporten
Die Development-Tools ermöglichen es Entwicklern zudem, CDS Views und AMDPs anzulegen und zu pflegen. Dies ist im Gegenzug in der Workbench nicht möglich.
Die ABAP-Erweiterung ABAP OO
Mit dem Release von ABAP OO erweiterte SAP den Sprachumfang ABAPs um weitere objektorientierte Sprachelemente und Konzepte. Dabei können Sie aber weiterhin den Großteil der bestehenden Sprachelemente von ABAP in ABAP OO nutzen. Infolge der Verbindung von ABAP und ABAP OO unterstützt die Sprache nun sowohl das klassische prozedurale als auch das objektorientierte Programmiermodell.
ABAP OO ermöglicht so die Nutzung von:
- Interfaces
- Globalen (auch abstrakten) Klassen
- Lokalen Klassen, die nur in einem Programm/Funktionsbaustein/o. Ä. zur Verfügung stehen
- Vererbungshierarchien und Polymorphien
Wozu die Objektorientierung durch ABAP OO?
Die Integrierung der Objektorientierung ermöglicht es Entwicklern in ABAP OO, Anwendungen zu modularisieren, um so die Entwicklung zu vereinfachen. Die Objektorientierung verbessert außerdem die Laufzeit-Performance und minimiert unnötige oder konkurrierende Datenbankabfragen.

Mehr Entwicklungsmöglichkeiten durch ABAP
Als herstellergebundene Entwicklungssprache von SAP unterscheidet sich ABAP in vielerlei Hinsicht von anderen Entwicklungssprachen. So können durch das „Friends“-Konzept beispielsweise Klassen miteinander „befreundet“ sein. Die Versionsverwaltung findet intern und nicht auf einer externen Software statt. Durch die Erweiterung ABAP OO werden sowohl prozedurale als auch projektorientierte Programmiermodelle unterstützt. Dadurch bietet ABAP für Entwickler viele neue Möglichkeiten an einem zentralen Ort.
Haben Sie Fragen zum Thema ABAP oder ABAP OO? Dann hinterlassen Sie einen Kommentar oder kontaktieren Sie uns gern unter info@erlebe-software.de.
Technische Details zu SAP ABAP
Entwickler: SAP SE
Einführung: 1990
Aktuelle Version: 7.55 (release notes)
Dokumentation von SAP zu ABAP: hier
ABAP Syntax und ABAP Code Beispiel
Details zur Syntax und Coding Best-Practices erhalten sie in folgenden unserer Beiträge:
Hier ein Beispiel eines Codes mit ABAP:
Weiterführende Quellen:
Buch: Schnelleinstieg ABAP mit Eclipse
FAQ
Was ist ABAP?
ABAP ist die proprietäre Programmiersprache von SAP für SAP-Module.
Was ist anders bei ABAP?
Durch folgende Features unterscheidet sich ABAP von anderen Programmiersprachen:
- Einfache, wiederverwendbare Datenstrukturen
- Integrierte, tabellarische Datentypen
- Das Friends-Konzept erlaubt den Zugriff verschiedener Klassen auf private und öffentliche Komponenten
- Gebündelte Transportaufträge zwischen Systemen über den Application Server
- Interne Versionsverwaltung
- Abwärtskompatibilität
Welche Modelle und Entwicklungsumgebungen bietet ABAP?
ABAP bietet die Development Workbench als integrierte Umgebung und die Development Tools für die Verbindung zu Eclipse IDE an.
Was kann die ABAP-Erweiterung ABAP OO?
Die Erweiterung ABAP OO ergänzt die prozedurale Sprache um objektorientierte Programmiermöglichkeiten und vereinfach so die Entwicklung und minimiert unnötige Datenbankzugriffe.

Websession: ABAP
Sollten Sie Fragen zu uns und unserer Arbeit oder konkret zu Umstellungsprojekten haben, dann vereinbaren Sie eine kostenlose Websession mit uns.