Hallo Raffael,
probier’s mal damit:
***********************************************************
REPORT CSVDAT.
**************
parameters: csvfile like rlgrap-filename default ‚C:\Temp\datei.csv‘.
parameters: splitat default ‚;‘.
**************
data: begin of ctab occurs 0,
satz(200) type c,
end of ctab.
**** interne Tabelle
data: begin of inttab occurs 0,
spalte1(10),
spalte2(5),
spalte3(10).
data: end of inttab.
data: ttext.
**************
* CSV-Datei laden
call function ‚WS_UPLOAD‘
exporting
filename = csvfile
filetype = ‚ASC‘
tables
data_tab = ctab
exceptions
conversion_error = 1
file_open_error = 2
file_read_error = 3
invalid_table_width = 4
invalid_type = 5
no_batch = 6
unknown_error = 7
others = 8.
**************
* Füllen der internen Tabelle
if sy-subrc = 0.
loop at ctab.
ttext = space.
if splitat space.
split ctab at splitat into inttab-spalte1 inttab-spalte2
inttab-spalte3.
append inttab.
else.
ttext = ctab(1).
shift ctab.
endif.
endloop.
*** Fehlermeldung wenn upload daneben geht
else.
write: / 'Fehler beim Upload der CSV-DATEI: ',
csvfile, 'Fehler: ', sy-subrc.
endif.
***********************************************************
Die einzulesende Datei muss als CSV-Datei abgespeichert werden. Der Dateiname ist in den Parameter csvfile einzutragen. Der Parameter splitat beinhaltet das Trennungszeichen der CSV-Datei (normalerweise ; ansonsten anpassen).
Der Aufbau der internen Tabelle inttab muss dem Aufbau der CSV-Datei entsprechen (Spaltenposition,Anzahl der Spalten, Feldlängen).
Ich hoffe das hilft Dir weiter.
Gruß
Helmut
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]