上傳excel模板 Tcode smw0
Paste_Image.png
進(jìn)去之后選擇一個對應(yīng)的包(本地的包為 $TMP)
新建,從路徑導(dǎo)入
Paste_Image.png
上傳路徑定義PARAMETERS: P_PATH LIKE RLGRAP-FILENAME
上傳路徑.png
- 例子讼积,下載一個模板
給選擇屏幕加按鈕
DATA gs_funx TYPE smp_dyntxt. "選擇屏幕按鈕
gs_funx-icon_text = '下載模板'.
sscrfields-functxt_01 = gs_funx.```
![效果.png](http://upload-images.jianshu.io/upload_images/3459413-05856746eb7a927a.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
*--------------------------------------------------ole 參數(shù)-----------------------------------
-------------------*
```DATA: gv_excel TYPE OBJ_RECORD, " EXCEL OBJECT "OLE2
gv_mapl TYPE OBJ_RECORD, " LIST OF WORKBOOKS "OLE2
gv_map TYPE OBJ_RECORD, " WORKBOOK "OLE2
gv_zl TYPE OBJ_RECORD, " CELL "OLE2
gv_f TYPE OBJ_RECORD, " FONT "OLE2
gv_column TYPE OBJ_RECORD. "OLE2```
```DATA: gv_sheet TYPE OBJ_RECORD, "OLE2
gv_activesheet TYPE OBJ_RECORD, "OLE2
gv_newsheet TYPE OBJ_RECORD, "OLE2
gv_appl TYPE OBJ_RECORD, "OLE2
gv_work TYPE OBJ_RECORD, "OLE2
gv_cell TYPE OBJ_RECORD. "OLE2```
```DATA: gv_mod TYPE wwwdata-objid. "下載文件名SMW0```
```INITIALIZATION. "初始化選擇屏幕
gv_mod = 'ZJOB_14062'."給gv_mod的值為上傳的模板```
在屏幕操作需加這一步吉懊,如果在alv里面則在user_commend里面寫
```AT SELECTION-SCREEN. "選擇屏幕按鈕響應(yīng)
CASE sscrfields-ucomm.
WHEN 'FC01'.
PERFORM frm_download.
ENDCASE.```
```form frm_download .
*&---變量定義
DATA: lv_text TYPE string, "message
lv_filename TYPE string, "download file name
lv_path TYPE string, "download file path
ls_functxt TYPE smp_dyntxt, "menu name
lv_filepath TYPE rlgrap-filename VALUE 'c', "file patch
lv_title TYPE string , "title
lv_title_name TYPE string, "title name
lv_mod(20) TYPE c, "model
lv_fullpath TYPE string, "full path
ls_object TYPE wwwdatatab, "object name
lv_rc TYPE sy-subrc, "return code
l_init_fname TYPE string.```
```* 初始名稱(輸出的文件名稱)
CONCATENATE 'ole練習(xí)' sy-datum '.xls' INTO l_init_fname.```
```*&---SMWO 模板名稱
lv_mod = gv_mod. "下載文件名
*&---調(diào)用OS 操作系統(tǒng)對話框
lv_title = text-002.
lv_title_name = text-003.
CALL METHOD cl_gui_frontend_services=>file_save_dialog
EXPORTING
window_title = lv_title " 保存'
default_file_name = l_init_fname " 客戶合作伙伴導(dǎo)入模板
CHANGING
filename = lv_filename
path = lv_path
fullpath = lv_fullpath.
*&---操作系統(tǒng)文件路徑
CONCATENATE lv_path
lv_filename
'.xlsx'
INTO lv_filepath.
*&---OS長度控制/*&---下載模板
IF strlen( lv_filepath ) <> 4.
*&---查詢模板.
SELECT SINGLE
relid objid
FROM wwwdata
INTO CORRESPONDING FIELDS OF ls_object
WHERE srtf2 = '0'
AND objid = lv_mod. "smw0里對象名稱
IF sy-subrc <> 0 OR ls_object-objid = space .
CONCATENATE text-911"'模板文件:'
lv_mod
text-912"'不存在椿疗,請用smw0進(jìn)行加載.'
INTO lv_text.
MESSAGE lv_text TYPE 'E'.
STOP.
ENDIF.
*&---下載模板
CALL FUNCTION 'DOWNLOAD_WEB_OBJECT'
EXPORTING
key = ls_object
destination = lv_filepath
IMPORTING
rc = lv_rc.
IF lv_rc <> 0.
CONCATENATE text-911"''模板文件:'
lv_mod
text-913"''下載失敗本股,請與開發(fā)人員聯(lián)系.'
INTO lv_text.
MESSAGE lv_text TYPE 'E'.
STOP.
ENDIF.
*&---'已下載'
MESSAGE text-106 TYPE 'S'.
ELSE.
*&---'已取消下載'
MESSAGE text-107 TYPE 'S'.
ENDIF.
ENDFORM. ```
都為標(biāo)準(zhǔn)程序,可以直接引用义图。
![點(diǎn)擊下載模板執(zhí)行界面.png](http://upload-images.jianshu.io/upload_images/3459413-a704ffc0c31caf1d.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)