Konvertierungsproblem

Getting started ... Alles für einen gelungenen Start.
5 Beiträge • Seite 1 von 1
5 Beiträge Seite 1 von 1

Konvertierungsproblem

Beitrag von MarkusW (Specialist / 406 / 5 / 0 ) »
Hallo Abap-Gemeinde,

ich hab nen kleines Problem.

Ich hab ein Char-Feld das über eine ext. Quelle gefüllt wird. Nun ist es so, dass bei manchen Datensätzen ein falsches Zeichen gespeichert wird.
Für die Zukunft ist das Problem gelöst, aber die bestehenden Sätze (mehrere Tausend) muss das noch behoben werden.

Da dieses Zeichen nur in der HEX Anzeige zu erkennen ist (in der CHAR Ansicht sieht man immer '#') will ich das Char-Feld in Hex umwandeln, dass falsche Zeichen ersetzen und im Anschluss wieder ins Char-Feld bringen.

Allerdings geht das nicht :cry:

Bisherige Ansatz

mit WRITE ...TO das Char in ein Hex Feld.

Das falsche Zeichen ausgetauscht.

Nur das zurück von Hex in Char will nicht funktionieren.

Jemand nen Tip?
Danke.

Gruß
Markus

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Beitrag von TWP (Specialist / 445 / 0 / 1 ) »
Hi markus,

zuerst eine frage: habt ihr daten zwischen fremden systemen kopiert (windows -> unix)? Wenn ja steht dein Zeichen immer an letzter Stelle. langfristige abhilfe, daten nicht koprieren sondern per ftp transportieren.
Dein Problem kannst du ansich sonst wie folgt lösen.

feld_falsch = 'abcd#'.

len = strlen( feld_falsch ) - 1.

feld_richtig = feld_falsch(len).

Viel Erfolg.

Thomas

Beitrag von MarkusW (Specialist / 406 / 5 / 0 ) »
Hallo Thomas,

nein ganz so trivial ist es leider nicht ;)

Das falscheZeichen steht innerhalb der letzten 4 Zeichen. An unterschiedlicher Position.
Der einzige Weg es herauszufinden liegt darin, dass die richtigen Felder der 4 Zeichen ein Hex-Wert von '20' (leerzeichen) haben. Das Falsche hat beben z.b. '0D' drin stehen.

Wie schon gesagt, das falsche Zeichen find ich schon ...ich bekomm nur den ganzen WERT nicht mehr in ein CHAR Feld zurück. :oops:

Gruß
Markus

Beitrag von TWP (Specialist / 445 / 0 / 1 ) »
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

Beitrag von MarkusW (Specialist / 406 / 5 / 0 ) »
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 :wink:
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... :roll:

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

Seite 1 von 1

Vergleichbare Themen

0
Antw.
1136
Views
Konvertierungsproblem beim Upload
von Costa » 20.07.2007 15:18 • Verfasst in ABAP® für Anfänger

Über diesen Beitrag


Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.