sap中Excel的模版上传和下载
一:所用到的事物碼:
smw0
二:上傳步驟
三:下載代碼
?TABLES:sscrfields.
*定義OLE變量
DATA:g_excel?TYPE?ole2_object,
?????g_applica?TYPE?ole2_object,
?????g_sheet?TYPE?ole2_object,
?????g_cell?TYPE?ole2_object,
?????g_workbook?TYPE?ole2_object.
DATA:p_filepath?TYPE?string.
CONSTANTS:c_yes?TYPE?c?VALUE?'X',
??????????c_path?TYPE?char128?VALUE?'C:\TMP\價格信息批量導入.xls'.
*模版下載按鈕
SELECTION-SCREEN?PUSHBUTTON?/1(10)?text-002
??????????????????????????????????USER-COMMAND?attch.
AT?SELECTION-SCREEN.
??PERFORM?frm_check_input.
*&---------------------------------------------------------------------*
*&??????Form??frm_check_input
*&---------------------------------------------------------------------*
*???????text
*----------------------------------------------------------------------*
FORM?frm_check_input?.
??DATA?l_ret?TYPE?abap_bool.
??IF?sscrfields-ucomm?=?'ATTCH'.
*?下載模版
????PERFORM?frm_download_template.
??ELSE.
????IF?p_filepath?IS?INITIAL.
??????MESSAGE?s004(zmess)?DISPLAY?LIKE?'E'.
??????STOP.
????ENDIF.
*?將路徑全部轉換為大寫
????TRANSLATE?p_filepath?TO?UPPER?CASE.
*?檢查文件是否存在
????CALL?METHOD?cl_gui_frontend_services=>file_exist
??????EXPORTING
????????file?????????????????=?p_filepath
??????RECEIVING
????????result???????????????=?l_ret
??????EXCEPTIONS
????????cntl_error???????????=?1
????????error_no_gui?????????=?2
????????wrong_parameter??????=?3
????????not_supported_by_gui?=?4
????????OTHERS???????????????=?5.
????IF?sy-subrc?<>?0.
??????MESSAGE?ID?sy-msgid?TYPE?sy-msgty?NUMBER?sy-msgno
?????????????????WITH?sy-msgv1?sy-msgv2?sy-msgv3?sy-msgv4.
????ENDIF.
????IF?l_ret?NE?c_yes.
??????MESSAGE?e004(zmess)?WITH?'文件不存在'.
????ENDIF.
??ENDIF.
ENDFORM.????????????????????"frm_check_input
*&---------------------------------------------------------------------*
*&??????Form??frm_download_template
*&---------------------------------------------------------------------*
*???????text
*----------------------------------------------------------------------*
FORM?frm_download_template?.
??DATA:?lv_objdata?LIKE?wwwdatatab,
????????lv_obj_name?LIKE?wwwdatatab-objid,
????????lv_destination?LIKE?rlgrap-filename,
????????lv_objid?LIKE?sy-repid,
????????lv_subrc?LIKE?sy-subrc.
??DATA:l_ret?TYPE?abap_bool,
???????lv_answer.
??DATA:lv_file?TYPE?string.
??MOVE?c_path?TO?lv_file.
??CALL?METHOD?cl_gui_frontend_services=>file_exist
????EXPORTING
??????file?????????????????=?lv_file
????RECEIVING
??????result???????????????=?l_ret
????EXCEPTIONS
??????cntl_error???????????=?1
??????error_no_gui?????????=?2
??????wrong_parameter??????=?3
??????not_supported_by_gui?=?4
??????OTHERS???????????????=?5.
??IF?sy-subrc?<>?0.
????MESSAGE?ID?sy-msgid?TYPE?sy-msgty?NUMBER?sy-msgno
???????????????WITH?sy-msgv1?sy-msgv2?sy-msgv3?sy-msgv4.
????EXIT.
??ENDIF.
??IF?l_ret?EQ?c_yes.
*?模版已存在,是否覆蓋
????CALL?FUNCTION?'POPUP_TO_CONFIRM'
??????EXPORTING
????????text_question??=?'模版已存在,是否覆蓋?'
????????text_button_1??=?'是'(001)
????????text_button_2??=?'否'(002)
??????IMPORTING
????????answer?????????=?lv_answer
??????EXCEPTIONS
????????text_not_found?=?1
????????OTHERS?????????=?2.
????IF?sy-subrc?<>?0.
????ENDIF.
????IF?lv_answer?EQ?'A'.?"取消
??????EXIT.
????ELSEIF?lv_answer?NE?'1'.?"否
??????p_filepath?=?c_path.
????ENDIF.
??ELSE.
????lv_answer?=?'1'.
??ENDIF.
??CREATE?OBJECT?g_excel?'EXCEL.APPLICATION'.
??GET?PROPERTY?OF?g_excel?'Workbooks'?=?g_workbook?.
??CALL?METHOD?OF
??????g_workbook
??????'Close'.
??IF?lv_answer?EQ?'1'.
????MOVE?'ZGN_MMB021'?TO?lv_obj_name.
????SELECT?relid?objid
??????FROM?wwwdata
??????INTO??CORRESPONDING?FIELDS?OF?lv_objdata
??????UP?TO?1?ROWS
??????WHERE?srtf2?=?0?AND?relid?=?'MI'
????????AND?objid?=?lv_obj_name.
????ENDSELECT.
????CALL?FUNCTION?'DOWNLOAD_WEB_OBJECT'
??????EXPORTING
????????key?????????=?lv_objdata
????????destination?=?c_path
??????IMPORTING
????????rc??????????=?lv_subrc.
????IF?lv_subrc?=?0.
??????p_filepath?=?c_path.
????ENDIF.
??ENDIF.
??CALL?METHOD?OF
??????g_workbook
??????'open'
????EXPORTING
??????#1?????????=?c_path.
??CALL?METHOD?OF
??????g_excel
??????'worksheets'?=?g_sheet
????EXPORTING
??????#1???????????=?1.
??CALL?METHOD?OF
??????g_sheet
??????'activate'.
??SET?PROPERTY?OF?g_excel?'visible'?=?1.
??FREE?OBJECT?g_sheet.
??FREE?OBJECT?g_applica.
??FREE?OBJECT?g_workbook.
??FREE?OBJECT?g_excel.
ENDFORM.????????????????????"frm_download_template
總結
以上是生活随笔為你收集整理的sap中Excel的模版上传和下载的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 物料批次特性值
- 下一篇: SY-SUBRC 的含义