Anfang des Inhaltsbereichs

Feldinhalte ersetzen Dokument im Navigationsbaum lokalisieren

Mit der Anweisung REPLACE werden Zeichenketten in Feldern durch andere Zeichenketten ersetzt.

REPLACE <str1> WITH <str2> INTO <c> [LENGTH <l>].

Die Anweisung sucht im Feld <c> nach dem ersten Vorkommen der ersten <l> Positionen des Suchmusters <str1>. Ist keine Länge angegeben, so wird das Suchmuster <str1> in seiner vollen Länge gesucht.

Dann ersetzt die Anweisung das erste Vorkommen von <str1> im Feld <c> durch die Zeichenkette <str2>. Wenn eine Länge <l> angegeben wurde, wird nur der entsprechende Teil des Suchmusters ersetzt.

Wenn der Rückgabewert des Systemfeldes SY-SUBRC 0 ist, so bedeutet das, daß <str1> in <c> gefunden und durch <str2> ersetzt wurde. Ein anderer Rückgabewert zeigt an, daß nichts ersetzt wurde. <str1>, <str2> und <len> können Variablen sein.

Beispiel

DATA: t(10) TYPE c VALUE 'abcdefghij',
      string LIKE t,
      str1(4) TYPE c VALUE 'cdef',
      str2(4) TYPE c VALUE 'klmn',
      str3(2) TYPE c VALUE 'kl',
      str4(6) TYPE c VALUE 'klmnop',
      len TYPE i VALUE 2.

string = t.
WRITE string.

REPLACE str1 WITH str2 INTO string.
WRITE / string.

string = t.
REPLACE str1 WITH str2 INTO string LENGTH len.
WRITE / string.

string = t.
REPLACE str1 WITH str3 INTO string.
WRITE / string.

string = t.
REPLACE str1 WITH str4 INTO string.
WRITE / string.

Ausgabe:

abcdefghij

abklmnghij

abklmnefgh

abklghij

abklmnopgh

Das Feld STRING wird in der letzten Zeile rechts abgeschnitten wird. Das Suchmuster 'cdef' (Länge 4) wird durch 'klmnop' (Länge 6) ersetzt. Dann wird der Rest des Feldes STRING bis zum Ende aufgefüllt.

 

 

Ende des Inhaltsbereichs