*&---------------------------------------------------------------------*
*& Report Z_ZY_IDCARD_UPDATE
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT Z_ZY_IDCARD_UPDATE.
*&---------------------------------------------------------------------*
*& Report Z_BARRY_UPLOAD_EXCEL
*&
*&---------------------------------------------------------------------*
*& 上传Excel文件到SAP内表
*& 除此方法,还可以使用FM: ALSM_EXCEL_TO_INTERNAL_TABLE
*&---------------------------------------------------------------------*
TYPE-POOLS: truxs.
TABLES ZYIDPRV.
TABLES ZYREGION.
*TYPES: BEGIN OF t_datatab,
*
* col1 TYPE ZYIDPRV-ZYPRVC,
*
* col2 TYPE ZYIDPRV-ZPRVCTX,
*
* END OF t_datatab.
TYPES: BEGIN OF t2_datatab,
col1 TYPE ZYREGION-ZREGION,
col2 TYPE ZYREGION-ZREGTX,
END OF t2_datatab.
DATA: it_datatab TYPE STANDARD TABLE OF t2_datatab,
wa_datatab TYPE t2_datatab.
DATA: it_raw TYPE truxs_t_text_data.
PARAMETERS: p_file TYPE rlgrap-filename.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
CALL FUNCTION 'F4_FILENAME'
EXPORTING
field_name = 'P_FILE'
IMPORTING
file_name = p_file.
*上传excel数据,因为输出的I_TAB_CONVERTED_DATA类型为任意的standard table,所以此FM能方便的把excel中内容转化成格式相同的内表中。
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.
LOOP AT it_datatab INTO wa_datatab.
INSERT INTO ZYREGION VALUES wa_datatab.
ENDLOOP.
*& Report Z_ZY_IDCARD_UPDATE
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT Z_ZY_IDCARD_UPDATE.
*&---------------------------------------------------------------------*
*& Report Z_BARRY_UPLOAD_EXCEL
*&
*&---------------------------------------------------------------------*
*& 上传Excel文件到SAP内表
*& 除此方法,还可以使用FM: ALSM_EXCEL_TO_INTERNAL_TABLE
*&---------------------------------------------------------------------*
TYPE-POOLS: truxs.
TABLES ZYIDPRV.
TABLES ZYREGION.
*TYPES: BEGIN OF t_datatab,
*
* col1 TYPE ZYIDPRV-ZYPRVC,
*
* col2 TYPE ZYIDPRV-ZPRVCTX,
*
* END OF t_datatab.
TYPES: BEGIN OF t2_datatab,
col1 TYPE ZYREGION-ZREGION,
col2 TYPE ZYREGION-ZREGTX,
END OF t2_datatab.
DATA: it_datatab TYPE STANDARD TABLE OF t2_datatab,
wa_datatab TYPE t2_datatab.
DATA: it_raw TYPE truxs_t_text_data.
PARAMETERS: p_file TYPE rlgrap-filename.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
CALL FUNCTION 'F4_FILENAME'
EXPORTING
field_name = 'P_FILE'
IMPORTING
file_name = p_file.
*上传excel数据,因为输出的I_TAB_CONVERTED_DATA类型为任意的standard table,所以此FM能方便的把excel中内容转化成格式相同的内表中。
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.
LOOP AT it_datatab INTO wa_datatab.
INSERT INTO ZYREGION VALUES wa_datatab.
ENDLOOP.
转载于:https://blog.51cto.com/zhouying/172310