‎2006 Oct 18 6:48 AM
Hi,Dear All:
I am asking for help here.
a local txt file,contain data which are refer to the data of table SPFLI.I want to call FM GUI_LOAD,So,first I must to build a internal table,and then transfer the data to it.but I am not clear with the structrue of this internal table.and after upload the file,i want to process each fields of the internal table separately(eg.to get each fields's value and then assign to a variant)
Pls give me a demo of upload files.
‎2006 Oct 18 6:53 AM
HI,
check this program for uploading.
report ZTEST2.
data: file_path type string.
data: file_tab type filetable.
data: wa_tab like line of file_tab.
data: rc type i.
data: itab type standard table of cskt.
data: wa like line of itab.
start-of-selection.
CALL METHOD CL_GUI_FRONTEND_SERVICES=>FILE_OPEN_DIALOG
EXPORTING
FILE_FILTER = '.XLS'
CHANGING
FILE_TABLE = file_tab
RC = rc
.
READ TABLE file_tab into wa_tab index 1.
file_path = wa_tab-filename.
call method cl_gui_frontend_services=>gui_upload
exporting
filename = file_Path
HAS_FIELD_SEPARATOR = 'X'
changing
data_tab = itab.
loop at itab into wa.
write:/ wa-kostl.
endloop.Regards,
‎2006 Oct 18 7:04 AM
Hi,
1. Declare internal table :
It will contain one field of max size of your record
in a single row.
DATA : BEGIN OF i_mat OCCURS 0,
line(1000),
END OF i_mat.
2.
start-of-selection.
CALL FUNCTION 'UPLOAD'
EXPORTING
FILETYPE = 'dat'
TABLES
data_tab = i_mat.
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
3. This will contain records row by row in your file.
Then split each row based on delimiter (eg. by , or |
or space etc.) and store each field in a single row
in you actual internal table.
This way you will get all field records into one internal table.
REWARD if this helps.
Message was edited by: Palak Limbachiya
‎2006 Oct 18 9:10 AM
Thanks,Palak Limbachiya
As your advice,I upload the file successfully.
and now,the data are stored in in_tab then,I want to do some processes.Can i process in_tab directly,or transfer them to a new internal table with the same structure.
the data in in_tab are row by row, i want to assign them to string variant separately.How can i do it,and can i use array in ABAP,
‎2006 Oct 18 9:35 AM
AA 0064 US SAN FRANCISCO JFK US NEW YORK SFO 321 10:00:00 18:21:00 "2.572,0000" MI 0
this is one row out put of the uploaded file,I want to divid the fileds into different string variants.
I use the SPLIT statement,but I do not know the separator.
SPLIT in_tab-line at <del> into f1 f2....fn.
what is the <del>.
Message was edited by: lei xiang