Auszug aus der Hilfe zu 'Compute - Arithmetischer Ausdruck'Charadin hat geschrieben:Hallo Timo,
das geht mit dem Befehl "strlen":
Code: Alles auswählen.
laenge = strlen( variable ).
STRLEN
Liefert die Länge eines zeichenartigen Feldes in Zeichen. Im Gegensatz zu Feldern vom Typ STRING zählt bei einem C-Feld nur die tatsächlich belegte Länge, da Leerzeichen am Ende nicht berücksichtigt werden.
XSTRLEN
Liefert die Länge eines byteartigen Feldes (Typ X oder XSTRING) in Bytes.
CHARLEN
Liefert die Länge des ersten Zeichens eines zeichenartigen Feldes. In Single-Byte Codepages ist diese Länge stets 1. In den von SAP unterstützten Double-Byte Codepages kann diese Länge 1 oder maximal 2 betragen. In Unicode-Systemen wird in der Regel der Wert 1 geliefert. Nur bei zeichenartigen Feldern, die Unicode-Doppelzeichen aus der Surrogate Area enthalten, wird die Länge 2 ermittelt.
NUMOFCHAR
Liefert die Anzahl der Zeichen eines zeichenartigen Feldes. In Unicode-Systemen und in Nicht-Unicode-Systemen mit Single-Byte Codepages verhält sich diese Funktion wie STRLEN. In Nicht-Unicode-Systemen mit Double-Byte Codepages werden Zeichen, die mehr als 1 Byte belegen, mit der Länge 1 gezählt, während STRLEN die Länge 2 liefern würde.
Code: Alles auswählen.
parameters pstr(50) default 'string enthält 22 Zeichen'.
data str type string.
data i type i.
move pstr to str.
condense str no-gaps.
i = strlen( str ).
write: pstr, str, i..