ABAP 选择屏幕上的导入模板下载按钮

1.通过SMW0将模板导入至SAP.

 

 

输入包名,点击新建,输入对象名称,我一般用tcode命名,然后点击导入,选择路径就可以了

 

 

 

 

 

 

2.将SMW0的文件下载到本地,供用户参考。

“template download 按钮定义

DATA: functxt TYPE smp_dyntxt.
TABLES: sscrfields.

SELECTION-SCREEN: FUNCTION KEY 1."download template.

INITIALIZATION.
  functxt-icon_id       = icon_xxl.
  functxt-icon_text     = text-002.
  sscrfields-functxt_01 = functxt.

 

 

AT SELECTION-SCREEN.
  CASE sscrfields-ucomm.
    WHEN 'FC01'.
      PERFORM frm_template_down.
  ENDCASE

 

FORM frm_template_down .
  DATA: lv_filename    TYPE string,
         lv_path        TYPE string,
         lv_fullpath    TYPE string,
         lv_user_action TYPE i,
         lv_destination TYPE rlgrap-filename,
         ls_objdata     TYPE wwwdatatab,
         lv_objid       TYPE wwwdatatab-objid,
         lv_rc          TYPE sy-subrc.
  lv_filename = 'ZSD1035 Template Download'.
  CONCATENATE sy-datum '-' sy-uzeit '-' lv_filename INTO lv_filename.
*CALL METHOD cl_gui_frontend_services=>file_save_dialog
*  EXPORTING
**    window_title              =
*    default_extension         = 'XLSX'
*    default_file_name         = LV_FILENAME
**    with_encoding             =
**    file_filter               =
*    initial_directory         = LV_PATH
**    prompt_on_overwrite       = 'X'
*  CHANGING
*    filename                  = LV_FILENAME
*    path                      = LV_PATH
*    fullpath                  = LV_FULLPATH
*    user_action               = LV_USER_ACTION
**    file_encoding             =
*  EXCEPTIONS
*    cntl_error                = 1
*    error_no_gui              = 2
*    not_supported_by_gui      = 3
*    invalid_default_file_name = 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 lv_user_action <> 9.
    SELECT SINGLE relid objid
      FROM wwwdata
      INTO CORRESPONDING FIELDS OF  ls_objdata
      WHERE srtf2 = 0
      AND   objid = 'ZSD1035'
      AND   relid = 'MI'.
    IF sy-subrc = 0.
      CLEAR lv_rc.
      CALL FUNCTION 'DOWNLOAD_WEB_OBJECT'
        EXPORTING
          key               = ls_objdata
          destination       = lv_destination
        IMPORTING
          rc                = lv_rc
*    CHANGING
*      TEMP              =
                .
      IF lv_rc EQ 0 .
        MESSAGE  'Template download sucessful.' TYPE 'S'.
      ELSE.
        MESSAGE  'The template is not exit.' TYPE 'S' DISPLAY LIKE 'E'.
      ENDIF.
    ELSE.
      MESSAGE  'The template is not exit.' TYPE 'S' DISPLAY LIKE 'E'.
    ENDIF.
  ENDIF.
ENDFORM.                    " FRM_TEMPLATE_DOWN.

posted @ 2021-03-17 14:02  闫默涵  阅读(599)  评论(0编辑  收藏  举报