博客首页 注册 建议与交流 排行榜 加入友情链接
推荐 投诉 搜索: 帮助

SAP砍刀

乱世狂刀的SAP学习BLOG (本BLOG部分资料来自网络,如果原作者有疑义,请尽快联系本人)
sapknife.cublog.cn


从FTP服务器读取文件到本地
*&---------------------------------------------------------------------*
*& Report  Z7258_FTP2LOCAL
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

REPORT  z7258_ftp2local.

DATA: hdl TYPE i,
      key TYPE i VALUE 26101957,
      dstlen TYPE i,
      blob_length TYPE i.
DATA filepath TYPE string .

DATA: BEGIN OF blob OCCURS 0,
      line(100) TYPE x,
      END OF blob.

PARAMETERS: user(64) TYPE c ,
            pwd(64) TYPE c ,
            host(64) TYPE c ,
            filename(80) TYPE c ,
            name2(80) TYPE c,
            dest LIKE rfcdes-rfcdest DEFAULT 'SAPFTP'.
PARAMETERS: p_file LIKE rlgrap-filename
   DEFAULT 'c:\test.xls'.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
  PERFORM get_p_file USING p_file text-006.

START-OF-SELECTION.
TRANSLATE  user TO lowER CASE.

  CALL 'AB_RFC_X_SCRAMBLE_STRING'
    ID 'SOURCE'      FIELD pwd    ID 'KEY'         FIELD key
    ID 'SCR'         FIELD 'X'    ID 'DESTINATION' FIELD pwd
    ID 'DSTLEN'      FIELD dstlen.


  CALL FUNCTION 'FTP_CONNECT'
    EXPORTING
      user            = user
      password        = pwd
      host            = host
      rfc_destination = dest
    IMPORTING
      handle          = hdl.


  CALL FUNCTION 'FTP_SERVER_TO_R3'
    EXPORTING
      handle      = hdl
      fname       = filename
    IMPORTING
      blob_length = blob_length
    TABLES
      blob        = blob.


  filepath = p_file .
  CALL FUNCTION 'GUI_DOWNLOAD'
    EXPORTING
      filename = filepath
      filetype = 'BIN'
    TABLES
      data_tab = blob.



  CALL FUNCTION 'FTP_DISCONNECT'
    EXPORTING
      handle = hdl.
*&---------------------------------------------------------------------*
*&      Form  get_p_file
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      -->P_P_FILE  text
*      -->P_TEXT_006  text
*----------------------------------------------------------------------*
FORM get_p_file  USING    l_filename
                          l_text.
  CALL FUNCTION 'WS_FILENAME_GET'
    EXPORTING
      def_filename     = space
      def_path         = l_filename
      mask             = ',*.xls ,*.xls.'
      mode             = 'O'
      title            = l_text
    IMPORTING
      filename         = l_filename
    EXCEPTIONS
      inv_winsys       = 04
      no_batch         = 08
      selection_cancel = 12
      selection_error  = 16.


ENDFORM.                    " get_p_file

发表于: 2007-07-08 ,修改于: 2007-07-08 20:55,已浏览1942次,有评论1条 推荐 投诉


网友评论
内容:
大名鼎鼎的砍刀同志,CALL FUNCTION 'FTP_CONNECT'的时候提示没有访问FTP的权限,而实际是有的,这是怎么回事啊?我已经注意大小写的问题了,是不是使用这个函数还有什么其他要注意的地方?麻烦讲解一下啊,还有:
  CALL 'AB_RFC_X_SCRAMBLE_STRING'
    ID 'SOURCE'      FIELD pwd    ID 'KEY'         FIELD key
    ID 'SCR'         FIELD 'X'    ID 'DESTINATION' FIELD pwd
    ID 'DSTLEN'      FIELD dstlen.
这一段是做什么用的?还没见过这种语法呢。
BOWLONGSON评论于:2008-03-11 22:24:26 (221.226.130.★)

发表评论