Ansicht
Dokumentation

COPI_REVERSE_STRING_SPLIT - String Split wird ausgeführt, wobei der Delimiter von hinten gesucht wird

COPI_REVERSE_STRING_SPLIT - String Split wird ausgeführt, wobei der Delimiter von hinten gesucht wird

General Material Data   ROGBILLS - Synchronize billing plans  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book
Funktionalität

STRING_SPLIT zerlegt STRING gemäß der Trennzeichenfolge DELIMITER in zwei Teile, HEAD und TAIL:

- HEAD enthält das Anfangsstück von STRING, endend mit dem letzten Zeichen vor dem ersten Vorkommen von DELIMITER.

- TAIL enthält das Endstück von STRING, beginnend mit dem ersten Zeichen hinter dem ersten Vorkommen von DELIMITER.

Die in DELIMITER übergebene Zeichenfolge wird (unter Berücksichtigung von Groß-/Kleinschreibung) bis zum ersten Leerzeichen als Trennzeichenfolge interpretiert. Soll ein Leerzeichen Teil der Trennzeichenfolge sein, muß ihm das Fluchtsymbol '#' vorangestellt werden. Soll das Fluchtsymbol selbst Teil der Trennzeichenfolge sein, muß '##' eingegeben werden.

Es gibt vier Ausnahmen:

- NOT_FOUND tritt ein, wenn DELIMITER in STRING nicht vorkommt.

- NOT_VALID tritt ein, wenn DELIMITER mit einem einzelnen Fluchtsymbol '#' endet.

- TOO_LONG tritt ein, wenn die tatsächlich belegte Länge des an DELIMITER zugewiesenen Aktualparameters größer als 40 Zeichen ist.

- TOO_SMALL tritt ein, wenn mindestens einer der beiden an HEAD und TAIL übergebenen Aktualparameter zu kurz ist.

Alle Ausnahmen werden mit RAISE erzeugt und müssen im aufrufenden Programm behandelt werden.

Beispiele


STRING = ' abc-de fg*#hij '
DELIMITER = 'c-de# fg*##h'
Dann ist HEAD = ' ab' und TAIL = 'ij '.

Beispielaufruf:

DATA: STR(40), DEL(10), H(30), T(30).

MOVE 'abcdefghijklmnopqrstuvwxyz' TO STR.

MOVE 'klmnop' TO DEL.

CALL FUNCTION 'STRING_SPLIT`

EXPORTING STRING = STR

DELIMITER = DEL

IMPORTING HEAD = H

TAIL = T

EXCEPTIONS NOT_FOUND = 1

NOT_VALID = 2

TOO_LONG = 3

TOO_SMALL = 4.

CASE SY-SUBRC.

WHEN '0'.

* Anfangsstück steht in H, Endstück in T

WHEN '1'.

* DEL kommt in STR nicht vor

WHEN '2'.

* DEL ist nicht gültig (einzelnes Fluchtsymbol '#' am Ende)

WHEN '3'.

* DEL ist zu lang (länger als 40 Zeichen)

WHEN '4'.

* Der Aktualparameter H oder der Aktualparameter T ist zu kurz.

ENDCASE.

Hinweis

Das ABAP-Sprachelement SPLIT string AT delimiter INTO head tail bietet die gleiche Funktionalität wie der Funktionsbaustein. Lediglich die Behandlung der Ausnahmen ist unterschiedlich. Siehe dazu die ABAP-Doku zu SPLIT.

Das ABAP-Sprachelement liefert eine bessere Performance als der Aufruf des Funktionsbausteins.

Der Funktionsbaustein wurde aus Gründen der Aufwärtskompatibilität beibehalten.





Parameter

DELIMITER
HEAD
STRING
TAIL

Ausnahmen

NOT_FOUND
TOO_SMALL

Funktionsgruppe

COPI

CPI1466 during Backup   ROGBILLS - Synchronize billing plans  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 4128 Date: 20240523 Time: 132241     sap01-206 ( 49 ms )