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.
  • 相关阅读:
    Linux线程信号
    有理想的程序员必须知道的15件事
    Linux下 mplayer 使用手册
    Winxp下 gvim 编程环境搭建
    在WPF中弹出右键菜单时判断鼠标是否选中该项
    F#基本类型——Discriminated Unions
    在WPF的TreeView中实现右键选定
    WPF TreeView tools
    F#基本类型——Structure
    增强了一下DownloaderPlus的视频转换功能
  • 原文地址:https://www.cnblogs.com/zs-chenkang/p/13207059.html
Copyright © 2011-2022 走看看