01-22-2007 9:48 AM
Hi,
i searched in the forum for an answer but i didn´t find any...
So, here is my question:
I have an excelfile with makros and i want to download it from server.
Using gui_download creates a file which can not be read by excel.
DO.
READ DATASET makro_rag INTO downtab.
IF sy-subrc > 0. EXIT. ENDIF.
rec_len = STRLEN( downtab-tab ).
APPEND downtab.
ENDDO.
CLOSE DATASET makro_rag.
DESCRIBE TABLE downtab LINES rec_cnt.
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
filename = makro_rag_down
filetype = 'BIN'
IMPORTING
filelength = rec_len
TABLES
data_tab = downtab
EXCEPTIONS
file_open_error = 1
file_write_error = 2.
When using cl_gui_frontend_services=>gui_download I got errors because of incorrect assignments.
DO.
READ DATASET makro_rag INTO downtab.
IF sy-subrc > 0. EXIT. ENDIF.
rec_len = STRLEN( downtab-tab ).
wa_heading-line = downtab-tab.
APPEND wa_heading to g_heading.
ENDDO.
close dataset makro_rag.
CALL METHOD cl_gui_frontend_services=>gui_download
EXPORTING
BIN_FILESIZE = rec_len
filename = 'c: empmakro_rag.xls'
FILETYPE = 'BIN'
changing
data_tab = g_heading
Has anybody an idea what goes wrong there?
Thanks in advance,
Sebastian
01-22-2007 9:52 AM
hi,
use TEXT_CONVERT_XLS_TO_SAP function module to fetch values directly from the EXCEL file to your internal table.
REPORT zupload_excel_to_itab.
TYPE-POOLS: truxs.
PARAMETERS: p_file TYPE rlgrap-filename.
TYPES: BEGIN OF t_datatab,
col1(30) TYPE c,
col2(30) TYPE c,
col3(30) TYPE c,
END OF t_datatab.
DATA: it_datatab type standard table of t_datatab,
wa_datatab type t_datatab.
DATA: it_raw TYPE truxs_t_text_data.
* At selection screen
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
CALL FUNCTION 'F4_FILENAME'
EXPORTING
field_name = 'P_FILE'
IMPORTING
file_name = p_file.
***********************************************************************
*START-OF-SELECTION.
START-OF-SELECTION.
CALL FUNCTION 'TEXT_CONVERT_XLS_TO_SAP'
EXPORTING
* I_FIELD_SEPERATOR =
i_line_header = 'X'
i_tab_raw_data = it_raw " WORK TABLE
i_filename = p_file
TABLES
i_tab_converted_data = it_datatab[] "ACTUAL DATA
EXCEPTIONS
conversion_failed = 1
OTHERS = 2.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
***********************************************************************
* END-OF-SELECTION.
END-OF-SELECTION.
LOOP AT it_datatab INTO wa_datatab.
WRITE:/ wa_datatab-col1,
wa_datatab-col2,
wa_datatab-col3.
ENDLOOP.
Also, check the following links:
http://www.sapdevelopment.co.uk/file/file_upexcel.htm
http://www.sapdevelopment.co.uk/file/file_upexcelalt1.htm
http://www.sapdevelopment.co.uk/file/file_upexcelalt2.htm
Regards
Anver
01-22-2007 9:52 AM
hi,
use TEXT_CONVERT_XLS_TO_SAP function module to fetch values directly from the EXCEL file to your internal table.
REPORT zupload_excel_to_itab.
TYPE-POOLS: truxs.
PARAMETERS: p_file TYPE rlgrap-filename.
TYPES: BEGIN OF t_datatab,
col1(30) TYPE c,
col2(30) TYPE c,
col3(30) TYPE c,
END OF t_datatab.
DATA: it_datatab type standard table of t_datatab,
wa_datatab type t_datatab.
DATA: it_raw TYPE truxs_t_text_data.
* At selection screen
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
CALL FUNCTION 'F4_FILENAME'
EXPORTING
field_name = 'P_FILE'
IMPORTING
file_name = p_file.
***********************************************************************
*START-OF-SELECTION.
START-OF-SELECTION.
CALL FUNCTION 'TEXT_CONVERT_XLS_TO_SAP'
EXPORTING
* I_FIELD_SEPERATOR =
i_line_header = 'X'
i_tab_raw_data = it_raw " WORK TABLE
i_filename = p_file
TABLES
i_tab_converted_data = it_datatab[] "ACTUAL DATA
EXCEPTIONS
conversion_failed = 1
OTHERS = 2.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
***********************************************************************
* END-OF-SELECTION.
END-OF-SELECTION.
LOOP AT it_datatab INTO wa_datatab.
WRITE:/ wa_datatab-col1,
wa_datatab-col2,
wa_datatab-col3.
ENDLOOP.
Also, check the following links:
http://www.sapdevelopment.co.uk/file/file_upexcel.htm
http://www.sapdevelopment.co.uk/file/file_upexcelalt1.htm
http://www.sapdevelopment.co.uk/file/file_upexcelalt2.htm
Regards
Anver
01-22-2007 9:52 AM
Hi Becker,
Try the following transactions : CG3Y or CG3Z.
This may help.
Ashven
01-22-2007 10:03 AM