Hallo Thomas,
das ist zwar theoretisch richtig was du schreibst, praktisch ist es aber hier nicht so. 0D steht eben nicht am Ende, sonst wäre es ja einfach, indem man immer das letzte 'Zeichen' entfernt.
Den Transport der Datei ins System ist nicht beeinflußbar und somit auch keine Option, um von der Seite den Fehler zu beheben. Aber wie schon erwähnt, dass Problem ist schon behoben, nur die schon bestehenden Sätze müssen geändert werden.
Der Tip mit dem Split ist interessant
Allerdings, wie auch schon geschrieben, ist es nicht immer das gleiche falsche Zeichen, also nicht immer '0D'...das is ja das schlimme an der Sache. Die falschen Zeichen sind unterschiedlich, so als hätte das System einmal die Hexwerte der Zeichen einmal durchgesprungen...
Egal...wird scho irgendwie klappen.
Gruß
Markus
TWP hat geschrieben:Hallo Markus,
'0D' ist ein Zeilenumburuch und steht immer am Zeilenende. Transportiere deine Eingabedatei per FTP und das Problem ist behoben.
Mit STRLEN sollte es dann trotzdem funktionieren, da nach dem Sonderzeichen (eigentlich) kein Zeichen mehr steht.
Sonst kannst du es auch mit SPLIT versuchen:
SPILIT <einagbe> at cl_abap_char_utilities=>NEWLINE into
feld1 feld2.
concatenate feld1 feld2 into feld_gesamt
Statt NEWLINE kannst du auch mal CR_LF versuchen. Einfach mal ein Doppelklick auf NEWLINE machen und sehen was dahinter steht und mal ausprobieren.
Thomas