Christoph Lordieck
5. November 2019

ABAP – Das Besondere an SAPs Programmiersprache

ABAP ist die herstellergebundene Programmiersprache von SAP, auf der ein Großteil der SAP-Anwendungen basiert. Warum ist das so? Was hebt ABAP von anderen Programmiersprachen ab? Und von welchen Features profitieren Anwender besonders? Wenn Sie Antworten auf diese Fragen suchen, sind Sie hier richtig.

Was ist ABAP?

ABAP steht für „Advanced Business Application Programming“ und ist die proprietäre Programmiersprache von SAP, d. h. sie ist herstellerspezifisch. Damit unterscheidet sie sich von freien Programmiersprachen wie bspw. Java. ABAP 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.

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

SAP Best Practice Tools

SAP Best Practice Tools [Video Demo]

Bei dieser Video Demo zum Thema „SAP Best Practice Tools – Erleichtern Sie Ihren Arbeitsalltag“ dreht sich alles rund um hilfreiche Tools im SAP-Bereich.

Was unterscheidet ABAP von anderen Programmiersprachen?

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.

Unser E-Book zu den ABAP Entwicklungsrichtlinien

E-Book: ABAP Entwicklungsrichtlinien

Richtlinien zur Programmierung und Praxistipps zum Thema ABAP-Entwicklung.

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.

In diesem Webinar erfahren Sie alles rund um die SAP-Entwicklungsthemen.

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.

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.

Christoph Lordieck

Christoph Lordieck

Mein Name ist Christoph Lordieck. Einige Jahre Projekt- und Umsetzungserfahrung hat meinen Wissenshunger noch nicht gestillt und ich suche ständig nach neuen Themen und technischen Entwicklungen im ABAP Umfeld. Ich freue mich auf Ihre Frage oder Anregung!

Sie haben Fragen? Kontaktieren Sie mich!


Das könnte Sie auch interessieren

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 häufig noch nicht eingesetzt wird. Einige Kunden haben jedoch schon erste […]

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 sich ABAP-Grundlagen aneignen kann. Egal ob Azubis, Studenten, Berufseinsteiger- oder […]

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 vielen kleinen Bugs liebgewonnen.

weiterlesen

Mehr von unseren Partnern


Unsere Produkte zu ABAP – Das Besondere an SAPs Programmiersprache

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 geht? Was wäre, wenn es hilfreiche Tools gibt, die Sie […]

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 wir uns unterhalten.

Mehr Informationen

Schreiben Sie einen Kommentar

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





Angebot anfordern
Preisliste herunterladen
Expert Session
Support