Die Anweisung OVERLAY überlagert eine Zeichenkette mit einer anderen:
OVERLAY <c1> WITH <c2> [ONLY <str>].
Es werden alle Stellen in Feld <c1>, die Buchstaben enthalten, die in <str> vorkommen, mit dem Inhalt von <c2> überlagert.
<c2> bleibt unverändert. Wenn ONLY <str> weggelassen wird, werden alle Stellen von <c1> überschrieben, die Leerstellen enthalten.Wenn mindestens ein Zeichen in
<c1> ersetzt wurde, wird SY-SUBRC auf 0 gesetzt. In allen anderen Fällen wird SY-SUBRC auf 4 gesetzt. Wenn <c1> länger ist als <c2>, wird es nur in der Länge von <c2> überlagert.DATA: t(10) TYPE c VALUE 'a c e g i ',
string LIKE t,
over(10) TYPE c VALUE 'ABCDEFGHIJ',
str(2) TYPE c VALUE 'ai'.
string = t.
WRITE string.
WRITE / over.
OVERLAY string WITH over.
WRITE / string.
string = t.
OVERLAY string WITH over ONLY str.
WRITE / string.
Listenausgabe:
a c e g i
ABCDEFGHIJ
aBcDeFgHiJ
A c e g I