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, objektorientiert METHOD in CLASS … 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).