ABAP - Schlüsselwortdokumentation →  ABAP - Referenz →  Interne Daten verarbeiten →  Zeichen- und Bytekettenverarbeitung →  Ausdrücke und Funktionen für die Zeichenkettenverarbeitung →  string_exp - Zeichenkettenausdrücke → 

string_exp - Zeichenketten-Templates

Syntax

|[literal_text][ embedded_expressions][ control_characters]|

Wirkung

Ein Zeichenketten-Template ist zwischen zwei Zeichen "|" eingeschlossen und erzeugt eine Zeichenkette, die vom Zeichenkettenausdruck an Stelle des Zeichenketten-Templates verwendet wird. Die Zeichen dieser Zeichenkette werden durch eine beliebige Folge folgender syntaktischer Elemente des Zeichenketten-Templates bestimmt:

Ein durch "|" begonnenes Zeichenketten-Template muss innerhalb der gleichen Quelltextzeile mit "|" abgeschlossen werden. Ausgenommen von dieser Regel sind nur Zeilenumbrüche in eingebetteten Ausdrücken. Ein Zeichenketten-Template unterliegt aber dennoch keiner Längenbeschränkung. Mit dem Literaloperator & oder dem Verkettungsoperator && können mehrere Zeichenketten-Templates zu einem einzigen Zeichenketten-Template verknüpft werden, wodurch ein Zeichenketten-Template über mehrere Quelltextzeilen hinweg definiert und auch mit Kommentaren versehen werden kann.

Hinweise

|...| &  |...|
|...| && |...|
sind für Zeichenketten-Templates identisch. Bei rein literalem Inhalt sind sie auch gleichwertig zu
`...` && `...`
Unterschiede bestehen dagegen zu
`...` &  `...`
'...' &  '...'
'...' && '...'
In den ersten beiden Fällen gilt die Längenbeschränkung auf 255 Zeichen. Im dritten Fall werden schließende Leerzeichen nicht berücksichtigt.

Beispiel

Zeichenketten-Template mit literalem Text und einem eingebetteten Ausdruck. Das Ergebnis setzt sich aus dem Inhalt des literalen Texts und dem Ergebnis des eingebetteten Ausdrucks zusammen.

DATA(result) = |Hello { sy-uname }!|.

Beispiel

Der folgende Quelltextabschnitt zeigt drei gleichbedeutende Zeichenketten-Templates, die alle die Zeichenkette "Hello World!" darstellen. Das erste Zeichenketten-Template enthält die gesamte Zeichenkette als literalen Text. In den folgenden beiden Zeichenkettenausdrücken ist der literale Text auf mehrere Teile des Zeichenketten-Templates verteilt und diese werden mit Hilfe des Literaloperators & zur gleichen Zeichenkette wie beim ersten Zeichenketten-Template zusammengefasst.

DATA(result1) = |Hello World!|.

DATA(result2) = |Hello| & | | & |World| & |!|.

DATA(result3) = |Hello| & "sub template 1
                | |     &
                |World| & "sub template 3
* sub template 4:
                |!|.



Weiterlesen
Zeichenketten-Templates - literal_text
Zeichenketten-Templates - embedded_expressions
Zeichenketten-Templates - control_characters
Beispiele zu Zeichenketten-Templates