Konvertierung CHAR => RAW

Alles rund um die Sprache ABAP®: Funktionsbausteine, Listen, ALV
21 Beiträge • Seite 1 von 2 (current) Nächste
21 Beiträge Seite 1 von 2 (current) Nächste

Konvertierung CHAR => RAW

Beitrag von ralf.wenzel (Top Expert / 3776 / 176 / 262 ) »
Moin moin,

gegeben sei eine interne Tabelle vom Type CHAR255 und eine zweite Type RAW255. Die erste ist die Quelltabelle, die zweite die Zieltabelle. Ich stoße bei jedem Wege, die Daten von der einen in die andere interne Tabelle zu kopieren immer auf die Fehlermeldung, dass in Unicode-Systemen der Typ nicht konvertierbar sei.

Es MUSS aber eine Möglichkeit geben, ich kann mir nicht vorstellen, dass das nicht geht.

Wie gehe ich vor?


Gruß und danke

Ralf

Edit: Wenn ich die CHAR255-itab in eine Datei auf dem Server schreibe und in die Struktur der RAW255-itab einlese, geht's. Ich will aber keine Datei erzeugen, die kein Mensch braucht.
Bild
Ralf Wenzel Heuristika SAP-Development
25 Jahre SAP-Entwickler • 20 Jahre Freiberufler
PublikationenUngarische NotationXing

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


Re: Konvertierung CHAR => RAW

Beitrag von black_adept (Top Expert / 3950 / 105 / 886 ) »
Hallo Ralf,

habe gerade keine Unicode-system unter den Fingern um das zu Testen - aber ich denke dass dir CL_BCS_CONVERT=>RAW_TO_SOLIX weiterhelfen sollte.
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Re: Konvertierung CHAR => RAW

Beitrag von ralf.wenzel (Top Expert / 3776 / 176 / 262 ) »
Ich habe TXT_TO_SOLIX genommen, aber der Tipp war klasse, danke!!!
Bild
Ralf Wenzel Heuristika SAP-Development
25 Jahre SAP-Entwickler • 20 Jahre Freiberufler
PublikationenUngarische NotationXing

Re: Konvertierung CHAR => RAW

Beitrag von a-dead-trousers (Top Expert / 4287 / 214 / 1142 ) »
hi!

Ich würde dazu zuerst CONCATENATE für Char machen.
Dann mit CL_ABAP_CONV_OUT_CE=>CONVERT den String in XString umwandlen.
Und schließlich SPLIT für Byte anwenden.

Der CL_BCS_CONVERT=>RAW_TO_SOLIX würde in diesem (speziellen) Fall zwar auch funktionieren, aber sobald sich die Zeilennänge ändert ist man erst wieder auf eine andere Lösung angewiesen. Meine Variante ist zwar aufwändiger aber eben dafür auch flexibler.

lg ADT
Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.18
Basis: 7.50

Re: Konvertierung CHAR => RAW

Beitrag von ralf.wenzel (Top Expert / 3776 / 176 / 262 ) »
Du hast vollkommen recht, aber die Zieltabelle IST vom Typ SOLIX_TAB, insofern passte die Lösung perfekt für mich ;)
Bild
Ralf Wenzel Heuristika SAP-Development
25 Jahre SAP-Entwickler • 20 Jahre Freiberufler
PublikationenUngarische NotationXing

Re: Konvertierung CHAR => RAW

Beitrag von a-dead-trousers (Top Expert / 4287 / 214 / 1142 ) »
In dem Fall passt es sogar wie die Faust aufs Auge :P
Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.18
Basis: 7.50

Re: Konvertierung CHAR => RAW

Beitrag von ralf.wenzel (Top Expert / 3776 / 176 / 262 ) »
Richtig. Ich habe gerade nur das Problem, dass ich diese itab als Attachment an eine Mail hängen will. Das mache ich mit cl_document_bcs->add_attachment. Leider macht der die Zeilen alle hintereinander statt zeilenweise, ich erhalte also eine CSV-Datei ohne Carriage Returns drin.

Vielleicht weiß auch noch jemand, wie ich das hinkriege, dass eine Dateienzeile pro itab-Zeile erzeugt.... Sowas wie einen Parameter "Zeilenlänge" finde ich in der Methode leider nicht :-(


Gruß

Ralf

Edit: Es ist übrigens unabhängig davon, ob ich die itab als Text oder als Binärtabelle übergebe - die CRs fehlen in jedem Falle.
Bild
Ralf Wenzel Heuristika SAP-Development
25 Jahre SAP-Entwickler • 20 Jahre Freiberufler
PublikationenUngarische NotationXing

Re: Konvertierung CHAR => RAW

Beitrag von black_adept (Top Expert / 3950 / 105 / 886 ) »
Hallo Ralf,

ist das das Start und Ziel deiner Forschungen? Du willst eine email verschicken mit einer reinen Char-Tabelle als CSV-Anhang?
Denn momentan frage ich mich, warum du nur das Problem mit den Linefeeds hast und nicht zusätzlich das Problem, dass eine int. Tabelle keine Trennzeichen enthält.
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Re: Konvertierung CHAR => RAW

Beitrag von a-dead-trousers (Top Expert / 4287 / 214 / 1142 ) »
ralf.wenzel hat geschrieben:Ich habe gerade nur das Problem, dass ich diese itab als Attachment an eine Mail hängen will. Das mache ich mit cl_document_bcs->add_attachment. Leider macht der die Zeilen alle hintereinander statt zeilenweise, ich erhalte also eine CSV-Datei ohne Carriage Returns drin.
Lass mich raten: Deine "ursprüngliche" Datentabelle hat eine Zeilenlänge von ungleich 255 und du überträgst die Daten zeilenweise in die Attachment-Tabelle.
Du musst zuerst alle Zeilen mit Trennzeichen CR+LF zusammenfassen und dannach die Tabelle für das Attachment daraus befüllen.
Am Besten geht das mit CONCATENATE LINES OF ... INTO ... SEPARATED BY CL_ABAP_CHAR_UTILITIES=>CR_LF.
Und dann eben mein Textsplit.
Dadurch werden die Zeilen der Attachment-Tabelle komplett aufgefüllt (keine unnötigen Leerzeichen hinten in den Zeilen) und dann bei der Weiterverarbeitung auch richtig interpretiert.

lg ADT
Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.18
Basis: 7.50

Re: Konvertierung CHAR => RAW

Beitrag von ralf.wenzel (Top Expert / 3776 / 176 / 262 ) »
black_adept hat geschrieben:ist das das Start und Ziel deiner Forschungen? Du willst eine email verschicken mit einer reinen Char-Tabelle als CSV-Anhang?
Nein, das ist in Summe etwas (sehr viel) komplexer. Im Ergebnis habe ich eine RAW-Tabelle, die ich als Mail versende.
black_adept hat geschrieben:Denn momentan frage ich mich, warum du nur das Problem mit den Linefeeds hast und nicht zusätzlich das Problem, dass eine int. Tabelle keine Trennzeichen enthält.
Die Trennzeichen als Spaltentrenner sind drin. Das ist nicht das Problem.
Bild
Ralf Wenzel Heuristika SAP-Development
25 Jahre SAP-Entwickler • 20 Jahre Freiberufler
PublikationenUngarische NotationXing

Re: Konvertierung CHAR => RAW

Beitrag von ralf.wenzel (Top Expert / 3776 / 176 / 262 ) »
Es ist zum Verrücktwerden - wenn ich die interne Tabelle als Datei auf dem Server wegschreibe und wieder hochlade, habe ich genau das Format, das ich brauche - mit CRs drin. Das ist natürlich ein nicht akzeptabler Workaround...
Bild
Ralf Wenzel Heuristika SAP-Development
25 Jahre SAP-Entwickler • 20 Jahre Freiberufler
PublikationenUngarische NotationXing

Re: Konvertierung CHAR => RAW

Beitrag von a-dead-trousers (Top Expert / 4287 / 214 / 1142 ) »
Nochmal:
CONCATENATE LINES OF <tabelle> INTO <string> SEPARATED BY CL_ABAP_CHAR_UTILITIES=>CR_LF
Damit hast du das gleiche Ergebnis wie wenn du die Daten im Text-Modus zeilenweise in eine Datei schreibst.
Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.18
Basis: 7.50

Re: Konvertierung CHAR => RAW

Beitrag von ralf.wenzel (Top Expert / 3776 / 176 / 262 ) »
Da muss ich mich entschuldigen, diese Antwort ist mir echt durchgegangen. War ein zu langer Tag gestern.
Bild
Ralf Wenzel Heuristika SAP-Development
25 Jahre SAP-Entwickler • 20 Jahre Freiberufler
PublikationenUngarische NotationXing

Re: Konvertierung CHAR => RAW

Beitrag von dyv (ForumUser / 53 / 18 / 0 ) »
Hallo Zusammen,

sorry, dass ich hier schreibe, aber ich hatte ein ähnliches Problem, was ich genau so gelöst habe.

Allerdings wenn ich, dann meine CSV-Datei öffne stelle ich fest, dass die spezielle Zeichnen (ß, ä,ö ect) nicht korrekt dargestellt werden...

Haben Sie das Problem auch gehabt?

Gruß

Denis

Re: Konvertierung CHAR => RAW

Beitrag von ralf.wenzel (Top Expert / 3776 / 176 / 262 ) »
Codepage 1100 eingestellt?
Bild
Ralf Wenzel Heuristika SAP-Development
25 Jahre SAP-Entwickler • 20 Jahre Freiberufler
PublikationenUngarische NotationXing

Vergleichbare Themen

1
Antw.
6402
Views
konvertierung von CHAR(10) zu DATE
von HaXor » 20.06.2007 14:21 • Verfasst in ABAP® Core
3
Antw.
3071
Views
Konvertierung von int nach char mit 1000er Trennung
von F12_man » 07.09.2007 11:50 • Verfasst in ABAP® Core
2
Antw.
2466
Views
AVL Grid Anzeige / Konvertierung CURR -> CHAR
von drkasper » 20.01.2005 10:06 • Verfasst in Dialogprogrammierung
1
Antw.
2739
Views
Konvertierug vom datentyp char der länge 4 in char der länge
von ratoshuan » 28.06.2006 11:33 • Verfasst in ABAP® Core
1
Antw.
1358
Views
Konvertierung GRM <-> KGM (KG?)
von Romaniac » 17.04.2018 16:14 • Verfasst in ABAP® Core

Aktuelle Forenbeiträge

Updates der Daten, Fehlermeldung
vor 23 Stunden von Egzon gelöst 1 / 50
Wie benutze ich COMMIT WORK richtig
vor 2 Tagen von msfox 17 / 431

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.

Aktuelle Forenbeiträge

Updates der Daten, Fehlermeldung
vor 23 Stunden von Egzon gelöst 1 / 50
Wie benutze ich COMMIT WORK richtig
vor 2 Tagen von msfox 17 / 431

Unbeantwortete Forenbeiträge

Updates der Daten, Fehlermeldung
vor 23 Stunden von Egzon 1 / 50
Zwischensumme Adobe Forms
vor 5 Wochen von Lucyalison 1 / 269
Group Items auf einer Filterbar
letzen Monat von Bright4.5 1 / 321