Ansicht
Dokumentation

ABENCONTAINS_FUNCTIONS - CONTAINS FUNCTIONS

ABENCONTAINS_FUNCTIONS - CONTAINS FUNCTIONS

RFUMSV00 - Advance Return for Tax on Sales/Purchases   CL_GUI_FRONTEND_SERVICES - Frontend Services  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

- contains, contains_...

1. ... contains( val = text sub$|start$|end = substring $[case = case$]
                $[ off = off$] $[len = len$] $[occ = occ$] ) ...

2. ... contains( val = text pcre$|xpath = regex $[case = case$]
                $[ off = off$] $[len = len$] $[occ = occ$] ) ...

3. ... contains_any_of( val = text sub$|start$|end = substring
                       $[off = off$] $[len = len$] $[occ = occ$] ) ...

4. ... contains_any_not_of( val = text sub$|start$|end = substring
                           $[ off = off$] $[len = len$] $[occ = occ$] ) ...


Wirkung

Diese eingebauten Prädikatfunktionen geben einen Wahrheitswert für für eine Bedingung auf das Argument text zurück.

  • Die Varianten der Funktion contains mit den Parametern sub, start oder end durchsuchen einen durch off und len definierten Suchbereich in text nach Übereinstimmungen mit der in substring angegebenen Unterfolge. Der Rückgabewert ist wahr, wenn mindestens die in occ angegebene Anzahl von Übereinstimmungen gefunden wurde. Die Groß- und Kleinschreibung wird bei der Suche standardmäßig beachtet, was aber mit dem Parameter case übersteuert werden kann. Eine Übergabe von substring an start oder end bedeutet, dass die Übereinstimmungen direkt hintereinander am Anfang bzw. am Ende des Suchbereichs vorkommen müssen, während sie bei sub irgendwo im Suchbereich vorkommen können. Wenn substring leer ist, kommt es zu einer Ausnahme der Klasse CX_SY_STRG_PAR_VAL.
  • Die Variante der Funktion contains mit dem Parameter pcre oder xpath durchsucht einen durch off und len definierten Suchbereich in text nach Übereinstimmungen mit dem in regex angegebenen regulären Ausdruck.

Ein regulärer Ausdruck in PCRE- oder XPath-Syntax wird in einem erweiterten Modus kompiliert: Die meisten nicht maskierten Leerräume (Leerzeichen und Zeilenumbrüche) im Muster werden außerhalb von Zeichenklassen ignoriert und Kommentare können hinter # angegeben werden. Bevor Leerräume und # in ein Muster eingebunden werden können, müssen sie maskiert werden oder der erweiterte Modus muss im regulären Ausdruck durch (?-x) ausgeschaltet werden.
Der Rückgabewert ist wahr, wenn mindestens die in occ angegebene Anzahl von Übereinstimmungen gefunden wurde. Die Groß- und Kleinschreibung wird bei der Suche standardmäßig beachtet, was aber mit dem Parameter case übersteuert werden kann.
  • Die Funktion contains_any_of wirkt wie contains, es werden aber nicht die Vorkommen der gesamten Zeichenfolge in substring überprüft, sondern der einzelnen Zeichen von substring, wobei die Groß- und Kleinschreibung immer berücksichtigt wird. Der Rückgabewert ist wahr, wenn text mindestens die in occ angegebene Menge von Einzelzeichen enthält. Wenn start oder end angegeben sind, müssen die Zeichen in beliebiger Folge am Anfang oder Ende des Suchbereichs stehen, während sie bei sub beliebig über diesen verteilt sein können.
  • Die Funktion contains_any_not_of wirkt wie contains_any_of, es sind aber nicht die Zeichen aus substring erforderlich, sondern beliebige Zeichen, die nicht in substring vorhanden sind.

occ ist eine numerische Ausdrucksposition vom Typ i und der Standardwert ist 1. Die Angabe eines Werts kleiner oder gleich 0 führt zu einer Ausnahme der Klasse CX_SY_STRG_PAR_VAL.

Hinweise

  • Der Parameter occ hat hier eine etwas andere Bedeutung als bei anderen Funktionen, bei denen eine Suche stattfindet.

Beispiel

Im folgenden Coding-Abschnitt wird der IF-Block erreicht, da sowohl das erste als auch das letzte Zeichen in html nicht im Systemfeld sy-abcde vorkommen.

Beispiel

Mit folgendem Funktionsaufruf wird geprüft, ob ein Feld vom Typ c ein beliebiges Nicht-Ziffer-Zeichen enthält.

Ausnahmen

Behandelbare Ausnahmen

CX_SY_RANGE_OUT_OF_BOUNDS

  • Ursache: Unzulässige Offset- oder Längenangabe in off und len.
    Laufzeitfehler: STRING_OFFSET_TOO_LARGE

CX_SY_REGEX_TOO_COMPLEX

CX_SY_STRG_PAR_VAL

  • Ursache: Unterfolge in substring bzw. regulärer Ausdruck in regex ist leer oder Vorkommen in occ ist kleiner gleich 0.
    Laufzeitfehler: STRG_ILLEGAL_PAR





RFUMSV00 - Advance Return for Tax on Sales/Purchases   rdisp/max_wprun_time - Maximum work process run time  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 10341 Date: 20240523 Time: 183817     sap01-206 ( 147 ms )