SAP ABAP

LESEZEIT: 2 MINUTEN

Definition: SAP ABAP

(Advanced Business Application Programming)

15.09.2021

Wer früher oder später mit den Branchenlösungen des Softwareherstellers SAP in Berührung kommt, kommt auch in Kontakt mit der Programmiersprache ABAP. Die ursprünglich speziell für die Auswertung von Berichten (Reports) vorgesehene Sprache wurde im Laufe der Zeit um viele weitere und weitaus performantere Sprachelemente erweitert. Seit 1990 basieren alle SAP R/3-Module auf ABAP. Wo die Vorteile der COBOL-ähnlichen Sprache für die Anwender liegen und ob diese in Zeiten von SAP S/4 HANA noch relevant sind, zeigen wir Ihnen gerne.

Was ist SAP ABAP?

ABAP stand bei der Einführung für „Allgemeiner Berichtsaufbereitungsprozessor“, da die eigentliche Bestimmung der hausinternen Sprache die Erstellung von Auswertungen (Reports) durch die Anwender war. Eine Veränderung an der Datenbanktabelle war zuerst nicht vorgesehen. Doch ABAP wurde fortlaufend weiterentwickelt und um weitere Sprachelemente erweitert. Um dieser Weiterentwicklung Rechnung zu tragen, änderte SAP die Abkürzung ABAP zu „Advanced Business Application Programming“.

Das zu den 4GL-Sprachen gehörende ABAP wurde speziell für die Massendatenverarbeitung konstruiert. Hierbei greift ABAP auf ein Entwicklungssystem zurück, das unzähligen Programmierern die Realisierung großer Projekte ermöglicht. Hierbei handelt es sich zum einen um die Programmierern der SAP SE, die neue Anwendungen, Funktionen und Updates für die bestehenden Programmteile für ERP-Systeme entwickeln, zum anderen können externe Entwickler durch die Programmierung spezifischer Programmteile Lücken in eigenen SAP-Branchenmodulen schließen.

Da alle geänderten Objekte in sogenannten Transportaufträgen erfasst und erst nach Freigabe an das Dateisystem exportiert werden, ist gewährleistet, dass zu jedem Zeitpunkt ein lauffähiges System existiert. Hierdurch kommt es zu einer Trennung zwischen der Entwicklung und dem produktiven Einsatz der Produkte, wodurch die Produkte auch während der Weiterentwicklung nicht stillstehen.

Die entstehenden Möglichkeiten der ABAP Programmiersprache sind vielfältig.

  • Auswertung von Berichten
  • Erstellen von Listen
  • Erstellung und Optimierung eigener Datenbanktabellen
  • Generierung eigener Benutzeroberflächen
  • Entwicklung individueller Benutzeroberflächen

Was zeichnet ABAP aus?

Ähnlich zu COBOL (Common Business Oriented Language) ist die Syntax von ABAP stark an die natürliche Sprache angelehnt und wird besonders bei der Entwicklung kaufmännischer Branchenlösung gerne eingesetzt, was unter anderem daran liegt, dass ABAP als so genannte 4GL-Sprache mit wenig Codezeilen auskommt. Um die Verarbeitung großer Datenmengen zu begünstigen, geht SAP mit ABAP jedoch einen anderen Weg als die bekannten elementaren Sprachen.

  • Tabellen werden dynamisch im internen Arbeitsspeicher gespeichert
  • Optimierte Datenbankzugriffe durch SAP-Pufferung
  • Datenbankzugriffe werden über Open SQL Statements in den Quellcode integriert
  • Gleichzeitiger Zugriff mehrerer Entwickler auf die Datenbanktabelle durch OLTP (Online Transaction Processing)

Die Implementierung dieser Funktionen begünstigt zwar die Geschwindigkeit bei der Verarbeitung von großen Datenmengen, der erweiterte Sprachumfang macht ABAP aber auch um einiges komplexer.

Ratgeber SAP S/4HANA as a Service

Sie möchten auf SAP S/4HANA umsteigen und Ihr SAP-System künftig nicht selbst auf eigener Infrastruktur betreiben, sondern „as a Service“ beziehen? Dann haben Sie die Qual der Wahl zwischen vielen Varianten: Public Cloud oder Private Cloud im Rahmen von RISE with SAP oder doch lieber ein Private Cloud-Angebot eines Dienstleisters?

Wir stellen Ihnen die verschiedenen Modelle in unserem Ratgeber vor und zeigen Ihnen, worauf Sie bei der Entscheidung achten sollten.

ABAP ist von Grund auf abwärtskompatibel 

ABAP wurde laufend um neue Sprachbefehle und Funktionen erweitert. Das anfangs prozedurale Programmiersystem, aufgebaut auf Funktionsbausteinen und Unterprogrammen, wurde mit dem ABAP Release 6.10 um objektorientierte Befehle (ABAP Objects) erweitert. Trotz der Erweiterung behalten jedoch auch ältere Sprachbefehle weiterhin ihre Gültigkeit, auch wenn sie durch besser und weitaus performantere ersetzt werden. Dies gewährleistet eine komplette Abwärtskompatibilität, führt jedoch auch im Laufe der Zeit zu einem erheblichen Sprachumfang. SAP empfiehlt zwar die alten Elemente nicht mehr einzusetzen, die Vorteile dieses Ansatzes liegen jedoch auf der Hand. Die Funktionalität eigenentwickelter Funktionen und Programme bleibt immer bestehen. Zudem können alte und neue Befehle miteinander kombiniert werden. Im objektorientierten Coding können prozedurale Elemente verwendet werden und umgekehrt, wodurch sich die Leistungsfähigkeit von ABAP erheblich steigern lässt. 

Quellcode 

Die Kompilierung des Quellcodes erfolgt erst bei der erstmaligen Ausführung, wodurch die Erweiterung oder Korrektur bereits im System installierter Programme erheblich vereinfacht wird. 

Data Dictionary (DDIC) 

In ABAP sind Datentypen vom Code getrennt. Ihre Definition erfolgt, wie bei den Tabellen auch, im Data Dictionary (DDIC). Hier können auch Beschreibungen, technische Eigenschaften und Dokumentationen den Datentypen zugewiesen werden. 

Tabellen 

Tabellarische Datentypen werden fest in den Sprachumfang von ABAP integriert. Interne Tabellen und Massendaten werden dynamisch im Speicher abgelegt, worauf dann mit Open SQL Statements zugegriffen werden kann. 

Transport 

Die komplette ABAP Programmierung ist darauf ausgelegt, große Projekte mit mehreren Entwicklern realisieren zu können. Hierfür bietet es sich an, zu jeder Zeit ein lauffähiges System zur Verfügung zu haben. Um dies zu gewährleisten werden alle Änderungen in sogenannten Transportaufträgen erfasst, welche erst nach Freigabe auf dem Folgesystem importiert werden können. Hierdurch kann die Entwicklung des Programms vorangetrieben werden, ohne den produktiven Einsatz zu unterbrechen. 

Entwicklungsumgebung 

Die ursprüngliche ABAP Entwicklungsumgebung (ABAP Workbench) glänzte nicht gerade mit einem ausgeklügelten Bedienkonzept und stand vielfach in der Kritik. Das veranlasste SAP zur Entwicklung einer alternativen und besseren Arbeitsumgebung, die 2012 als „ABAP in Eclipse“ eingeführt wurde. 

SAPs ABAP in Eclipse richtet sich besonders an agile Softwareentwickler und bietet einige neue Features: 

  • Syntax Highlighting 
  • Automatische Code Vervollständigung 
  • Refactoring (Strukturverbesserung des Quellcodes) 
  • Verbesserter Debugger 
  • Implementierung von Plugins 

All das erhöht den Bedienkomfort von ABAP in Eclipse um einiges und ermöglicht eine flexible und individuelle Programmentwicklung. 

Spielt ABAP seit der Einführung von SAP S/4HANA noch eine Rolle? 

SAP arbeitete schon lange an einer Vereinfachung der Benutzerführung und auch der Datenmodelle und stellte im Jahre 2015 ihre neuste Datenbankgeneration S/4HANA vor. Bei der S/4HANA Datenbankstruktur liegt die Datenbank nicht mehr auf einem externen Datenbankserver, sondern wird mit den Programmdaten im Speicher des Applikationsservers abgelegt. Somit verschmelzen Anwendungsdaten und Datenbank, was für ABAP-Entwickler einige Veränderungen mit sich brachte. 

SAP empfiehlt aus Gründen der Performance S/4HANA direkt mit Native SQL zu programmieren. Hierdurch kommt es zu einer Verschiebung der Programme in die Datenbankschicht. Die gesamte Programmierung erfolgt somit in der Datenbank, was durch das hauseigene SAP ABAP nicht mehr möglich ist. Alle ABAP-Entwickler müssen sich somit SQL-Script als neue Programmiersprache aneignen, um die Programmierung unter S/4HANA weiterverfolgen zu können.  

Um dies den Entwickler unter ABAP zu erleichtern, wurde SAP ABAP in einigen Bereichen vereinfacht. 

Fazit 

Die hauseigene SAP Programmiersprache ABAP unterscheidet sich in vielen Punkten von anderen Sprachen. Ausgelegt auf eine effiziente Massendatenverarbeitung ermöglicht sie sowohl prozedurales als auch objektorientiertes Programmieren. Hierfür bietet sie unter der Entwicklungsumgebung ABAP in Eclipse beste Voraussetzungen für flexible, individuelle und leistungsfähige Softwareentwicklungen. 

KOSTENLOSE WEBSESSIONS, SPANNENDE EVENTS UND INFORMATIVE SEMINARE

MEHR ERFAHREN