Show TOC Anfang des Inhaltsbereichs

Zeichenketten zerlegen  Dokument im Navigationsbaum lokalisieren

Die Anweisung SPLITzerlegt eine Byte- oder Zeichenkette in zwei oder mehrere Ketten:

SPLIT c AT del INTO c1 ... cn.

Das Feld c wird nach den Trennzeichen del durchsucht. Die Teile vor und nach den Trennzeichen werden in die Zielfelder c1 ... cn gestellt.

Um alle Teile in verschiedene Zielfelder stellen zu können, benötigt man eine ausreichende Anzahl von Zielfeldern. Anderenfalls wird das letzte Zielfeld mit dem Rest des Feldes c gefüllt und enthält auch noch Trennzeichen.

Wenn alle Zielfelder so lang sind, dass kein Teil abgeschnitten werden muss, wird sy-subrcauf 0 gesetzt, sonst auf 4.

Beispiel

DATA: string(60) TYPE c,
      p1(20) TYPE c VALUE '++++++++++++++++++++',
      p2(20) TYPE c VALUE '++++++++++++++++++++',
      p3(20) TYPE c VALUE '++++++++++++++++++++',
      p4(20) TYPE c VALUE '++++++++++++++++++++',
      
del(3) TYPE c VALUE '***'.

string = ' Part 1 *** Part 2 *** Part 3 *** Part 4 *** Part 5'.
WRITE string.

SPLIT string AT del INTO p1 p2 p3 p4.

WRITE / p1.
WRITE / p2.
WRITE / p3.
WRITE / p4.

Ausgabe:

 Part 1 *** Part 2 *** Part 3 *** Part 4 *** Part 5

 Part 1

 Part 2

 Part 3

 Part 4 *** Part 5

Der Inhalt der Felder p1 ... p4 wird vollständig überschrieben und die Felder werden am Ende mit Leerzeichen aufgefüllt.

Eine Zeichenkette kann auch in die Zeilen einer internen Tabelle zerlegt werden:

SPLIT c AT del INTO TABLE itab.

Die Anweisung fügt für jeden Teil der Zeichenkette der Tabelle itab eine neue Tabellenzeile hinzu.

Ende des Inhaltsbereichs