MS_EXCEL_OLE_STANDARD_DAT 사용 셈플
MS_EXCEL_OLE_STANDARD_DAT 사용 예제
*& FILE NAME( 경로 포함 )
DATA : file_name LIKE rlgrap-filename
VALUE 'C:\Target_vs_Sales'.
*& HEADER LINE
DATA : BEGIN OF i_header OCCURS 0,
string(256) TYPE c,
END OF i_header.
*& EXCEL TABLE
DATA : BEGIN OF excel_tab OCCURS 0,
zweek(6),
prodh(10),
matnr(18),
target(10),
sales(10),
rate(3),
oh_stk(10),
back_ord(10),
so_qty(10),
911(10),
w00(10),
w01(10),
w02(10),
mon_tag(10),
mon_sal(10),
rate1(3),
END OF excel_tab.
*& HEADER LINE SETTING
i_header-string = 'Week'.
APPEND i_header. CLEAR i_header.
i_header-string = 'P.H.2'.
APPEND i_header. CLEAR i_header.
i_header-string = 'Material'.
APPEND i_header. CLEAR i_header.
i_header-string = 'Target'.
APPEND i_header. CLEAR i_header.
i_header-string = 'Sales'.
APPEND i_header. CLEAR i_header.
i_header-string = '%'.
APPEND i_header. CLEAR i_header.
i_header-string = 'O/H'.
APPEND i_header. CLEAR i_header.
i_header-string = 'B.Order'.
APPEND i_header. CLEAR i_header.
i_header-string = 'NDN'.
APPEND i_header. CLEAR i_header.
i_header-string = '911'.
APPEND i_header. CLEAR i_header.
i_header-string = 'RDDw0'.
APPEND i_header. CLEAR i_header.
i_header-string = 'RDDw1'.
APPEND i_header. CLEAR i_header.
i_header-string = 'RDDw2'.
APPEND i_header. CLEAR i_header.
i_header-string = 'M.Target'.
APPEND i_header. CLEAR i_header.
i_header-string = 'M.Sales'.
APPEND i_header. CLEAR i_header.
i_header-string = '%'.
APPEND i_header. CLEAR i_header.
LOOP AT gt_report.
MOVE-CORRESPONDING gt_report TO excel_tab.
APPEND excel_tab.
ENDLOOP.
CALL FUNCTION 'MS_EXCEL_OLE_STANDARD_DAT'
EXPORTING
file_name = file_name
TABLES
data_tab = excel_tab[]
fieldnames = i_header
EXCEPTIONS
file_not_exist = 1
filename_expected = 2
communication_error = 3
ole_object_method_error = 4
ole_object_property_error = 5
invalid_filename = 6
invalid_pivot_fields = 7
download_problem = 8.
IF sy-subrc = 1.
MESSAGE i001(00) WITH 'No data in Excel file.'.
STOP.
ELSEIF sy-subrc > 2.
MESSAGE i001(00) WITH 'Unknown Error. Contact IT.'.
STOP.
ENDIF.