Stringoperationen (ABAP): Unterschied zwischen den Versionen
Matt (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
Matt (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
Zeile 1: | Zeile 1: | ||
Sammlung von Codebeispielen zur Nutzung von ABAP Stringfunktionen. | Sammlung von Codebeispielen zur Nutzung von ABAP Stringfunktionen. | ||
Dieser Artikel beschäftigt sich mit eingebauten zeichenartigen Typen. | |||
== Teilstring == | == Teilstring == | ||
Zeile 64: | Zeile 64: | ||
APPEND pa_token TO lt_fields. | APPEND pa_token TO lt_fields. | ||
</syntaxhighlight> | </syntaxhighlight> | ||
== Numerische Textfelder == | |||
<syntaxhighlight lang="abap"> | |||
DATA: e_text TYPE string, | |||
lv_vers TYPE n LENGTH 7, | |||
lv_vers1 TYPE n LENGTH 4, | |||
lv_vers2 TYPE n LENGTH 3. | |||
START-OF-SELECTION. | |||
lv_vers = '2018014'. | |||
WRITE: | |||
/ 'NUMC before: ', lv_vers. | |||
lv_vers1 = lv_vers(4). | |||
lv_vers2 = lv_vers+4(3). | |||
IF lv_vers2 > 12. | |||
lv_vers1 = lv_vers1 + 1. | |||
lv_vers2 = lv_vers2 - 12. | |||
ENDIF. | |||
CONCATENATE lv_vers1 lv_vers2 INTO e_text. | |||
WRITE: | |||
/ 'NUMC after: ', e_text. | |||
</syntaxhighlight> | |||
== NUMC, DATS, TIMS == | |||
Die Datentypen c und string sind allgemeine zeichenartige Datentypen, während n, d und t spezielle Eigenschaften haben. Sie sind die einzigen eingebauten ABAP-Typen, die es passend zu speziellen Typen NUMC, DATS und TIMS des ABAP Dictionary gibt. Alle anderen speziellen Datentypen des ABAP Dictionary sind allgemeinen ABAP-Typen zugeordnet. | |||
== Weitere Quellen == | == Weitere Quellen == |
Version vom 19. Juni 2018, 13:40 Uhr
Sammlung von Codebeispielen zur Nutzung von ABAP Stringfunktionen.
Dieser Artikel beschäftigt sich mit eingebauten zeichenartigen Typen.
Teilstring
Extrahieren eines Teilstrings aus einem Gesamtstring:
DATA: LV_STRINGIN TYPE STRING,
LV_STRINGOUT TYPE STRING.
LV_STRINGIN = 'Hallo Welt und guten Morgen Deutschland'.
LV_STRINGOUT = LV_STRINGIN+6(4). # Kopiere vier Zeichen startend vom 7. Zeichen (1. Zeichen wird mit Null gerechnet).
# LV_STRINGOUT enthält am Ende "Welt"
Teilen von Strings
Teilen eines Strings anhand eines Trennzeichens in zwei Teile.
Das Trennzeichen (Hier: Leerzeichen) wird dabei entfernt.
DATA: LV_SPLIT1 TYPE STRING,
LV_SPLIT2 TYPE STRING,
LV_SPLCHAR TYPE CHAR1 VALUE ' '.
SPLIT C_DATA AT LV_SPLCHAR INTO LV_SPLIT1 LV_SPLIT2.
C_DATA = LV_SPLIT1.
Strings zusammensetzen
Strings können entweder inline oder mit speziellen Befehlen zusammengesetzt werden.
DATA: LV_STR1 TYPE STRING,
LV_STR2 TYPE STRING,
LV_STROUT TYPE STRING.
LV_STROUT = LV_STR1 LV_STR2. # Inline (?)
CONCATENATE LV_STR1 LV_STR2 INTO LV_STROUT. # Mit CONCATENATE
Konvertierung in Groß-/Kleinschreibung
DATA: I_TEXT TYPE STRING.
TRANSLATE I_TEXT TO UPPER CASE.
CONCATENATE '*' I_TEXT '*' INTO I_TEXT.
WRITE:
/ 'I_TEXT: ', I_TEXT.
Tabelle von Strings
PARAMETERS: pa_token TYPE c LENGTH 70.
DATA: lt_fields TYPE stringtab.
" Liste mit Spaltennamen erstellen
APPEND pa_token TO lt_fields.
Numerische Textfelder
DATA: e_text TYPE string,
lv_vers TYPE n LENGTH 7,
lv_vers1 TYPE n LENGTH 4,
lv_vers2 TYPE n LENGTH 3.
START-OF-SELECTION.
lv_vers = '2018014'.
WRITE:
/ 'NUMC before: ', lv_vers.
lv_vers1 = lv_vers(4).
lv_vers2 = lv_vers+4(3).
IF lv_vers2 > 12.
lv_vers1 = lv_vers1 + 1.
lv_vers2 = lv_vers2 - 12.
ENDIF.
CONCATENATE lv_vers1 lv_vers2 INTO e_text.
WRITE:
/ 'NUMC after: ', e_text.
NUMC, DATS, TIMS
Die Datentypen c und string sind allgemeine zeichenartige Datentypen, während n, d und t spezielle Eigenschaften haben. Sie sind die einzigen eingebauten ABAP-Typen, die es passend zu speziellen Typen NUMC, DATS und TIMS des ABAP Dictionary gibt. Alle anderen speziellen Datentypen des ABAP Dictionary sind allgemeinen ABAP-Typen zugeordnet.
Weitere Quellen
http://www.saptraininghq.com/10-must-know-sap-abap-character-string-coding-techniques/