2007 Dec 24 5:41 AM
hi experts,
Could anybody give me the sample code for uploading data thru BDC from Excel and CSV format.
Thanks in advance.
hi experts,
Could anybody give me the sample code for uploading data thru BDC from Excel and CSV format.
Thanks in advance.
2007 Dec 24 5:47 AM
Hi,
Use this FM ALSM_EXCEL_TO_INTERNAL_TABLE to upload excel into an internal table in call tranaction or session input.
For uploading CSV file.
First upload the csv file into internal table by using GUI_UPLOAD,
then u can concatenate the three columns
After you split the string, into its fields, just concatenate the fields into another field.
split iflat at ',' into itab-fld1 itab-fld2 itab-fld3.
concatanate itab-fld1 itab-fld2 itab-fld3 into itab-fld4 separated by '-'.
append itab.
Cheers,
Simha.
2007 Dec 24 6:34 AM
DATA: BEGIN OF i_file_data OCCURS 0,
col1 TYPE text60,
col2 TYPE text60,
col3 TYPE text60,
col4 TYPE text60,
col5 TYPE text60,
col6 TYPE text60,
END OF i_file_data.
parameter: p_local TYPE rlgrap-filename MODIF ID m2.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_local.
*F4 help to browse file in local server
PERFORM select_local_file.
Start-of-selection.
Get file extension
SPLIT p_local AT '.' INTO lv_file
lv_ext.
TRANSLATE lv_ext TO UPPER CASE.
CLEAR i_file_data.
REFRESH i_file_data.
IF lv_ext = c_xls.
IF file is excel get data from excel sheet
PERFORM get_xls_file.
ELSE.
Else get file from gui download
PERFORM get_txt_file.
ENDIF. "lv_ext
FORM get_xls_file.
data: i_raw TYPE truxs_t_text_data.
CALL FUNCTION 'TEXT_CONVERT_XLS_TO_SAP'
EXPORTING
i_field_seperator = 'X'
i_tab_raw_data = i_raw
i_filename = p_local
TABLES
i_tab_converted_data = i_file_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. " sy-subrc
ENDFORM. "get_xls_file
FORM get_txt_file.
DATA: lv_string TYPE string. " To get file path
CLEAR lv_string.
lv_string = p_local. " Get file path
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
filename = lv_string
filetype = 'ASC'
has_field_separator = 'X'
read_by_line = 'X'
TABLES
data_tab = i_file_data[]
EXCEPTIONS
file_open_error = 1
file_read_error = 2
no_batch = 3
gui_refuse_filetransfer = 4
invalid_type = 5
no_authority = 6
unknown_error = 7
bad_data_format = 8
header_not_allowed = 9
separator_not_allowed = 10
header_too_long = 11
unknown_dp_error = 12
access_denied = 13
dp_out_of_memory = 14
disk_full = 15
dp_timeout = 16
OTHERS = 17.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF. " sy-subrc
ENDFORM. "get_txt_file
FORM select_local_file.
CALL FUNCTION 'F4_FILENAME'
EXPORTING
program_name = sy-cprog
dynpro_number = sy-dynnr
field_name = space
IMPORTING
file_name = p_local.
ENDFORM. "select_local_file
*****Now i_file_data contains the field values. You can move to your internal table which is declared according to the actual data types. For this, you need to loop thru i_file_data and move specific column values to the internal table.
Edited by: Eswara Rao Aakula on Dec 24, 2007 7:35 AM
2011 Feb 16 1:10 PM
| User | Count |
|---|---|
| 6 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |