SAP 下载资源文件模板

REPORT YTEST05.

TABLES:sscrfields.

DATA:gs_sel_btn TYPE smp_dyntxt.

CONSTANTS: gc_template TYPE sobj_name VALUE ‘File_TEMPLATE’.

data: gv_title_folder TYPE string.

SELECTION-SCREEN FUNCTION KEY 1.
PARAMETERS:p_file TYPE localfile .

SELECTION-SCREEN BEGIN OF SCREEN 500.
PARAMETERS p_folder TYPE string OBLIGATORY.
SELECTION-SCREEN END OF SCREEN 500.

AT SELECTION-SCREEN.
CASE sscrfields-ucomm.
WHEN ‘FC01’.
PERFORM download_template USING gc_template.
ENDCASE.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_folder.
gv_title_folder = ‘Select a folder to store the Excel template’.
cl_gui_frontend_services=>directory_browse(
EXPORTING
window_title = gv_title_folder
* initial_folder =
CHANGING
selected_folder = p_folder
EXCEPTIONS
cntl_error = 1
error_no_gui = 2
not_supported_by_gui = 3
OTHERS = 4
).
IF sy-subrc <> 0.
* Implement suitable error handling here
ENDIF.

INITIALIZATION.
CLEAR gs_sel_btn.
gs_sel_btn-icon_id = icon_export.
gs_sel_btn-icon_text = ‘Download Template’(t01).
gs_sel_btn-quickinfo = ‘Download Excel Template’(t01).
sscrfields-functxt_01 = gs_sel_btn.

START-OF-SELECTION.

FORM download_template USING pv_template TYPE sobj_name.
DATA: ls_wwwdata TYPE wwwdatatab,
lv_filename TYPE rlgrap-filename,
lv_rc TYPE sy-subrc.

CALL SELECTION-SCREEN 500 STARTING AT 10 5.
CHECK sy-subrc EQ ‘0’.

SELECT SINGLE FROM wwwdata AS w JOIN tadir AS t ON w~objid EQ t~obj_name
FIELDS *
WHERE w~srtf2 EQ 0
AND w~relid EQ ‘MI’
AND t~pgmid EQ ‘R3TR’
AND t~object EQ ‘W3MI’
AND t~obj_name EQ @pv_template
INTO CORRESPONDING FIELDS OF @ls_wwwdata.

IF sy-subrc EQ ‘0’.
lv_filename = |{ p_folder }\{ pv_template }.xlsx|.

CALL FUNCTION ‘DOWNLOAD_WEB_OBJECT’
EXPORTING
key = ls_wwwdata
destination = lv_filename
IMPORTING
rc = lv_rc
* CHANGING
* TEMP =
.
ELSE.
MESSAGE ‘模板不存在’ TYPE ‘I’ DISPLAY LIKE ‘E’.
RETURN.
ENDIF.
ENDFORM.

猜你喜欢

转载自blog.csdn.net/hcsdny895/article/details/106150653
SAP