ich muss einen Report schreiben, in dem ich u.a. alle Artikelkurztexte darauf scannen muss, ob nicht alphanummerische Zeichen (also <> (A-Z) und (0-9))vorkommen und durch blank ersezten.
Ich könnte jetzt über die String loopen und jedes Zeichen einzeln mit find gegen den string 'ABC...XYZ0123456789' prüfen. Das erscheint mir aber nicht besonders clever. Hat jemand eine bessere Idee?
Nimm dir eine Variable und fülle die mit den Buchstaben und Zahlen die nicht vorkommen dürfen und prüfe dann mit CA. In etwa so:
PrüfFeld CA DeineVariable
Danach mußt du den SY-subrc abfragen.
Du kannst unter "Vergleiche zwischen Zeichenketten" in der Onlinedoku suchen und findest ebenso auch Beispiele hierfür.
der Tipp mit den Zeichen die nicht vorkommen dürfen funktioniert nicht, da ich ja die gerade nicht kenne (HEX 00 bis ??).
Der Hinweis auf die Onlinedoku half dann weiter. Ich habe es dann so gelöst:
g_text enthält meinen zu untersuchenden Text
CONSTANTS alpha(37) TYPE c VALUE '1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ '.
WHILE g_text CN alpha.
g_text+sy-fdpos(1) = ' '.
ENDWHILE.