• 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.

    闫默涵
  • 相关阅读:
    Mac终端运行java程序
    Mac上csv导入mysql提示错误[Error Code] 1290
    Mac终端使用mysql
    将spark默认日志log4j替换为logback
    Cocos2d-x 3.x部署到安卓
    Cocos2d-x 3.0 场景切换
    visual studio 未将对象引用设置到对象的实例
    C++ list用法
    减而治之
    递归
  • 原文地址:https://www.cnblogs.com/yanmohan/p/14549006.html
Copyright © 2020-2023  润新知