SAP NetWeaver AS ABAP Release 751, ©Copyright 2017 SAP AG. Alle Rechte vorbehalten.
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
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:
|!|.