Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

UPLOAD MORE than one file into internal table??

Former Member
0 Kudos

Data:LV_FILES TYPE FILETABLE,

LV_RC TYPE I,

I_DIR TYPE STRING,

IT_TEXTO TYPE STANDARD TABLE OF S_TEXTO ,

WA_TEXTO LIKE LINE OF IT_TEXTO.

"Open a dialog

CALL METHOD CL_GUI_FRONTEND_SERVICES=>FILE_OPEN_DIALOG

EXPORTING

INITIAL_DIRECTORY = 'C:

'

CHANGING

FILE_TABLE = LV_FILES

RC = LV_RC.

READ TABLE LV_FILES INDEX 1 INTO I_DIR.

CALL METHOD CL_GUI_FRONTEND_SERVICES=>GUI_UPLOAD

EXPORTING

FILENAME = I_DIR

READ_BY_LINE = 'X' " FILETYPE = 'ASC'

CHANGING

DATA_TAB = IT_TEXTO

With this code I open a dialog and then I choose a file to upload to Internal table.

But I only can choose one.

Who can I do to change my code and I choose three or four files and then download to internal table.

Thanks a lot

Message was edited by:

Ana Marí

1 ACCEPTED SOLUTION

Former Member
0 Kudos

Data:LV_FILES TYPE FILETABLE,

LV_RC TYPE I,

I_DIR TYPE STRING,

IT_TEXTO TYPE STANDARD TABLE OF S_TEXTO ,

TMP_TEXTO TYPE STANDARD TABLE OF S_TEXTO ,

WA_TEXTO LIKE LINE OF IT_TEXTO.

"Open a dialog

CALL METHOD CL_GUI_FRONTEND_SERVICES=>FILE_OPEN_DIALOG

EXPORTING

INITIAL_DIRECTORY = 'C:
'

MULTISELECTION = 'X'

CHANGING

FILE_TABLE = LV_FILES

RC = LV_RC.

CLEAR :IT_TEXTO[].

LOOP AT LV_FILES INTO I_DIR.

CLEAR TMP_TEXTO[].

CALL METHOD CL_GUI_FRONTEND_SERVICES=>GUI_UPLOAD

EXPORTING

FILENAME = I_DIR

READ_BY_LINE = 'X' " FILETYPE = 'ASC'

CHANGING

DATA_TAB =TMP_TEXTO

APPEND LINES OF TMP_TEXTO TO IT_TEXTO.

ENDLOOP.

2 REPLIES 2

Former Member
0 Kudos

Data:LV_FILES TYPE FILETABLE,

LV_RC TYPE I,

I_DIR TYPE STRING,

IT_TEXTO TYPE STANDARD TABLE OF S_TEXTO ,

TMP_TEXTO TYPE STANDARD TABLE OF S_TEXTO ,

WA_TEXTO LIKE LINE OF IT_TEXTO.

"Open a dialog

CALL METHOD CL_GUI_FRONTEND_SERVICES=>FILE_OPEN_DIALOG

EXPORTING

INITIAL_DIRECTORY = 'C:
'

MULTISELECTION = 'X'

CHANGING

FILE_TABLE = LV_FILES

RC = LV_RC.

CLEAR :IT_TEXTO[].

LOOP AT LV_FILES INTO I_DIR.

CLEAR TMP_TEXTO[].

CALL METHOD CL_GUI_FRONTEND_SERVICES=>GUI_UPLOAD

EXPORTING

FILENAME = I_DIR

READ_BY_LINE = 'X' " FILETYPE = 'ASC'

CHANGING

DATA_TAB =TMP_TEXTO

APPEND LINES OF TMP_TEXTO TO IT_TEXTO.

ENDLOOP.

Former Member
0 Kudos

Hi Ana,

try this:

DATA: LV_CNT TYPE I,

FILE TYPE STRING value 'C:\*.TXT',

LT_FILENAME TYPE FILETABLE,

USER_ACT TYPE I.

*

CALL METHOD CL_GUI_FRONTEND_SERVICES=>FILE_OPEN_DIALOG

EXPORTING

WINDOW_TITLE = 'PC-File Selektion'

DEFAULT_FILENAME = FILE

<b>MULTISELECTION = 'X'</b>

CHANGING

<b>FILE_TABLE = LT_FILENAME</b>

RC = LV_CNT

USER_ACTION = USER_ACT

EXCEPTIONS

FILE_OPEN_DIALOG_FAILED = 1

CNTL_ERROR = 2

ERROR_NO_GUI = 3.

*

look into table LT_FILENAME

Regards, Dieter