ABAP (Advanced Business Application Programming) ist die proprietäre Programmiersprache von SAP für betriebswirtschaftliche Anwendungen. Sie entstand in den 1980er-Jahren für das SAP-R/3-System und ähnelt in der Syntax dem COBOL. ABAP wird direkt in der SAP-Entwicklungsumgebung gepflegt: Report-Programme entstehen im ABAP-Editor (Transaktion SE38), Klassen und Interfaces im Object Navigator (SE80).
Programmaufbau
REPORT z_hallo_welt.
DATA name TYPE string.
name = 'Welt'.
WRITE: / 'Hallo', name.
Jedes ausführbare Programm beginnt mit REPORT (klassisch) oder PROGRAM. WRITE gibt Werte auf den Bildschirm aus, / erzeugt einen Zeilenumbruch.
Datendeklaration
DATA— Variablen und interne Tabellen:DATA itab TYPE TABLE OF spfli.TYPES— eigene Datentypen definieren.CONSTANTS— unveränderliche Werte.FIELD-SYMBOLS— Feld-Symbole (Pointer auf Datenobjekte).PARAMETERS— Eingabefelder auf dem Selektionsbild.
Open SQL
Der Datenbankzugriff läuft über Open SQL, das von SAP auf die jeweilige Datenbank übersetzt wird und in der Syntax an SQL erinnert:
SELECT * FROM spfli INTO TABLE lt_fluege
WHERE carrid = 'LH'.
INSERT ztabelle FROM ls_zeile.
UPDATE ztabelle SET wert = 1 WHERE id = 7.
DELETE FROM ztabelle WHERE id = 9.
Neben SELECT, INSERT, UPDATE und DELETE gibt es MODIFY (Einfügen oder Überschreiben).
Interne Tabellen und Schleifen
LOOP AT lt_fluege INTO ls_flug.
WRITE: / ls_flug-carrid, ls_flug-connid.
ENDLOOP.
Interne Tabellen sind der zentrale Datentyp in ABAP. Typische Anweisungen: APPEND (Zeile anhängen), READ TABLE (Zeile lesen), SORT, CLEAR (Inhalt leeren) und LOOP AT … INTO (Zeile für Zeile verarbeiten).
Kontrollfluss, Modularisierung und Ausgabe
- Bedingungen:
IF/CASE. - Schleifen:
DO … ENDDO,WHILE … ENDWHILE. - Prozeduren: klassisch
PERFORM/FORM … ENDFORM, objektorientiertMETHODinCLASS … ENDCLASS. - Funktionsbausteine:
CALL FUNCTION. - Meldungen:
MESSAGE(Fehler-, Warn- und Info-Texte).
Besonderheiten und Zukunft
ABAP läuft auf SAP-Servern und wird mit SAP HANA über AMDP (ABAP Managed Database Procedures) bis ins Datenbank-Kernelsystem erweitert. Als proprietäre, stark IDE-gebundene Sprache ist ABAP mit anderen Hersteller-Sprachen vergleichbar — etwa Visual Basic bei Microsoft. Wer bereits eine Basic-artige Sprache wie VBScript kennt, findet in ABAP vertraute Konzepte (implizite Typen, prozedurale Grundstruktur).