Typkonvertierung nach Upload einer CSV-Datei

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

Typkonvertierung nach Upload einer CSV-Datei

Beitrag von SkyHobbit (Specialist / 170 / 0 / 1 ) »
Hallo,

ich lade eine CSV-Datei mit dem Funktionsbaustein GUI_UPLOAD in eine interne Tabelle mit dem Zeilentyp CHAR100. Die einzelnen Zeilen verarbeite ich mit einem Loop und entsprechendem SPLIT ... AT ';'. Damit sind alle Spalten zugeordnet.
Die Zuordnung ist bis auf die letzte Spalte unproblematisch, da alles CHAR oder NUMC-Felder sind. Die letzte Spalte ist aber eigentlich ein DEC-Feld mit zwei Nachkommstellen. Für die Umwandlung habe ich erst einmal ein CHAR-Feld der Länge 9 verwendet, dass ich dann im zweiten Schritt in das DEC-Feld 'konvertieren' wollte, in dem ich einfach den Befehl MOVE verwenden wollte, da ich davon ausgehen kann, dass nur gültige Zahlen geliefert werden.
Das Problem ist jetzt aber, dass alle Stellen des CHAR-Feldes nach dem Ende der Zahl SPACES also 20h sind. Damit kommt es nun zum Kurzdump ....

Ich habe schon diverse Funktionsbausteine zum Konvertieren angeschaut, bzw. ausprobiert ... funktioniert hat keiner.

Hat jemand eine Idee, wie ich das Problem umgehen oder lösen kann ????

Gruß
Ulf. [/code]

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


Beitrag von Thomas R. (Expert / 760 / 79 / 35 ) »
Hallo Ulf,
mache doch mit der letzten Spalte noch einen
SPLIT xxx at SPACE
und nimm nur den 1. Teil

MfG
Thomas R.

Beitrag von SkyHobbit (Specialist / 170 / 0 / 1 ) »
Hallo Thomas,

hat ein wenig gedauert mit der Antwort.
Inzwischen habe ich das Problem lösen, bzw. umgehen können.

Punkt 1: Aus der CSV-Datei kommt die Zahl mit einem Komma als Dezimalpunkt. SAP verarbeitet aber mit Punkten. Das weiß man zwar, aber beim Debuggen ist mir das nicht ins Auge gesprungen.

Punkt2: Nachdem das Problem mit Translate xx using ',.' behoben wurde, hat ein MOVE von einem String-Wert in ein DEC-Wert mit zwei Nachkommastellen dazu geführt, dass die Nachkommstellen verloren gehen; d.h. der String hat nach dem oben erwähnten SPLIT folgenden Wert '-34,45' als HEX-Wert '2D33342C3435202020'. Nach dem Translate und dem Move hat die Variable den Wert 34.00.
Ich habe das Problem nun umgangen, in dem ich den ursprünglichen Stringwert in Vor- und Nachkommastellen gesplittet habe und anschließend mit CONCATENATE wieder zusammengesetzt habe. Jetzt klappt es auch mit dem Move in ein DEC-6.2-Wert.
Hat jemand eine Erklärung für dieses Verhalten ??

Gruß
Ulf.

Seite 1 von 1

Vergleichbare Themen

2
Antw.
1967
Views
Upload einer txt-Datei
von KlausB » 19.01.2007 13:39 • Verfasst in ABAP® Core
1
Antw.
2516
Views
Gui-Upload - unicode datei hochladen
von Tigermoon » 12.01.2006 15:10 • Verfasst in Dialogprogrammierung
3
Antw.
4076
Views
WebService konsumieren - Datei Upload
von herr mb » 18.03.2014 11:06 • Verfasst in Web-Dynpro, BSP + BHTML
7
Antw.
2529
Views
Fehler bei Open_file_dialog - Upload einer Datei
von DavidFaude » 31.03.2025 10:34 • Verfasst in ABAP® für Anfänger
5
Antw.
9947
Views
Datei Upload/Download im Selection Screen
von Spookykid » 06.04.2011 16:19 • Verfasst in ABAP® für Anfänger

Über diesen Beitrag


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

Aktuelle Forenbeiträge

RFC vs. ODATA
vor 4 Tagen von DeathAndPain 8 / 1751
Frage zur redefinierten Methode
vor 6 Tagen von ralf.wenzel 12 / 2201

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

RFC vs. ODATA
vor 4 Tagen von DeathAndPain 8 / 1751
Frage zur redefinierten Methode
vor 6 Tagen von ralf.wenzel 12 / 2201