Anfang des Inhaltsbereichs

ABAP-Syntax Dokument im Navigationsbaum lokalisieren

Die Syntax der Programmiersprache ABAP besteht aus den folgenden Syntaxelementen:

Anweisungen

Ein ABAP-Programm besteht aus einzelnen Anweisungen. Jede Anweisung beginnt mit einem Schlüsselwort und endet mit einem Punkt.

Beispiel

PROGRAM first_program.

WRITE 'Erstes Programm'.

Dieses Beispiel enthält zwei Anweisungen, jede in einer Zeile. Die Schlüsselwörter sind PROGRAM und WRITE. Das Programm zeigt eine Liste am Bildschirm an. In diesem Fall enthält die Liste die Zeile "Erstes Programm".

Das Schlüsselwort bestimmt die Kategorie der Anweisung. Eine Übersicht über die verschiedenen Kategorien befindet sich unter ABAP-Sprachelemente.

Diese Grafik wird im zugehörigen Text erklärt

Die Abbildung zeigt die Struktur einer ABAP-Anweisung.

Formatierung von ABAP-Anweisungen

ABAP hat keine Formateinschränkungen. Anweisungen können in freiem Format eingegeben werden, d.h., Anweisungen können eingerückt werden, mehrere Anweisungen können in eine Zeile geschrieben werden oder eine Anweisung in kann mehrere Zeilen geschrieben werden.

Wörter innerhalb einer Anweisung müssen durch mindestens ein Leerzeichen getrennt werden. Das System interpretiert das Zeilenende ebenfalls als Leerzeichen.

Beispiel

Das folgende Programm

PROGRAM test.
WRITE 'Dies ist eine Anweisung'.

könnte auch so geschrieben werden:

PROGRAM test. WRITE 'Dies ist eine Anweisung'.

oder so:

               PROGRAM
               test.
                          WRITE
                         'Dies ist eine Anweisung'.

Die freie Formatierung sollte genutzt werden, um die Lesbarkeit eines Programms zu verbessern. Ein unübersichtliches Layout sollte dagegen vermieden werden.

Besonderheit bei Textliteralen

Textliterale sind in Hochkommata eingeschlossene Folgen von alphanumerischen Zeichen im Programmtext. Wenn ein Textliteral innerhalb einer ABAP-Anweisung über mehrere Zeilen ausgedehnt wird, führt dies zu folgenden Schwierigkeiten:

Um Textliterale einzugeben, die nicht in eine Zeile passen, kann man im Editor mit dem Zeichen & aufeinanderfolgende Textliterale zu einem Textliteral verknüpfen.

Beispiel

Das folgende Programm

PROGRAM test.
WRITE 'Dies
       ist
       eine Anweisung'.

fügt alle Leerzeichen zwischen den Hochkommata in das Literal ein und setzt die Buchstaben in Großschreibung um.

Das Programm

PROGRAM test.
WRITE 'Dies'  &
      ' ist ' &
      'eine Anweisung'.

bildet aus den drei Textliteralen ein einziges Textliteral.

Kettensätze

Die Sprache ABAP ermöglicht es, aufeinanderfolgende Anweisungen, die den gleichen Anfang haben, miteinander zu verketten.

Um eine Folge von getrennten Anweisungen miteinander zu verketten, schreibt man den für alle Anweisungen identischen Anfang nur einmal, gefolgt von einem Doppelpunkt (:). Nach dem Doppelpunkt werden die übrigen Teile der einzelnen Anweisungen angegeben und mit einem Komma (,) voneinander getrennt. Die Anweisungskette muß durch einen Punkt (.) abgeschlossen werden.

Beispiel

Anweisungsfolge:

WRITE spfli-cityfrom.
WRITE spfli-cityto.
WRITE spfli-airpto.

Anweisungskette:

WRITE: spfli-cityfrom, spfli-cityto, spfli-airpto.

In der Kette trennt ein Doppelpunkt den Anfang der Anweisung von den variablen Teilen. Nach dem Doppelpunkt oder Komma können beliebig viele Leerzeichen eingefügt werden.

Die gleiche Anweisung kann z.B. auch so geschrieben werden:

WRITE:    spfli-cityfrom,
          spfli-cityto,
          spfli-airpto.

In einer Anweisungskette ist der Anfang (vor dem Doppelpunkt) nicht auf das Schlüsselwort der Anweisungen beschränkt.

Beispiel

Anweisungsfolge:

sum = sum + 1.

sum = sum + 2.

sum = sum + 3.

sum = sum + 4.

Anweisungskette:

sum = sum + : 1, 2, 3, 4.

Kommentare

Kommentare sind Texte, die zur Erläuterung zwischen die Anweisungen eines ABAP-Programms geschrieben werden können. Kommentare unterscheiden sich durch die voranstehenden Zeichen * (am Zeilenanfang) und " (an beliebiger Zeilenposition) von den ABAP-Anweisungen. Wenn die ganze Zeile Kommentar ist, wird am Anfang der Zeile ein Stern (*) eingegeben. Das System ignoriert die gesamte Zeile bei der Programmgenerierung. Wenn nur ein Teil der Zeile Kommentar sein soll, wird vor dem Kommentar ein Anführungszeichen eingegeben. Das System interpretiert Kommentare, die durch das Anführungszeichen gekennzeichnet sind, als Leerzeichen.

Beispiel

************************************************
*  PROGRAM SAPMTEST                            *
*  WRITTEN BY KARL BYTE, 06/27/1995            *
*  LAST CHANGED BY RITA DIGIT, 10/01/1995      *
*  TASK:    DEMONSTRATION                      *
************************************************

PROGRAM sapmtest.

************************************************
* DECLARATIONS                                 *
************************************************

DATA: flag(1) TYPE c,   " global flag
      number TYPE i.    " counter

......

************************************************
* PROCESSING BLOCKS                            *
************************************************

......

 

 

Ende des Inhaltsbereichs