ABAP (Advanced Business Application Programming) ist die primäre Programmiersprache, die auf der SAP NetWeaver ABAP Application Server-Plattform und den darauf ausgeführten Anwendungen wie SAP ERP (ehemals R/3), S/4HANA und CRM unterstützt wird.

SAP verwendet ABAP, um eigene Anwendungen auf der NetWeaver ABAP Platform zu implementieren, und SAP-Kunden verwenden ABAP, um die Funktionalität von SAP-Anwendungen zu ändern oder eigene auf der NetWeaver ABAP Platform zu erstellen. ABAP ist die älteste und wahrscheinlich am weitesten verbreitete der vier großen Anwendungsplattformen von SAP, zu der auch SAP NetWeaver Java, SAP HANA und SAP Cloud Platform gehören.

Entwicklung von ABAP

SAP ABAP begann in den 1980er Jahren als Berichtssprache in SAP-Produkten. Es übernahm eine zentrale Rolle in SAP R / 3 als primäre Implementierungs- und Erweiterungssprache des ERP-Systems (Enterprise Resource Planning). Im Laufe der Jahre hat es neue Funktionen erhalten, insbesondere die Einführung objektorientierter Konstrukte, die als ABAP-Objekte bezeichnet werden, im Jahr 1999 und die Einführung neuer Datenbankzugriffsmethoden und einer großen Menge neuer Syntax ab etwa 2010.

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

ABAP-Entwicklungstools

Der mit Abstand größte Entwickler von ABAP-Code ist SAP selbst. Viele tausend ABAP-Entwickler arbeiten jedoch mit SAP-Kunden und Beratungsunternehmen zusammen, um SAP-Systeme zu warten und zu modifizieren. ABAP befindet sich regelmäßig in den Top 30 des Tiobe-Index, der grob die Beliebtheit von Programmiersprachen abbildet.

Entwickler, die in ABAP arbeiten, tun dies in der Regel entweder in den ABAP-Entwicklungstools (eine Reihe von Plug-Ins für die Open-Source-Java-Entwicklungsplattform Eclipse) oder in der ABAP Workbench-Transaktion 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 Testtools.

 ABAP-Klasse in Eclipse
Eine leere ABAP-Klasse in den ABAP Developer Tools wie in Eclipse.

SAP Solution Manager bietet auch Tools zur Verwaltung des Entwicklungslebenszyklus von ABAP-Code. Es gibt wenig Unterstützung für Entwicklungswerkzeuge, die über das hinausgehen, was SAP bietet, obwohl einige Kunden ihre eigenen Integrationen mit Tools für kontinuierliche Integration, Versionskontrolle und Fehlerverfolgung von Drittanbietern erstellt haben.

Besonderheiten und die größere ABAP-Infrastruktur

ABAP steht nicht allein, sondern ist in hohem Maße in andere Funktionen des SAP NetWeaver ABAP Application Servers integriert. Unter diesen sind die folgenden:

  • Logische Datenbankverbindungen, mit denen Code von einer bestimmten Datenbank abstrahiert werden kann. Die tatsächlichen Datenbankverbindungen werden außerhalb des ABAP-Codes konfiguriert, sodass derselbe Code in verschiedenen Datenbankumgebungen verwendet werden kann.
  • Open SQL, eine Abstraktion der SQL-Syntax, die Teil der ABAP-Sprache ist und die die ABAP-Laufzeitumgebung in natives SQL konvertiert, das für die verwendete Datenbank geeignet ist. Open SQL hat viele Ähnlichkeiten mit dem LINQ-Konzept (Language Integrated Query) von Microsoft .NET.
  • Interne Tabellen, die Sammlungen von Objekten enthalten, auf die mit speziellen Sprachschlüsselwörtern oder Open SQL zugegriffen wird. Dieses ABAP-Konzept steht im Gegensatz zum Konzept typisierter Arrays wie in Java oder C ++.
  • Security, bei dem ABAP in die Sicherheitsinfrastruktur von SAP NetWeaver integriert ist.
  • Data Dictionary, ein universelles Wörterbuch von Datenstrukturdefinitionen, häufig einschließlich Geschäftslogik, das allen ABAP-Programmen in einem System zur Verfügung steht.
  • Änderungs- und Transportsystem (CTS), das Änderungen an Entwicklungsobjekten verfolgt und die Beförderung von Entwicklungsobjekten in Qualitätssicherungs- und Produktionsumgebungen verwaltet.
  • Gemeinsames Entwicklungssystem, das ein wichtiger Aspekt von ABAP ist. ABAP unterscheidet sich von den meisten neueren Sprachen dadurch, dass die Entwicklung normalerweise auf einem gemeinsamen System stattfindet, wobei alle Entwickler gleichzeitig an denselben Entwicklungsobjekten arbeiten.

ABAP und HANA

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

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