two kinds of Function for download file

//open dataset
DATA: dsna(80),
         linct TYPE i.
form export_file TABLES outab.
   dsna = 'D:\test.txt'
  DESCRIBE TABLE outab LINES linct.
  OPEN DATASET dsna FOR OUTPUT IN TEXT MODE ENCODING            "open file and write data
       NON-UNICODE IGNORING CONVERSION ERRORS.
  LOOP AT outab.                   "internal table                                                  
    TRANSFER outab TO dsna.
  ENDLOOP.
  CLOSE DATASET dsna.          "close file
  IF sy-subrc = 0.
    WRITE: / dsna, 60 '传输', linct, '条记录'.
  ELSE.
    WRITE: / dsna, 60 '返回值为', sy-subrc, '传输不成功'.
  ENDIF.
endform.                    "export_file
 
//CALL METHOD CL_GUI_FRONTEND_SERVICES=>GUI_DOWNLOAD
PARAMETERS:DSN LIKE RLGRAP-FILENAME.
form export_filebak.
  DATA: CODEPAGE TYPE ABAP_ENCOD VALUE '8400'.
  DATA: O_FILE TYPE STRING.
  O_FILE = DSN.
  CALL METHOD CL_GUI_FRONTEND_SERVICES=>GUI_DOWNLOAD
    EXPORTING
      FILENAME                = O_FILE
      FILETYPE                = 'DAT'
      CODEPAGE                = CODEPAGE
    CHANGING
      DATA_TAB                = IOUT[]           "internal table with data for downloading
    EXCEPTIONS
      FILE_WRITE_ERROR        = 1
      NO_BATCH                = 2
      GUI_REFUSE_FILETRANSFER = 3
      INVALID_TYPE            = 4
      NO_AUTHORITY            = 5
      UNKNOWN_ERROR           = 6
      HEADER_NOT_ALLOWED      = 7
      SEPARATOR_NOT_ALLOWED   = 8
      FILESIZE_NOT_ALLOWED    = 9
      HEADER_TOO_LONG         = 10
      DP_ERROR_CREATE         = 11
      DP_ERROR_SEND           = 12
      DP_ERROR_WRITE          = 13
      UNKNOWN_DP_ERROR        = 14
      ACCESS_DENIED           = 15
      DP_OUT_OF_MEMORY        = 16
      DISK_FULL               = 17
      DP_TIMEOUT              = 18
      FILE_NOT_FOUND          = 19
      DATAPROVIDER_EXCEPTION  = 20
      CONTROL_FLUSH_ERROR     = 21
      NOT_SUPPORTED_BY_GUI    = 22
      ERROR_NO_GUI            = 23
      OTHERS                  = 24.
endform.                    "export_file
 

//download excel file to local computer
call function 'WS_DOWNLOAD'
       exporting
            codepage            = 'TIBM'
            filename            = f_path    "f_pah 为destination path
            filetype            = 'DAT'
       tables
            data_tab            = itab
       exceptions
            file_open_error     = 1
            file_write_error    = 2
            invalid_filesize    = 3
            invalid_table_width = 4
            invalid_type        = 5
            no_batch            = 6
            unknown_error       = 7
            others              = 8.
endform.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值