ABAP 连接ftp 并且查看某个路径下文件名称

15 篇文章 1 订阅

DATA :  
        p_host   TYPE char64 VALUE '192.168.100.64 21',"  IP
        p_folder TYPE char255 VALUE '/aa/bb/',  "ftp 路径
        p_uname  TYPE char30 VALUE 'sys' , "用户名称
        p_pwd    TYPE char30 VALUE 'psword' . "用户密码

DATA : dest     LIKE rfcdes-rfcdest  VALUE 'SAPFTP',
            compress TYPE c  VALUE 'N'.

DATA: hdl     TYPE i,
      key     TYPE i VALUE 26101957,
      slen    TYPE i,
      cmd(80) TYPE c.

slen = strlen( p_pwd ).

* "获取加密密码 保存到P_PWD
CALL FUNCTION 'HTTP_SCRAMBLE'
  EXPORTING
    source      = p_pwd
    sourcelen   = slen
    key         = key
  IMPORTING
    destination = p_pwd.

* 连接ftp服务器
CALL FUNCTION 'FTP_CONNECT'
  EXPORTING
    user            = p_uname
    password        = p_pwd
    host            = p_host
    rfc_destination = dest
  IMPORTING
    handle          = hdl.  "连接的句柄

"IF SY-SUBRC <> 0.
"*-  &1失败
"ELSE.
"*- 成功  
"ENDIF.
 

"获取ftp 某个目录下文件集合 、、start ..、
DATA result_file_name(300) TYPE c .
DATA: BEGIN OF result OCCURS 0,
        line(100) TYPE c,
      END OF result.
CALL FUNCTION 'FTP_COMMAND'
  EXPORTING
    handle        = hdl
    command       =   'nlist /a/b/c/'    " 通过nlist 查看ftp下某个路径下文件 (注意nlist后面有个空格)
    compress      = compress
  TABLES
    data          = result
  EXCEPTIONS
    command_error = 1
    tcpip_error   = 2.
LOOP AT result.
  WRITE AT / result-line.  "这里面就是获取的ftp某个路径下文件名称
ENDLOOP.

 

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值