Schlüsselbefehl Concatenate und Verknüpfung über &&

Aus SAP-Wiki
Wechseln zu:Navigation, Suche

Siehe Zeichenketten-Templates.

Ein sehr nützlicher Schlüsselbefehl bei der Zeichenkettenverarbeitung ist CONCATENATE. Er verknüpft mehrere CHAR-Felder bzw. Zeichenketten.

Eine Alternative zum Schlüsselbefehl Concatenate oder && ist die Verwendung von Zeichenketten-Templates. Sie können ab ABAP-Release 7.02 verwendet werden.

Coding

Data: lv_string type string.

lv_beispiel = 'Beispiel'. 

concatenate 'Test:' 
            lv_beispiel
            into lv_string
            separated by space.

Berücksichtigung Spaces (respecting blanks)

Öffnende/Schließende Spaces

  • Schließende Spaces werden standardmäßig nicht berücksichtigt. Allerdings gibt es den Zusatz "Respecting Blanks", womit dann auch schließende Spaces bei Zeichenketten erhalten bleiben.
Data: lv_string type string.

lv_beispiel = 'Beispiel'. 

concatenate 'Test: ' 
            lv_beispiel
            into lv_string
            respecting blanks.
  • Alternativ können auch statt dem Zeichenketten-Zeichen " ' " das Zeichen " ` " verwendet werden.
  • Das Zeichen kann auf der Tastatur eingefügt werden mit SPACE + Tastatur2.jpg und SPACE.
concatenate `Test: ` 
            lv_beispiel
            into lv_string.

Separated by

  • Der Zusatz "separated by space" wird verwendet, wenn zwischen jeder Einzelkomponente ein Leerzeichen/Space eingefügt werden soll.
concatenate 'Test:' 
            lv_beispiel
            into lv_string
            separated by space.
  • Der Zusatz "separated by ';'" oder "separated by '|'" wird häufig verwendet, wenn der Output eine CSV-Datei ist.
concatenate 'Test' 
            'Beispiel'
            into lv_string
            separated by ';'.

Verkettungsoperator &&

Ab ABAP-Release 7.31 [1] Sehr einfach lässt sich der Verkettungsoperator "&&" nutzen, um verschiedene Operatoren zu verknüpfen.

Lv_string = 'test1'
         && 'test2'.

Soll auch ein Space berücksichtigt werden, muss das Space über 2 Akzente eingefügt werden.

Lv_string = 'test1'
         && ´ ´ 
         && 'test2'.

Der Verkettungsoperator lässt sich auch in einem Select nutzen

Select
 Vbak~Vbeln
 Vbpa~Kunnr
 Vbak~Vbeln && '/' && Vbpa~Kunnr as vbeln_kunnr
Into ...

Web-Links

Literatur