0
点赞
收藏
分享

微信扫一扫

Excel文件上传实例

REPORT  ztest_pillar.
TYPE-POOLS: VRM ,TRUXS,ICON,SLIS.
DATA:GT_RAW_DATA TYPE TRUXS_T_TEXT_DATA.
DATA: BEGIN OF IT_ITAB OCCURS 0,
MATERIAL TYPE MARA-MATNR,
UNIT TYPE /AFS/BAPI_MEAN-UNIT,
EAN_CAT TYPE /AFS/BAPI_MEAN-EAN_CAT,
GRID_VALUE TYPE /AFS/BAPI_MEAN-GRID_VALUE,
EAN_UPC TYPE /AFS/BAPI_MEAN-EAN_UPC,
log type string,
flag(1) type c,
END OF IT_ITAB.
SELECTION-SCREEN BEGIN OF BLOCK B002 WITH FRAME TITLE TEXT-005.
PARAMETERS:P_FILE TYPE RLGRAP-FILENAME modif id IMP ."OBLIGATORY .
SELECTION-SCREEN END OF BLOCK B002.
AT SELECTION-SCREEN on VALUE-REQUEST FOR P_file.
PERFORM f_file_select.



START-OF-SELECTION.
PERFORM F_SOURCE_DATA_UPLOAD.
end-of-SELECTION.

FORM F_FILE_SELECT .
DATA:LT_FILE TYPE FILETABLE WITH HEADER LINE,
REC TYPE I.
DATA: L_filter TYPE STRING.
CONCATENATE CL_GUI_FRONTEND_SERVICES=>FILETYPE_EXCEL
CL_GUI_FRONTEND_SERVICES=>FILETYPE_ALL
INTO L_filter.
CALL METHOD CL_GUI_FRONTEND_SERVICES=>FILE_OPEN_DIALOG
EXPORTING
WINDOW_TITLE = 'Upload Excel'
* default_extension = '.xls'
* default_filename =
file_filter = L_filter
INITIAL_DIRECTORY = 'C:/'
CHANGING
FILE_TABLE = LT_FILE[]
RC = REC
EXCEPTIONS
FILE_OPEN_DIALOG_FAILED = 1
CNTL_ERROR = 2
ERROR_NO_GUI = 3
NOT_SUPPORTED_BY_GUI = 4
OTHERS = 5
.
IF REC >= 1.
READ TABLE LT_FILE INDEX 1.
P_FILE = LT_FILE-FILENAME.
ELSEIF REC = 0.
CLEAR P_FILE.
ELSE.
MESSAGE E000(ZMM) WITH text-e01.
* &1 &2 &3 &4
ENDIF.

ENDFORM. " F_FILE_SELECT

FORM F_SOURCE_DATA_UPLOAD .

CALL FUNCTION 'TEXT_CONVERT_XLS_TO_SAP'
EXPORTING
* I_FIELD_SEPERATOR =
I_LINE_HEADER = 'X'
I_TAB_RAW_DATA = GT_RAW_DATA
I_FILENAME = P_FILE
TABLES
I_TAB_CONVERTED_DATA = IT_ITAB
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.
ELSE.
*** Delete header line
DELETE IT_ITAB INDEX 1.
ENDIF.
IF IT_ITAB[] IS INITIAL.
MESSAGE s000(ZMM) WITH TEXT-E03 display like 'E'.
leave list-processing.
* &1 &2 &3 &4

ENDIF.
ENDFORM. " F_SOURCE_DATA_UPLOAD

举报

相关推荐

0 条评论