1. 程式人生 > >SAP 如何將SMW0 上的EXCEL模板下載到本地

SAP 如何將SMW0 上的EXCEL模板下載到本地

*&---------------------------------------------------------------------*
*& Report  ZTEST09
*&  by cmh
*&---------------------------------------------------------------------*
*&
*& 下載 EXCEL 模板
*&---------------------------------------------------------------------*

REPORT  ZTEST09.


TABLES:sscrfields.

*定義OLE變數
DATA:g_excel TYPE ole2_object,
     g_applica TYPE ole2_object,
     g_sheet TYPE ole2_object,
     g_cell TYPE ole2_object,
     g_workbook TYPE ole2_object.

DATA:p_filepath TYPE string.

CONSTANTS:c_yes TYPE VALUE 'X',
          c_path TYPE char128 VALUE 'C:\TEMP\資產負債表.xls'
.            " 下載後存放路徑

*模版下載按鈕
SELECTION-SCREEN BEGIN OF block block1 with frame title text-000.

  parameters g_filen like wwwdatatab-objid default 'ZFI045_1000'.      " 要下載的模板名稱 

  SELECTION-SCREEN PUSHBUTTON /1(10text-002
                                  USER-COMMAND attch.

  SELECTION-SCREEN end of block 
block1.



AT SELECTION-SCREEN.
  PERFORM frm_check_input.



*&---------------------------------------------------------------------*
*&      Form  frm_check_input
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
FORM frm_check_input .

  DATA l_ret TYPE abap_bool.

  IF sscrfields-ucomm 'ATTCH'.

* 下載模版

    PERFORM frm_download_template.

  ELSE.

  ENDIF.

ENDFORM.                    "frm_check_input

*&---------------------------------------------------------------------*
*&      Form  frm_download_template
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
FORM frm_download_template .

  DATAlv_objdata LIKE wwwdatatab,
        lv_obj_name LIKE wwwdatatab-objid,
        lv_destination LIKE rlgrap-filename,
        lv_objid LIKE sy-repid,
        lv_subrc LIKE sy-subrc.
  DATA:l_ret TYPE abap_bool,
       lv_answer.
  DATA:lv_file TYPE string.

  MOVE c_path TO lv_file.
  CALL METHOD cl_gui_frontend_services=>file_exist
    EXPORTING
      file                 lv_file
    RECEIVING
      result               l_ret
    EXCEPTIONS
      cntl_error           1
      error_no_gui         2
      wrong_parameter      3
      not_supported_by_gui 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.
    EXIT.
  ENDIF.

  IF l_ret EQ c_yes.

* 模版已存在,是否覆蓋

    CALL FUNCTION 'POPUP_TO_CONFIRM'
      EXPORTING
        text_question  '模版已存在,是否覆蓋?'
        text_button_1  '是'(001)
        text_button_2  '否'(002)
      IMPORTING
        answer         lv_answer
      EXCEPTIONS
        text_not_found 1
        OTHERS         2.
    IF sy-subrc <> 0.

    ENDIF.

    IF lv_answer EQ 'A'"取消
      EXIT.
    ELSEIF lv_answer NE '1'"否
      p_filepath c_path.
    ENDIF.
  ELSE.
    lv_answer '1'.
  ENDIF.


  CREATE OBJECT g_excel 'EXCEL.APPLICATION'.
  GET PROPERTY OF g_excel 'Workbooks' g_workbook .
  CALL METHOD OF
      g_workbook
      'Close'.

  IF lv_answer EQ '1'.

    MOVE g_filen TO lv_obj_name.

    SELECT relid objid
      FROM wwwdata
      INTO  CORRESPONDING FIELDS OF lv_objdata
      UP TO ROWS
      WHERE srtf2 AND relid 'MI'
        AND objid lv_obj_name.
    ENDSELECT.

    CALL FUNCTION 'DOWNLOAD_WEB_OBJECT'
      EXPORTING
        key         lv_objdata
        destination c_path
      IMPORTING
        rc          lv_subrc.
    IF lv_subrc 0.
      p_filepath c_path.
    ENDIF.
  ENDIF.

  CALL METHOD OF
      g_workbook
      'open'

    EXPORTING
      #1         c_path.

  CALL METHOD OF
      g_excel
      'worksheets' g_sheet
    EXPORTING
      #1           1.
  CALL METHOD OF
      g_sheet
      'activate'.

  SET PROPERTY OF g_excel 'visible' 1.

  FREE OBJECT g_sheet.
  FREE OBJECT g_applica.
  FREE OBJECT g_workbook.
  FREE OBJECT g_excel.

ENDFORM.                    "frm_download_template

相關推薦

SAP 如何SMW0 EXCEL模板下載本地

*&---------------------------------------------------------------------**& Report  ZTEST09*&  by cmh*&-------------------------------------

PHP伺服器的檔案下載(例如下載Excel模板

   //下載模板(前提:此檔案在伺服器上)     public function down()     {         header("Content-type:text/html;charset=utf-8");         $file_name="example.xls";         

linux學習(八) XShell傳、下載本地文件到linux服務器

下載工具 windows 通過命令 保存文件 技術 lin ram cal 安裝 (一)通過命令行的方式 1.linux服務器端設置 在linux主機上,安裝上傳下載工具包rz及sz; 如果不知道你要安裝包的具體名稱,可以使用yum provides */name 進行查

python 2.7 網頁的資料下載到資料庫

#coding = utf-8 import requests import pymysql import re import os from bs4 import BeautifulSoup from time import sleep def main(): conn = pymysq

如何Github的內容下載克隆到本地庫。

1.開啟登入個人Github並進入到需要克隆的專案內容檔案所在頁。 如下可以看到檔案地址(重要)和檔案專案名。 2.開啟Git Bash如下所示,使用“cd ××(檔案地址)”命令進入本地庫。 然後使用命令“git clone +檔案地址(https://github.com/..

linux XShell傳、下載本地檔案到linux伺服器

1.連線設定(linux客戶端) 注:1.正確填寫使用者身份認證資訊(使用者名稱和密碼);      2.在ZMODEM 新增上圖設定 2.linux伺服器端設定 在linux主機上,安裝上傳下載工具包rz及sz; 如果不知道你要安裝包的具體名稱,可以使用yum pr

C#檔案傳、下載(以二進位制流儲存到資料庫)

1、將檔案以二進位制流的格式寫入資料庫 首先獲得檔案路徑,然後將檔案以二進位制讀出儲存在一個二進位制陣列中,與資料庫建立連線,在SQL語句中將二進位制陣列賦值給相應的引數,完成向資料庫中寫入檔案的操作 /// 將檔案流寫入資料庫 /// </s

SAP SMW0 EXCEL模板遇到的問題

用SMW0上傳圖片檔案或者EXCEL模板時,如果沒有維護 MIME TYPE,系統會給出提示, 如下: "無分配給物件 .XLS的 MIME 型別"  , 需要先維護 .XLS 檔案的MIME TYPE 開啟 SMW0 選擇第二項二進位制資料,然後進去 點選單

資料庫的資料轉換為excel檔案下載本地的方法中遇到的困難及解決方案

以下是將資料庫的資料轉換為excel檔案下載到本地的方法 @Autowired private BooksService booksService; @RequestMapping("/downloadBooksExcel") public void down

SAP ABAP OLE 操作傳的EXCEL模板(轉)

ABAP直接操作EXCEL實現資料處理。這裡是用OLE實現操作EXCEL的。現在還有 DOI操作EXCEL等方法。以後用到再做介紹。此處不是直接生成EXCEL檔案,而是從 伺服器已經上傳的EXCEL模板中下載模板然後開啟修改實現資料儲存。也可以直接建立 新的EXCEL

專案(程式碼)從GitHub克隆(下載)到本地倉庫

要將專案從GitHub上克隆到本地,首先你得下載並安裝好git for window。安裝時,直接next就行。配置Git:1、安裝完後,右鍵單擊桌面空白處,選擇Git Gui Here,進去之後,選擇左上角的help選項,會出現一個Show SSH Key,然後點選“Generate Key”得到祕鑰。將其

檔案傳到資料庫 和 從資料庫下載檔案到本地

有時候我們需要把圖片、文件、dll檔案、等等,上傳的資料庫,然後當需要的時候再從資料庫中讀取到本地,下面我以上傳圖片為例,講解一下如何把本地的一張圖片上傳到資料庫,然後再從資料庫下載到本地。   工具:VS2010,Sql Server 2000。語言:C#。   像

ajax(FormData)的poi下載excel模板excel傳解析(maven專案與非maven專案)(poi-ooxml與poi3.9

自己專案中遇到了,寫了挺久的,花了挺多時間的來找相關資料,這次來份詳細的上傳,包括poi-ooxml(maven專案) 下載都一樣沒有區別 excel 下載模板,其實預設內容  (這個下載沒寫好,使用者無法選定儲存路徑) : 前臺不寫了就是一個普通的請求 @Reque

C# 下載excel模板,並資料導進模板excel

#region Event 匯¡Ñ出DX表i格a private void butExcel_Click(object sender, RoutedEventArgs e) {   System.Windows.Forms.SaveFileDial

如何頁面的數據導入excel

進行 mil his spl 查找 inf css ie瀏覽器 art 網上關於頁面數據導入excel的文章很多,但是大部分都是關於 ActiveXObject 對象,可是ActiveXObject 對象是只支持IE的,可我連IE11也測試了,還是無法識別,又查到消息,好像

[node 工具 ] 用 Node.js bugzilla 的 bug 列表導入到 excel 表格在線版本之一( web 端)

oct node img please utf save smis charset nim 用 Node.js 將 bugzilla 上的 bug 列表導入到 excel 表格在線版本之一( server 端) <!DOCTYPE html>

java:ssh連接服務器,實現本地文件傳和下載

scp lock str path close gen conn 連接服務器 超時 1.連接至服務器:ssh [email protected] -p 5555 下載文件:scp -r [email protected]:/ccc(服務器路徑,文件夾下所有文件) /path(本

保證在瀏覽器word/圖片/Excel下載的表現形式一樣

nbsp setattr ref bsp TP fir attribute 自動 exc function downloadImage(src) { console.log(src); //src="http://192.168.12.50:8181/file/co

JS 頁面的表格導出為 Excel 文件

doctype app 對象 tex mic 要求 down mage family 如果在頁面上展示了一個表格,想把這個表格導出為Excel文件,那麽在要求不高的情況下,可以直接利用 JavaScript 的 Blob 和 Object URL 特性將表格導出。不過,這就

Python 進行 SSH 操作,實現本地與服務器的鏈接,進行文件的傳和下載

enc 項目介紹 use 解讀 數據庫文件 需要 toad 鏈接 {} Python 進行 SSH 操作,實現本地與服務器的鏈接,進行文件的上傳和下載 2018年5月26日 19:03 閱讀 375 評論 7 我本地和服務器的連接一直使用的是 Xshell 5,