Warum? Wir reden vom einfachen Import einer CSV-Datei. Da den direkt mit Aufruf eines FB realisieren kann, dann gibt es keinen Aufwand, den man wiederverwertbar gestalten müsste.Upload und Umwandlung trennen, da du das dann besser wiederverwerten kannst.
Folgende Benutzer bedankten sich beim Autor DeathAndPain für den Beitrag:
Daniel
Der Fuba KCD_CSV_FILE_TO_INTERN_CONVERTDeathAndPain hat geschrieben:Warum? Wir reden vom einfachen Import einer CSV-Datei. Da den direkt mit Aufruf eines FB realisieren kann, dann gibt es keinen Aufwand, den man wiederverwertbar gestalten müsste.Upload und Umwandlung trennen, da du das dann besser wiederverwerten kannst.
Folgende Benutzer bedankten sich beim Autor black_adept für den Beitrag:
Legxis
Wenn Du nur Fubas verwenden würdest, die offiziell "freigegeben" sind, dann würdest Du in SAP so manches Rad neu erfinden müssen. Das nimmt doch schon lange keiner mehr ernst, zumal es auch genug "freigegebene" Fubas gibt, die seltsame Ecken und Kanten in ihrem Verhalten haben, die ich mit mangelnder Reife begründen würde, von teilweise miserabler Doku ganz zu schweigen.black_adept hat geschrieben: Der Fuba KCD_CSV_FILE_TO_INTERN_CONVERTIch glaube das reicht an Mankos
- ist nicht freigegeben
- nicht dokumentiert
- Es fehlt ein Eingabeparameter für Textbegrenzer
- Der Dateiname kann keine längeren vollständigen Pfade verarbeiten
- Es können nur Werte mit bis zu 32 Zeichen eingelesen werden
Folgende Benutzer bedankten sich beim Autor DeathAndPain für den Beitrag:
Daniel
IMHO sind das aber beides schon sehr starke Einschränkungen.DeathAndPain hat geschrieben: Ein Dateipfad von 128 Zeichen reicht für meine Belange vollständig aus. [...] oder Spalten von mehr als 32 Zeichen Länge einlesen zu müssen.
DeathAndPain hat geschrieben:[...]ohne dass man vorher irgendwelche komplexen Strukturen oder Objekte aufbauen muss, über die man seine Werte dann auf kryptische Weise übergibt, wie das so bei "modernen" Klassen und Methoden üblich ist. [...]
Selbst bei dem von IHe genannten CL_RSDA_CSV_CONVERTER, der in der Tat auch recht einfach und übersichtlich ist, muss man erst mal ein Klassenobjekt definieren und "kreieren", bevor man es dann nutzen kann, um die eigentliche Wandlung durchzuführen. Solche Faxen braucht man bei dem Fuba nicht. Den ruft man einfach auf und fertig ist der Lack.
Code: Alles auswählen.
DATA: ls_r_bukrs TYPE bukrs_ran.
cl_rsda_csv_converter=>create( i_separator = ';' )->csv_to_structure( EXPORTING i_data = 'I;BT;1000;2000' IMPORTING e_s_data = ls_r_bukrs ).
Code: Alles auswählen.
data(lo_csv) = cl_rsda_csv_converter=>create( i_separator = ';' ).
loop at ... assigning field-symbol(zeile)
lo_csv->csv_to_structure( EXPORTING i_data = zeile IMPORTING e_s_data = my_structure )
endloop.