SAP ABAP - Strings
Strings, die in der ABAP-Programmierung weit verbreitet sind, sind eine Folge von Zeichen.
Wir verwenden Variablen vom Datentyp C für alphanumerische Zeichen mit mindestens 1 Zeichen und maximal 65.535 Zeichen. Standardmäßig sind diese nach links ausgerichtet.
Strings erstellen
Die folgende Deklaration und Initialisierung erstellt eine Zeichenfolge, die aus dem Wort 'Hallo' besteht. Die Größe der Zeichenfolge entspricht genau der Anzahl der Zeichen im Wort "Hallo".
Data my_Char(5) VALUE 'Hello'.
Das folgende Programm ist ein Beispiel für das Erstellen von Zeichenfolgen.
REPORT YT_SEP_15.
DATA my_Char(5) VALUE 'Hello'.
Write my_Char.
Der obige Code erzeugt die folgende Ausgabe -
Hello
String-Länge
Um die Länge der Zeichenketten zu ermitteln, können wir verwenden STRLEN statement. Die Funktion STRLEN () gibt die Anzahl der in der Zeichenfolge enthaltenen Zeichen zurück.
Beispiel
REPORT YT_SEP_15.
DATA: title_1(10) VALUE 'Tutorials',
length_1 TYPE I.
length_1 = STRLEN( title_1 ).
Write: / 'The Length of the Title is:', length_1.
Der obige Code erzeugt die folgende Ausgabe -
The Length of the Title is: 9
ABAP unterstützt eine Vielzahl von Anweisungen, die Zeichenfolgen bearbeiten.
S.No. | Erklärung & Zweck |
---|---|
1 | CONCATENATE Zwei Zeichenfolgen werden zu einer dritten Zeichenfolge verbunden. |
2 | CONDENSE Diese Anweisung löscht die Leerzeichen. |
3 | STRLEN Wird verwendet, um die Länge eines Feldes zu ermitteln. |
4 | REPLACE Wird verwendet, um Zeichen zu ersetzen. |
5 | SEARCH Suchen in Zeichenketten ausführen. |
6 | SHIFT Wird verwendet, um den Inhalt einer Zeichenfolge nach links oder rechts zu verschieben. |
7 | SPLIT Wird verwendet, um den Inhalt eines Feldes in zwei oder mehr Felder aufzuteilen. |
Das folgende Beispiel verwendet einige der oben genannten Aussagen -
Beispiel
REPORT YT_SEP_15.
DATA: title_1(10) VALUE 'Tutorials',
title_2(10) VALUE 'Point',
spaced_title(30) VALUE 'Tutorials Point Limited',
sep,
dest1(30),
dest2(30).
CONCATENATE title_1 title_2 INTO dest1.
Write: / 'Concatenation:', dest1.
CONCATENATE title_1 title_2 INTO dest2 SEPARATED BY sep.
Write: / 'Concatenation with Space:', dest2.
CONDENSE spaced_title.
Write: / 'Condense with Gaps:', spaced_title.
CONDENSE spaced_title NO-GAPS.
Write: / 'Condense with No Gaps:', spaced_title.
Der obige Code erzeugt die folgende Ausgabe -
Concatenation: TutorialsPoint
Concatenation with Space: Tutorials Point
Condense with Gaps: Tutorials Point Limited
Condense with No Gaps: TutorialsPointLimited
Note - -
Im Falle einer Verkettung fügt der 'sep' ein Leerzeichen zwischen den Feldern ein.
Die CONDENSE-Anweisung entfernt Leerzeichen zwischen den Feldern, lässt jedoch nur 1 Zeichen übrig.
'NO-GAPS' ist eine optionale Ergänzung zur CONDENSE-Anweisung, mit der alle Leerzeichen entfernt werden.