sap中Excel的模版上傳和下載


一:事物碼smw0

二:上傳步驟

 

注:“包”為項目的包的名稱。

三:下載代碼

 

*&---------------------------------------------------------------------*
* 初始化
*&---------------------------------------------------------------------*
SELECTION-SCREEN:
FUNCTION KEY 1."定義按鈕1

*&---------------------------------------------------------------------*
* INITIALIZATION:啟動程序開始執行,初始話數據
*&---------------------------------------------------------------------*
INITIALIZATION.
  SSCRFIELDS-FUNCTXT_01 = '下載配置導入模板'.

AT SELECTION-SCREEN.
  "下載模板
  CASE SSCRFIELDS-UCOMM.
    WHEN 'FC01'.
      PERFORM FRM_DOWNLAOD_EXCEL." 下載模板
    WHEN OTHERS.
  ENDCASE.

 

*&---------------------------------------------------------------------*
*&      Form  FRM_DOWNLAOD_EXCEL
*&---------------------------------------------------------------------*
*       下載模板
*----------------------------------------------------------------------*
FORM FRM_DOWNLAOD_EXCEL.
  DATA:LV_FNAME     TYPE STRING,
       LV_INIT_PATH TYPE STRING,
       LV_TITLE     TYPE STRING,
       LV_PATH      TYPE STRING," VALUE 'D:/',
       LV_FPATH     TYPE STRING," VALUE 'D:/',
       LV_FILE      TYPE RLGRAP-FILENAME.

  DATA:LV_OBJID TYPE CHAR20,
       LS_WDATB LIKE WWWDATATAB,
       LV_SUBRC TYPE SY-SUBRC,
       LV_MSG   TYPE STRING.

  LV_OBJID = 'ZRMM492'.
  LV_FNAME = '配置設計確認導入模板'.
  CONCATENATE LV_FNAME '下載' INTO LV_TITLE.

  "獲取桌面路徑
  CALL METHOD CL_GUI_FRONTEND_SERVICES=>GET_DESKTOP_DIRECTORY
    CHANGING
      DESKTOP_DIRECTORY    = LV_INIT_PATH
    EXCEPTIONS
      CNTL_ERROR           = 1
      ERROR_NO_GUI         = 2
      NOT_SUPPORTED_BY_GUI = 3
      OTHERS               = 4.
  IF SY-SUBRC <> 0.
    EXIT.
  ENDIF.

  "保存文件
  CALL METHOD CL_GUI_FRONTEND_SERVICES=>FILE_SAVE_DIALOG
    EXPORTING
      WINDOW_TITLE         = LV_TITLE
      DEFAULT_EXTENSION    = 'xls'
      DEFAULT_FILE_NAME    = LV_FNAME
      INITIAL_DIRECTORY    = LV_INIT_PATH
      FILE_FILTER          = 'EXCEL文件(*.xls)||全部文件(*.*)||'
      PROMPT_ON_OVERWRITE  = 'X'
    CHANGING
      FILENAME             = LV_FNAME
      PATH                 = LV_PATH
      FULLPATH             = LV_FPATH
    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_FILE.
    LV_FILE = LV_FPATH.
    IF LV_FILE IS NOT INITIAL.
      "判斷文件模板是否存在
      SELECT SINGLE
      RELID
      OBJID
      FROM WWWDATA
      INTO CORRESPONDING FIELDS OF LS_WDATB
      WHERE SRTF2 = 0
      AND RELID = 'MI'
      AND OBJID = LV_OBJID.

      IF LS_WDATB IS INITIAL.
        MESSAGE '模板不存在' TYPE 'E'.
      ELSE.

        CALL FUNCTION 'DOWNLOAD_WEB_OBJECT'
          EXPORTING
            KEY         = LS_WDATB
            DESTINATION = LV_FILE
          IMPORTING
            RC          = LV_SUBRC.
        IF LV_SUBRC <> 0.
          MESSAGE '模板下載失敗' TYPE 'E'.
        ELSE.
          CLEAR:LV_MSG.
          CONCATENATE '模板下載到本地文件' LV_FILE INTO LV_MSG.
          MESSAGE LV_MSG TYPE 'S'.
        ENDIF.
      ENDIF.
    ELSE.
      MESSAGE '用戶取消操作' TYPE 'S' .
      RETURN.
    ENDIF.
  ENDIF.
ENDFORM. "FRM_DOWNLAOD_EXCEL

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM