ABAP 7.02 New Features Neue Stringfunktionen - · PDF fileInhaltsverzeichnis cmax/cmin -...
Embed Size (px)
Transcript of ABAP 7.02 New Features Neue Stringfunktionen - · PDF fileInhaltsverzeichnis cmax/cmin -...
ABAP 7.02 New Features
Neue Stringfunktionen
Johann Fleitner,
Cadaxo GmbH
Inhaltsverzeichnis
cmax/cmin - Zeichenartige Extremwertfunktion
condense - Verdichtungsfunktion
concate_lines_of - Verkettungsfunktion
escape - Fluchtsymbolfunktion
insert - Einfgefunktion
match - Abgleichfunktion
repeat - Wiederholfunktion
replace - Ersetzungsfunktion
reverse - Umdrehfunktion
shift_left/shift_right - Verschiebefunktion
substring - Teilfeldfunktion
to_upper/to_lower/ - Gro-/Kleinschreibefunktion
translate - Umsetzfunktion
distance - hnlichkeitsfunktion
cmax/cmin Zeichenartige Extremwertfunktion
Vergleich von bis zu 9 zeichenartigen Argumenten
Ergebnis ist das kleinste (cmin) oder grte (cmax)
bergebene Zeichen
Vergleich auf Basis der verwendeten Codepage
cmax/cmin Zeichenartige Extremwertfunktion
l_result = cmax( val1 = 'AAAC' val2 = 'AAAB' val3 = 'AAAD' ).
Ergebnis: AAAD l_result = cmax( val1 = 'AAAC' val2 = 'AZAB' val3 = 'AAAD' ).
Ergebnis: AZAB l_result = cmin( val1 = 'AAAC' val2 = 'AAAB' val3 = 'AAAD' ).
Ergebnis: AAAB l_result = cmin( val1 = 'AAAC' val2 = '0AAC' val3 = 'AAAD' ).
Ergebnis: 0AAC
condense Verdichtungsfunktion
Verdichtet den Inhalt einer Zeichenkette
Bietet mehr Mglichkeiten als das ABAP Kommando
Condense
Entfernen von fhrenden oder endenden Zeichen
l_string = condense( val = XXXabcXXXdefXXX del = X from = X to = X ).
Ergebnis: abcXdef
concat_lines_of Verkettungsfunktion
Verkettet Zeilen einer internen Tabelle in eine Zeichenkette
Zusatz sep ermglicht die Trennung durch einen Separator
L_string = concate_lines_of( table = tab sep = ; ).
escape Fluchtsymbolfunktion
Ermglicht das regelbasierte Ersetzen eines Strings durch
Fluchtsymbole
Verwendbare Regeln sind als Konstanten in
CL_ABAP_FORMAT definiert
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
insert Einfgefunktion
Einfgen 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
match Abgleichfunktion
Durchsucht einen Text nach einer bestimmten Regex-
bereinstimmung
Weitere Informationen zu Regex sind der SAP Online
Dokumentation zu entnehmen
repeat Wiederholfunktion
Erzeugt eine Zeichenkette durch Wiederholung einer
anderen Zeichenkette
l_string = repeat( val = ABC occ = 5 ).
write: l_string.
Ergebnis:
ABCABCABCABCABC
replace Ersetzungsfunktion
Ersetzt einen Teilbereich einer Zeichenkette
Teilbereich kann ber Offset-/Lngen 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
reverse Umdrehfunktion
Umdrehen einer kompletten Zeichenkette
L_string = PABA.
L_string = reverse( l_string ).
Ergebnis: ABAP
PS: Wenn jemand eine sinnvolle Verwendung fr diese Funktion findet, bitte um Info!
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
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 fgt von links nach rechts ab der 2. Position
das erste im Zusatz sep angegebene Zeichen ein
Weitere Zustze sind case und min
to_upper, to_lower, to_mixed, from_mixed
Gro-/Kleinschreibungsfunktionen
l_result = to_mixed( val = 'CADAXO GMBH' ).
Ergebnis: Cadaxo gmbh
distance - hnlichkeitsfunktion
Ermittelt den Editierabstand (Levenshtein-Distanz) zweier
Zeichenketten Minimale Anzahl von Einfge-, Lsch- oder Ersetzungsvorgngen um
von Zeichenkette 1 auf Zeichenkette 2 zu kommen.
l_int = distance( val1 = 'CADAXO GMBH' val2 = 'ADAXOGMBH' ).
Ergebnis: 2 (Ein C und ein Leerzeichen mssen eingefgt werden)
l_int = distance( val1 = 'ABCD' val2 = 'EFGH' ).
Ergebnis: 4 (Alle Zeichen mssen ausgetauscht werden)
http://de.wikipedia.org/wiki/Levenshtein-Distanz
http://de.wikipedia.org/wiki/Levenshtein-Distanzhttp://de.wikipedia.org/wiki/Levenshtein-Distanzhttp://de.wikipedia.org/wiki/Levenshtein-Distanz
Die Vervielfltigung bzw. bersetzung dieses Dokumentes
oder Teilen daraus ist ohne ausdrckliche Genehmigung
durch die Cadaxo GmbH nicht zulssig.
SAP, ABAP, R/3, SAP NetWeaver sind Marken oder
eingetragene Marken der SAP AG.
Alle anderen Produkte sind Marken oder eingetragene
Marken der jeweiligen Firmen.
2013 Cadaxo GesmbH. Alle Rechte vorbehalten.