Code: Alles auswählen.
REPLACE ALL OCCURRENCES OF '#' IN string WITH space. ===> Geht nicht!
REPLACE ALL OCCURRENCES OF '#' IN string WITH ' '. ===> Geht nicht!
REPLACE '#' WITH ' ' into string. ===> Geht nicht!
Code: Alles auswählen.
data: ld_char type C length 1.
field-symbols: <la_hex> type any.
assign ld_char to <la_hex> casting type X.
<la_hex> = 'A4'. "= Euro Zeichen in ISO-8859-15
Code: Alles auswählen.
gv_int = strlen( gs_itab-value ).
gv_int = gv_int - 1.
clear gs_itab-value+gv_int(1).
Ja, nicht die <LA_HEX> für den REPLACE verwenden sondern die LD_CHAR.Handeglo hat geschrieben:Replace funtioniert nur mit zeichenartige Datenobjekte. Du hast die "<LA_HEX>" als TYPE X definiert. Bei mir gibt es zumindest einen Dump.
Hast du vielleicht andere Lösung?
Auch eine Möglichkeit. Vielleicht sogar besser als nach einem bestimmten Zeichen zu suchen, weil dann man Ende nur Zahlen übrigbleiben. Man muss nur beachten, dass entweder der Punkt (amerikanisch) oder der Beistrich (deutsch) das Trennzeichen für die Dezimalstellen ist. Auch muss man von links beginnend jedes einzelne Zeichen prüfen.wreichelt hat geschrieben:ich hatte ja schon mal den Vorschlag gemacht, die Zeichen nach links zu schieben, ist das erfolgt
kannst Du ja das letzte Zeichen prüfen.
Mittels IF ... CN '0123456789'
und dann Entscheiben, ob das letzte Zeichen weg muss.