Literale sind unbenannte Datenobjekte, die im Quelltext eines Programms angelegt werden und durch ihren Wert vollständig bestimmt sind. Der Wert von Literalen ist unveränderbar. Wir unterscheiden Zahlenliterale und Zeichenliterale.
Ein Zahlenliteral ist eine Folge von Ziffern, der ein Vorzeichen vorangestellt werden kann. In Zahlenliteralen sind keine Dezimaltrennzeichen und keine Notation mit Mantisse und Exponent
'[mantissa][E][exponent]'
möglich.
Beispiele für Zahlenliterale:
123
-93
+456
Zahlenliterale in Anweisungen:
DATA number TYPE i VALUE -1234.
WRITE 6789.
MOVE 100 TO number.
Ein Zeichenliteral ist eine Folge von alphanumerischen Zeichen im Programmtext, die in Hochkommata oder Backquotes eingeschlossen sind. In Hochkommata eingeschlossene Zeichenliterale haben den eingebauten ABAP-Typ c und werden als Textfeldliterale bezeichnet. In Backquotes eingeschlossene Literale haben den ABAP-Typ string und werden als Stringliterale bezeichnet. Die Feldlänge wird durch die Anzahl der Zeichen festgelegt, wobei bei Textfeldliteralen schließende Leerzeichen ignoriert werden, während sie bei Stringliteralen berücksichtigt werden.
Beispiele für Textfeldliterale
'Anton Schmitt'
'69190 Walldorf'
Beispiele für Stringliterale
`Anton Schmitt `
`69190 Walldorf
`
Bei der Verwendung von Zeichenliteralen in Operandenpositionen, an denen ein numerischer Wert erwartet wird, werden sie in diesen konvertiert.
Beispiele für Zeichenliterale, die in numerische Typen konvertiert werden können:
'12345678901234567890'
'+0.58498'
'-8473.67'
'-12.34567'
'-765E-04'
'1234E5'
'+12E+23'
'+12.3E-4'
'1E160'