Read Excel From File
REPORT zcem_test.
TYPE-POOLS : truxs.
TYPES :
BEGIN OF gty_Vendors,
VendorID TYPE I,
AccountNumber(20) TYPE C,
Name(50) TYPE C,
CreditRating(5) TYPE C,
PreferredVendorStatus(5) TYPE C,
ActiveFlag(5) TYPE C,
PurchasingWebServiceURL(40) TYPE C,
ModifiedDate(20) TYPE C,
END OF gty_Vendors.
DATA :
g_raw_data TYPE TRUXS_T_TEXT_DATA,
gs_Vendors TYPE gty_Vendors,
gt_Vendors TYPE TABLE OF gty_Vendors.
SELECTION-SCREEN BEGIN OF BLOCK BLOCK-1 WITH FRAME TITLE TEXT-001.
PARAMETERS : pa_file LIKE rlgrap-filename DEFAULT 'Path'.
" or CFFILE-FILENAME
SELECTION-SCREEN END OF BLOCK BLOCK-1.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR pa_file.
PERFORM u_SelectFile USING pa_file.
START-OF-SELECTION.
PERFORM u_UploadExcelData.
PERFORM u_DisplayInternalTableData.
END-OF-SELECTION.
*&---------------------------------------------------------------------*
*& Form U_SELECTFILE
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->P_PA_FILE text
*----------------------------------------------------------------------*
FORM U_SELECTFILE USING P_PA_FILE TYPE LOCALFILE.
DATA :
lv_subrc LIKE sy-subrc,
lt_it_tab TYPE filetable.
" Display File Open Dialog control/screen
CALL METHOD cl_gui_frontend_services=>file_open_dialog
EXPORTING
window_title = 'Select Source Excel File'
default_filename = '*.xls'
multiselection = ' '
CHANGING
file_table = lt_it_tab
rc = lv_subrc.
" Write path on input area
LOOP AT lt_it_tab INTO p_pa_file.
ENDLOOP.
ENDFORM. " U_SELECTFILE
*&---------------------------------------------------------------------*
*& Form U_UPLOADEXCELDATA
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM U_UPLOADEXCELDATA .
CALL FUNCTION 'TEXT_CONVERT_XLS_TO_SAP'
EXPORTING
i_line_header = 'X'
i_tab_raw_data = g_raw_data
i_filename = pa_file
TABLES
i_tab_converted_data = gt_Vendors[] " Data
EXCEPTIONS
conversion_failed = 1
OTHERS = 2.
ENDFORM. " U_UPLOADEXCELDATA
*&---------------------------------------------------------------------*
*& Form U_DISPLAYINTERNALTABLEDATA
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM U_DISPLAYINTERNALTABLEDATA .
WRITE : /
'Colum 1 Name' RIGHT-JUSTIFIED,
13 'Colum 2 Name',
34 'Colum 3 Name',
88 'Colum 4 Name' RIGHT-JUSTIFIED,
93 'Colum 5 Name' RIGHT-JUSTIFIED,
101 'Colum 6 Name' RIGHT-JUSTIFIED,
104 'Colum 7 Name',
144 'Colum 8 Name'.
LOOP AT gt_Vendors INTO gs_Vendors.
WRITE : /
gs_Vendors-VendorId RIGHT-JUSTIFIED,
gs_Vendors-AccountNumber,
gs_Vendors-Name,
gs_Vendors-CreditRating RIGHT-JUSTIFIED,
gs_Vendors-PreferredVendorStatus RIGHT-JUSTIFIED,
gs_Vendors-ActiveFlag RIGHT-JUSTIFIED,
gs_Vendors-PurchasingWebServiceURL,
gs_Vendors-ModifiedDate.
ENDLOOP.
ENDFORM. " U_DISPLAYINTERNALTABLEDATA " top_head
Yorumlar
Yorum Gönder