Bei großen Datenmengen sollte man da einen Bogen drum machen - hab ich mir sagen lassen von jemandem, der den öfters verwendet.black_adept hat geschrieben:Wenn du ausschließlich am Frontend arbeitest könntest du auch den FuBa ALSM_EXCEL_TO_INTERNAL_TABLE verwenden - da braucht man nur eine Zieltabelle und die Daten werden aus dem Excel dort hineingestellt.
Code: Alles auswählen.
REPORT zzz_CSV.
TYPES:
BEGIN OF ty_tab,
f1 TYPE char10,
f2 TYPE char10,
f3 TYPE char10,
END OF ty_tab.
DATA: file_path_list LIKE rlgrap OCCURS 1 WITH HEADER LINE,
tab TYPE STANDARD TABLE OF ty_tab,
datei(60) TYPE c .
datei = 'D:\CSVTEST2.csv'.
FILE_PATH_LIST-FILENAME = Datei.
APPEND FILE_PATH_LIST.
CALL FUNCTION 'UPLOAD_FILES'
EXPORTING
i_filetype = 'DAT'
i_xpc = 'X'
TABLES
file_all = tab
tab_file = file_path_list
.
IF sy-subrc <> 0.
ENDIF.
Code: Alles auswählen.
LOOP AT itab into ls_itab.
split ls_itab at ';' into ls_itab2-col1
ls_itab2-col2
ls_itab2-col3.
APPEND ls_itab2 to itab2.
ENDLOOP.
Code: Alles auswählen.
TYPE-POOLS: truxs.
TYPES:
BEGIN OF ty_tab,
f1 TYPE char10,
f2 TYPE char10,
f3 TYPE char10,
END OF ty_tab.
DATA:
tab TYPE STANDARD TABLE OF ty_tab,
datei(60) TYPE c .
datei = 'D:\CSVTEST2.csv'.
CALL FUNCTION 'FILE_READ_AND_CONVERT_SAP_DATA'
EXPORTING
i_filename = datei
i_servertyp = 'PRS'
i_fileformat = 'CSV'
i_field_seperator = ';'
i_line_header = 'X'
* IMPORTING
* E_BIN_FILELENGTH =
TABLES
i_tab_receiver = tab
EXCEPTIONS
file_not_found = 1
close_failed = 2
authorization_failed = 3
open_failed = 4
conversion_failed = 5
OTHERS = 6
.
IF sy-subrc <> 0.
ENDIF.
Danke für den Tipp!Niels hat geschrieben:Hallo,
ja so müsste es funktionieren.
Würde die Tabelle eventuell nicht tab nennen da es mein ich ein schlüsselwort ist aber sonst sieht es gut aus.
Gruß
Niels