sap 服务器文件上传和下载

data remote_file like rcgfiletr-ftappl."远程文件类型
data local_file like rcgfiletr-ftfront."下载文件类型
remote_file = '/usr/sap/trans/excel/Dawning_BS.xls'.
local_file = 'c:/dawning_sap_excel/Dawning_BS.xls'.

"从服务器上下载Excel文件到本地
  call function 'C13Z_FILE_DOWNLOAD_BINARY'
    exporting
      i_file_front_end    = local_file
      i_file_appl         = remote_file
      i_file_overwrite    = 'X'
    exceptions
      fe_file_open_error  = 1
      fe_file_exists      = 2
      fe_file_write_error = 3
      ap_no_authority     = 4
      ap_file_open_error  = 5
      ap_file_empty       = 6
      others              = 7.

 


*上传
CALL FUNCTION 'C13Z_FILE_UPLOAD_BINARY'
  EXPORTING
    i_file_front_end         = local_file
    i_file_appl              = remote_file
*   I_FILE_OVERWRITE         = ESP1_FALSE
* IMPORTING
*   E_FLG_OPEN_ERROR         =
*   E_OS_MESSAGE             =
* EXCEPTIONS
*   FE_FILE_NOT_EXISTS       = 1
*   FE_FILE_READ_ERROR       = 2
*   AP_NO_AUTHORITY          = 3
*   AP_FILE_OPEN_ERROR       = 4
*   AP_FILE_EXISTS           = 5
*   OTHERS                   = 6
          .
IF sy-subrc <> 0.
 MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.

上传用下面这个 更保险:
report z_lijia_06 .


data: fname type rlgrap-filename,
      ftype type rlgrap-filetype,
      fsize type i.
data: fname_p type string,
      fname_n type string.
data: sfname_p type string .
data: sfname like rcgiedial-iefile.
      sfname_p = '/usr/sap/trans/excel/'."上传报表模板文件路径
data: r(1) type c.


data: data_tab  like rcgrepfile occurs 10 with header line.
data: lines         type i.

call function 'UPLOAD'
     exporting
*          codepage            = 'IBM'
          filename            = 'C:/EXCEL_DATA'
          filetype            = 'BIN'
*          filemask_mask       = '*.XLS'
*          FILESMASK_TEXT      = 'XLS'
          filetype_no_change  = 'X'
*          SILENT              = 'X'
*          item                = ''
     importing
          filesize            = fsize
          act_filename        = fname
          act_filetype        = ftype
     tables
          data_tab            = data_tab
     exceptions
          conversion_error    = 1
          invalid_table_width = 2
          invalid_type        = 3.

fname_n = fname.
do.
 split fname_n at '/' into fname_p fname_n.
 search fname_n for '/'.
 if sy-subrc = 4.
  exit.
 endif.
enddo.
fname_p = fname.
shift fname_p right deleting trailing fname_n.
shift fname_p left deleting leading space.
*write:/,'fname_p=',fname_p,'|',
*      /,'fname_n=',fname_n,'|'.
concatenate sfname_p fname_n into sfname.
*write:/,'sfname=',sfname,'|'.
describe table data_tab lines lines.

 call function 'C13Z_RAWDATA_WRITE'
       exporting
            i_file           = sfname
            i_file_size      = fsize
            i_lines          = lines
       tables
            i_rcgrepfile_tab = data_tab
       exceptions
            no_permission    = 1
            open_failed      = 2
            others           = 3.

*IF sy-subrc NE 0.
*  MESSAGE s000 WITH 'UPLOAD SUCC'.
*ENDIF.

write: 'SY-SUBRC:', sy-subrc,
     / '上载的本地文件名:',  (60) fname,
     / '上载的远程文件名:',(60) sfname,
     / '文件类型:', ftype,
     / '文件大小:', fsize.
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值