Definition

Advanced Business Application Programming (ABAP)

Advanced Business Application Programming (ABAP) ist die primäre Programmiersprache, die von der SAP NetWeaver Application Server ABAP und darauf laufenden Anwendungen wie SAP ERP (früher R/3), S/4HANA und CRM unterstützt wird.

SAP verwendet ABAP, um seine eigenen Anwendungen auf der NetWeaver-ABAP-Plattform zu implementieren. SAP-Kunden nutzen ABAP, um die Funktionalität von SAP-Anwendungen zu modifizieren oder ihre eigenen Anwendungen auf der NetWeaver-ABAP-Plattform zu entwickeln. ABAP ist die älteste und wahrscheinlich am weitesten verbreitete der vier großen Anwendungsplattformen von SAP, zu denen auch SAP NetWeaver Java, SAP HANA und die SAP Cloud Platform gehören.

Die Entwicklung von ABAP

SAP ABAP begann in den 1980er Jahren als Sprache zur Berichterstellung in SAP-Produkten. Als primäre Implementierungs- und Erweiterungssprache für das Enterprise-Resource-Planning-System (ERP) nahm sie in SAP R/3 eine zentrale Rolle ein. Im Laufe der Jahre kamen neue Funktionen hinzu, vor allem die Einführung objektorientierter Konstrukte, die als ABAP Objects bezeichnet werden, im Jahr 1999 und die Einführung neuer Methoden für den Datenbankzugriff und einer großen Anzahl neuer Syntax ab 2010.

Die ABAP-Funktionen sind eng mit dem verwendeten SAP R/3- oder NetWeaver-Release gekoppelt. Die einzige Möglichkeit, auf neue Funktionen der Sprache zuzugreifen, ist ein Upgrade auf eine neuere Version des ABAP-Anwendungsservers. In vielen Fällen laufen Programme, die mit Funktionen einer neueren Version des Anwendungsservers geschrieben wurden, nicht auf älteren SAP-Systemen.

ABAP-Entwicklungswerkzeuge

Der bei weitem größte Entwickler von ABAP-Code ist SAP selbst. Allerdings arbeiten viele tausend ABAP-Entwickler mit SAP-Kunden und Beratungsunternehmen zusammen, um SAP-Systeme zu warten und zu modifizieren. ABAP ist regelmäßig unter den Top 30 des Tiobe-Index, der die Popularität von Programmiersprachen grob erfasst.

Entwickler, die in ABAP arbeiten, machen dies in der Regel entweder in den ABAP Development Tools (eine Reihe von Plug-ins für Eclipse) oder in der Transaktion ABAP Workbench in der grafischen Benutzeroberfläche (GUI) von SAP. Beide Umgebungen bieten eine Reihe von Tools zur Unterstützung der Entwicklung, von der Codevervollständigung bis hin zu automatisierten Testwerkzeugen.

ABAP in Eclipse
Abbildung 1: Eine ABAP-Klasse in den ABAP Developer Tools – hier Eclipse zu sehen.

Der SAP Solution Manager bietet auch Tools für die Verwaltung des Entwicklungslebenszyklus von ABAP-Code. Es gibt nur wenig Support für Entwicklungs-Tools, die über die von SAP bereitgestellten hinausgehen, obwohl einige Kunden ihre eigenen Integrationen mit Tools von Drittanbietern für kontinuierliche Integration, Versionskontrolle und Fehlerverfolgung entwickelt haben.

Besondere Funktionen und die ABAP-Infrastruktur

ABAP steht nicht für sich allein, sondern ist in hohem Maße mit anderen Funktionen des SAP NetWeaver ABAP Application Server integriert. Dazu gehören:

  • Logische Datenbankverbindungen, die es ermöglichen, den Code von einer bestimmten Datenbank zu abstrahieren. Die eigentlichen Datenbankverbindungen werden außerhalb des ABAP-Codes konfiguriert, so dass derselbe Code in verschiedenen Datenbankumgebungen verwendet werden kann.
  • Open SQL, eine Abstraktion der SQL-Syntax, die Teil der ABAP-Sprache ist und die von der ABAP-Laufzeitumgebung in natives SQL umgewandelt wird, das für die verwendete Datenbank geeignet ist. Open SQL weist viele Ähnlichkeiten mit dem LINQ-Konzept (Language Integrated Query) von Microsoft .NET auf.
  • Interne Tabellen, die Sammlungen von Objekten enthalten, auf die über spezielle Sprachschlüsselwörter oder Open SQL zugegriffen wird. Dieses ABAP-Konzept steht im Gegensatz zu dem Konzept der typisierten Arrays wie in Java oder C++.
  • ABAP ist in die Sicherheitsinfrastruktur von SAP NetWeaver integriert.
  • Data Dictionary, ein universelles Wörterbuch mit Definitionen von Datenstrukturen, oft einschließlich Geschäftslogik, das allen ABAP-Programmen in einem System zur Verfügung steht.
  • Change and Transport System (CTS), das Änderungen an Entwicklungsobjekten verfolgt und die Übertragung von Entwicklungsobjekten in Qualitätssicherungs- und Produktionsumgebungen verwaltet.
  • Geteiltes Entwicklungssystem, das ein wichtiger Aspekt von ABAP ist. ABAP unterscheidet sich von den meisten neueren Sprachen dadurch, dass die Entwicklung in der Regel auf einem gemeinsamen System stattfindet, in dem alle Entwickler zur gleichen Zeit an denselben Entwicklungsobjekten arbeiten.

ABAP und HANA

ABAP ist nach wie vor ein wichtiger Bestandteil des SAP-Technologie-Stacks.

Obwohl es mit dem Aufkommen der HANA-Plattform in vielen Produkten eine geringere Rolle gespielt hat, ist es immer noch ein zentraler Bestandteil der am weitesten verbreiteten SAP-Produkte, spielt eine wichtige Rolle in SAP S/4HANA und wurde als Laufzeitumgebung für die SAP Cloud Platform angekündigt. 

Diese Definition wurde zuletzt im Juni 2022 aktualisiert

Lesen Sie weiter über Advanced Business Application Programming (ABAP)

Erfahren Sie mehr über Business-Software