Ansicht
Dokumentation
COPI_REVERSE_STRING_SPLIT - String Split wird ausgeführt, wobei der Delimiter von hinten gesucht wird
General Material Data ROGBILLS - Synchronize billing plansDiese Dokumentation steht unter dem Copyright der SAP AG.
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
DELIMITERHEAD
STRING
TAIL
Ausnahmen
NOT_FOUNDTOO_SMALL
Funktionsgruppe
COPICPI1466 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 )