zoukankan      html  css  js  c++  java
  • ABAP 导入excel模板及下载

    一、效果

      

    二、模板上传

    2.1 、T-code为:SMW0

    2.2、选择包

    2.3、点击创建、并上传附件!

    三、代码实现

    *定义按钮
    SELECTION-SCREEN BEGIN OF BLOCK blk2 WITH FRAME TITLE text02.
    SELECTION-SCREEN PUSHBUTTON /1(10)    button USER-COMMAND cli1 MODIF ID m02.
    SELECTION-SCREEN END OF BLOCK blk2.
    
    *初始化
    INITIALIZATION.
      gv_objid = 'Z_SECSTO_UPDATE'.
    
    AT SELECTION-SCREEN.
      IF sy-ucomm = 'CLI1'.
      PERFORM frm_download_file USING gv_objid.
    ENDIF.
    
    *调用模板
      FORM frm_download_file  USING  p_gv_objid.
    
      DATA: lv_filename    TYPE string,
            lv_path        TYPE string,
            lv_fullpath    TYPE string,
            lv_user_action TYPE i,
            lv_destination LIKE rlgrap-filename,
            ls_objdata     LIKE wwwdatatab,
            lv_objid       TYPE wwwdatatab-objid,
            lv_rc          TYPE sy-subrc.
    
      IF sy-ucomm = 'CLI1'.
        lv_filename = '安全库存更新模板'.
    
        CONCATENATE sy-datum
                    '_'
                    sy-uzeit
                    '_'
                    lv_filename
               INTO lv_filename.
    
        CALL METHOD cl_gui_frontend_services=>file_save_dialog
          EXPORTING
            default_extension    = 'XLSX'
            default_file_name    = lv_filename
            initial_directory    = lv_path
          CHANGING
            filename             = lv_filename
            path                 = lv_path
            fullpath             = lv_fullpath
            user_action          = lv_user_action
          EXCEPTIONS
            cntl_error           = 1
            error_no_gui         = 2
            not_supported_by_gui = 3
            OTHERS               = 4.
        IF sy-subrc <> 0.
          MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
             WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
        ELSE.
          CLEAR: lv_destination.
          lv_destination = lv_fullpath.
        ENDIF.
    
        CHECK lv_user_action <> 9.
    
        SELECT SINGLE relid objid
          FROM wwwdata
          INTO CORRESPONDING FIELDS OF ls_objdata
         WHERE srtf2 = 0
           AND objid = p_gv_objid
           AND relid = 'MI'.
    
        IF sy-subrc = 0.
          CLEAR: lv_rc.
          CALL FUNCTION 'DOWNLOAD_WEB_OBJECT'                   "#EC *
            EXPORTING
              key         = ls_objdata
              destination = lv_destination
            IMPORTING
              rc          = lv_rc.
          IF lv_rc NE 0.
            MESSAGE '该数据模板不存在!' TYPE 'E'.
          ELSE.
            MESSAGE '模板下载成功' TYPE 'S'.
          ENDIF.
        ELSE.
          MESSAGE '该数据模板不存在!' TYPE 'E'.
        ENDIF.
      ENDIF.
      CLEAR sy-ucomm.
    ENDFORM.
  • 相关阅读:
    贪心-poj-3040-Allowance
    [置顶] .net技术类面试、笔试题汇总3
    数据对接—kettle使用之二
    做好先期工作,才能有效沟通
    cc++复习基础要点08--c++单例模式
    android 限制adb的访问目录
    我奋斗18年,和你或者咖啡没有任何关系
    (3)选择元素——(15)总结(Summary)
    (3)选择元素——(16)延伸阅读(Further reading)
    网络协议复习
  • 原文地址:https://www.cnblogs.com/zs-chenkang/p/13207059.html
Copyright © 2011-2022 走看看