Abap 7.02 new features - neue stringfunktionen

Preview:

DESCRIPTION

Der Foliensatz liefert einen Überblick über neue Stringfunktionen welcher seit ABAP 7.02 vorhanden sind. Alle wichtigen Funktionen werden mit Beispielen erklärt.

Citation preview

ABAP 7.02 New Features

Neue Stringfunktionen

Johann Fößleitner,

Cadaxo GmbH

Inhaltsverzeichnis

➤ cmax/cmin - Zeichenartige Extremwertfunktion

➤ condense - Verdichtungsfunktion

➤ concate_lines_of - Verkettungsfunktion

➤ escape - Fluchtsymbolfunktion

➤ insert - Einfügefunktion

➤ 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 größte (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 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

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 = ‘;‘ ).

escape – Fluchtsymbolfunktion

• Ermöglicht 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 – 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

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-/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‘

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!

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 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

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 Einfüge-, Lösch- oder Ersetzungsvorgängen um

von Zeichenkette 1 auf Zeichenkette 2 zu kommen.

l_int = distance( val1 = 'CADAXO GMBH' val2 = 'ADAXOGMBH' ).

Ergebnis: 2 (Ein „C“ und ein Leerzeichen müssen eingefügt werden)

l_int = distance( val1 = 'ABCD' val2 = 'EFGH' ).

Ergebnis: 4 (Alle Zeichen müssen ausgetauscht werden)

http://de.wikipedia.org/wiki/Levenshtein-Distanz

Die Vervielfältigung bzw. Übersetzung dieses Dokumentes

oder Teilen daraus ist ohne ausdrückliche Genehmigung

durch die Cadaxo GmbH nicht zulässig.

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.

Recommended