Der Foliensatz liefert einen Überblick über neue Stringfunktionen welcher seit ABAP 7.02 vorhanden sind. Alle wichtigen Funktionen werden mit Beispielen erklärt.
3. cmax/cmin – Zeichenartige Extremwertfunktion
• Vergleich von bis zu 9 zeichenartigen Argumenten
• Ergebnis ist das kleinste (cmin) oder größte (cmax)
übergebene Zeichen
• Vergleich auf Basis der verwendeten Codepage
5. condense – Verdichtungsfunktion
• Verdichtet den Inhalt einer Zeichenkette
• Bietet mehr Möglichkeiten als das ABAP Kommando
Condense
• Entfernen von führenden oder endenden Zeichen
l_string = condense( val = ‘XXXabcXXXdefXXX‘ del = ‘X‘ from = ‘X‘ to = ‘X‘ ).
Ergebnis: abcXdef
6. concat_lines_of – Verkettungsfunktion
• Verkettet Zeilen einer internen Tabelle in eine Zeichenkette
• Zusatz sep ermöglicht die Trennung durch einen Separator
L_string = concate_lines_of( table = tab sep = ‘;‘ ).
7. escape – Fluchtsymbolfunktion
• Ermöglicht das regelbasierte Ersetzen eines Strings durch
Fluchtsymbole
• Verwendbare Regeln sind als Konstanten in
CL_ABAP_FORMAT definiert
8. escape – Fluchtsymbolfunktion
DATA l_string0 TYPE string.
DATA l_string1 TYPE string.
l_string0 = 'http://www.cadaxo.com'.
l_string1 = escape( val = l_string0 format = cl_abap_format=>e_url_full ).
WRITE: / l_string0, / l_string1.
Ergebnis:
http://www.cadaxo.com
http%3A%2F%2Fwww.cadaxo.com
9. insert – Einfügefunktion
• Einfügen einer Zeichenkette an beliebiger Stelle einer
anderen Zeichenkette
L_string = ‘NewsABAP‘.
L_result = insert( val = l_string sub = ‘ in ‘ off = 5 ).
Write: l_string.
Ergebnis:
News in ABAP
10. match – Abgleichfunktion
• Durchsucht einen Text nach einer bestimmten Regex-
Übereinstimmung
• Weitere Informationen zu Regex sind der SAP Online
Dokumentation zu entnehmen
11. repeat – Wiederholfunktion
• Erzeugt eine Zeichenkette durch Wiederholung einer
anderen Zeichenkette
l_string = repeat( val = ‘ABC‘ occ = 5 ).
write: l_string.
Ergebnis:
ABCABCABCABCABC
12. replace – Ersetzungsfunktion
• Ersetzt einen Teilbereich einer Zeichenkette
• Teilbereich kann über Offset-/Längen oder Regex festgelegt
werden.
l_result = replace( val = 'ABAP xx GOOD' off = 6 len = 0 with = 'IS' ).
Ergebnis: ‘ABAP xISx GOOD‘
l_result = replace( val = 'ABAP xx GOOD' off = 4 len = 4 with = 'IS' ).
Ergebnis: ‘ABAPISGOOD‘
13. reverse – Umdrehfunktion
• Umdrehen einer kompletten Zeichenkette
L_string = ‘PABA‘.
L_string = reverse( l_string ).
Ergebnis: ABAP
PS: Wenn jemand eine sinnvolle Verwendung für diese Funktion findet, bitte um Info!
14. substring, substring_... – Teilfeldfunktion
• Ermittlung eines Teilfeldes aus einer gegebenen
Zeichenmenge
l_result = substring( val = 'ABCDEFGH' off = 3 len = 4 ).
Ergebnis: ‘DEFG‘
l_result = substring_from( val = 'ABCDEFGH' sub = 'DEF' ).
Ergebnis: ‘DEFGH‘
l_result = substring_after( val = 'ABCDEFGH' sub = 'DEF' ).
Ergebnis: ‘GH‘
l_result = substring_before( val = 'ABCDEFGH' sub = 'DEF' ).
Ergebnis: ‘ABC‘
l_result = substring_to( val = 'ABCDEFGH' sub = 'DEF' ).
Ergebnis: ‘ABCDEF‘
15. to_upper, to_lower, to_mixed, from_mixed
Groß-/Kleinschreibungsfunktionen
• to_upper/to_lower entspricht dem Kommando TRANSLATE
TO UPPER/LOWER CASE
• to_mixed setzt alle Buchstaben ab der 2. Stelle auf
Kleinbuchstaben um
• from_mixed fügt von links nach rechts ab der 2. Position
das erste im Zusatz sep angegebene Zeichen ein
• Weitere Zusätze sind case und min