Christoph Lordieck
15. November 2022

ABAP

ABAP ist die von SAP erstellte Programmiersprache, die die standardmäßige Programmiersprache für alle SAP-Entwicklungen darstellt. Was sich genau hinter ABAP verbirgt und welche Entwicklungsmöglichkeiten Sie haben, erfahren Sie in diesem Beitrag.

Was ist SAP ABAP?

ABAP steht für „Advanced Business Application Programming“ und ist die proprietäre Programmiersprache von SAP, sie ist also herstellerspezifisch. Damit unterscheidet sie sich von freien Programmiersprachen wie bspw. Java. Die Sprache erschien 1990 zusammen mit der dritten Generation der SAP Business Suite SAP R/3 und ist seitdem die standardmäßige Programmiersprache für SAP-Module.

SAPs Programmiersprache ABAP war von Anfang an darauf ausgelegt, mit Massendaten im Geschäftskontext umzugehen und unterscheidet sich daher deutlich von anderen Programmiersprachen und -schnittstellen.

ABAP Syntax

Hier ein Beispiel eines Codes mit ABAP:

ABAP Unit OO Testcase

Abb. 1: ABAP Unit OO Testcase.

Wie genau das ABAP RESTful Programming Model funktioniert, haben wir Ihnen in einem Beitrag genauer erläutert.

Eigenschaften von ABAP

ABAP zeichnet sich durch folgende Besonderheiten aus, die es von anderen Programmiersprachen wie C, C++ oder Java abhebt:

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 Anwendenden 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 Anwendende 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.

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 Sie Softwarekomponenten gebündelt auf dem ABAP-Server transportieren.

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

E-Book: SAP ABAP- und Fiori-Entwicklungsrichtlinien

Richtlinien zur Programmierung und Praxistipps zum Thema ABAP-Entwicklung.

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 Nutzende 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 Sie 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 Nutzende sie in der Open-Source-Software Eclipse IDE installieren können. Die ABAP-Tools ermöglichen es Entwickelnden, 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 Entwickelnden zudem, CDS Views und AMDPs anzulegen und zu pflegen. Dies ist im Gegenzug in der Workbench nicht möglich.

Beitragsbild-Wie Sie Ihre SAP-Systemlandschaft optimal auf S_4HANA vorbereiten
In diesem Webinar erfahren Sie, welche Technologien der SAP für der Umstieg auf S/4HANA wirklich wichtig sind und wie Sie das volle Potenzial von S/4HANA ausschöpfen.

Was ist ABAP OO?

ABAP OO ist eine Spracherweiterung von ABAP, die über weitere objektorientierte Sprachelemente und Konzepte verfügt. 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 Entwickelnden 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.

Oder wollen Sie ein ABAP-Entwicklungsprojekt in Ihrem Unternehmen starten? Dann helfen wir Ihnen auch hier gerne weiter! Mit unseren ABAP-Entwicklungspartnern erhalten Sie einen eigenen Partner, der Ihnen bei all Ihren ABAP-Entwicklungs-Wünschen weiterhilft – und das über eine langjährige Partnerschaft wenn Sie wollen!

FAQ

Was ist ABAP?

ABAP ist die proprietäre Programmiersprache von SAP für SAP-Module. Die Abkürzung steht für „Advanced Business Application Programming“ und der Großteil der SAP-Technologien wurden mit dieser Programmiersprache entwickelt.

Wie unterscheidet sich 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.

Christoph Lordieck

Christoph Lordieck

Als Bereichsleiter SAP Entwicklung berate ich Unternehmen rund um das Thema SAP Individualentwicklung. Einige Jahre Projekt- und Umsetzungserfahrung haben meinen Wissenshunger noch nicht gestillt und ich suche ständig nach neuen Themen und Entwicklungen im ABAP-Umfeld.

Sie haben Fragen? Kontaktieren Sie mich!


Verwandte Beiträge

In einer Umfrage zum Thema "ABAP-Entwicklung in Eclipse" haben wir unsere Kunden zur Nutzung der Entwicklungsumgebung Eclipse in Zusammenhang mit ABAP befragt. Dabei haben wir festgestellt, dass Eclipse als ABAP Entwicklungsumgebung […]

weiterlesen

Durchsucht man das Internet nach SAP ABAP Tutorials findet man eine Vielzahl von Möglichkeiten, um sich in die SAP ABAP Programmierung einzuarbeiten. Dieser Artikel zeigt die Wege, mit denen man […]

weiterlesen

Vermutlich geht es Ihnen wie mir – als SAP ABAP Entwickler ist die SE80 mein zweites Zuhause. Über die Jahre finde ich mich beinahe blind zurecht und habe auch die […]

weiterlesen

Unsere Produkte zu ABAP

Was müssen ABAP Entwickler wissen, wenn sie Applikationen für die SAP HANA Datenbank vorbereiten, entwickeln und optimieren wollen?

Mehr Informationen

Als SAP ABAP Entwickler erarbeiten Sie sich über die Zeit einen eigenen Stil und lösen Probleme auf Ihre Weise. Aber was ist, wenn es die ganze Zeit einfacher oder anders […]

Mehr Informationen

Haben Sie ein gutes Gefühl was die Code-Qualität Ihrer Kundenentwicklungen im SAP angeht? Wenn bei Lesbarkeit, Dokumentation, Modularisierung oder systematischer Transport- & Releasestrategie noch Luft nach oben ist, dann sollten […]

Mehr Informationen

Schreiben Sie einen Kommentar

Bitte füllen Sie alle mit * gekennzeichneten Felder aus. Ihre E-Mail Adresse wird nicht veröffentlicht.





Kontaktieren Sie uns!
Alexander Koessner-Maier
Alexander Kössner-Maier Kundenservice