Die Anweisung CONCATENATE verkettet getrennte Zeichenfolgen zu einer Zeichenfolge:
CONCATENATE c1 ... cn INTO c [SEPARATED BY s].
Die Felder c1 bis cn werden verkettet und c zugewiesen. Leerzeichen am Ende der einzelnen Zeichenfolgen werden bei dieser Operation ignoriert.
Mit dem Zusatz SEPARATED BY s kann eine Zeichenkette s angegeben werden, die in ihrer Länge zwischen die einzelnen Felder eingefügt wird.
Wenn das Ergebnis in c passt, wird sy-subrc auf 0 gesetzt. Falls das Ergebnis abgeschnitten wird, wird sy-subrc auf 4 gesetzt.
DATA: c1(10) TYPE
c VALUE 'Sum',
c2(3) TYPE c
VALUE 'mer',
c3(5) TYPE c
VALUE 'holi ',
c4(10) TYPE
c VALUE 'day',
c1 (30) TYPE c,
sep(3) TYPE c VALUE ' -
'.
CONCATENATE c1 c2 c3 c4
INTO c5.
WRITE c5.
CONCATENATE c1 c2 c3 c4 INTO c5 SEPARATED BY sep.
WRITE / c5.
Listenausgabe:
Summerholiday
Sum - mer - holi - day
In c1 bis c1 werden die Leerzeichen am Ende ignoriert, während sie in der Trennzeichenfolge sep erhalten bleiben.