SAP连接FTP服务器连接正常,执行命令超时问题。

在测试连接FTP得时候,首先需要。IP地址,端口在配置表存在。如果不在,写入一条。

SELECT SINGLE *
FROM sapftp_servers INTO @DATA(ls_ftpserver)
WHERE ftp_server_name = @ps_zep0021-ftp_server_name
AND ftp_server_port = @ps_zep0021-ftp_server_port.
IF sy-subrc <> 0.
ls_ftpserver-ftp_server_name = ps_zep0021-ftp_server_name.
ls_ftpserver-ftp_server_port = ps_zep0021-ftp_server_port.
ls_ftpserver-description = ‘SAPFTPA’.
MODIFY sapftp_servers FROM ls_ftpserver .
COMMIT WORK AND WAIT.
ENDIF.

  • 连接ftp服务器
    CALL FUNCTION ‘FTP_CONNECT’
    EXPORTING
    user = ps_zep0021-ftp_usrname
    password = l_pwd
    host = lv_host_port
    rfc_destination = lv_rfcdest "dest
    IMPORTING
    handle = l_hdl. "连接的句柄
    然后再执行查询语句,比如:

    CLEAR l_nofile_f.
    CALL FUNCTION 'FTP_COMMAND'
      EXPORTING
        handle   = l_hdl
        command  = 'nlist /'    " 
        compress = l_compress
      TABLES
        data     = lt_result.
    

发现总是超时。
是需要设置FTP服务器得模式。设置后就正常了。
CALL FUNCTION ‘FTP_COMMAND’
EXPORTING
handle = l_hdl
command = ‘set passive on’
TABLES
data = lt_result
EXCEPTIONS
command_error = 1
tcpip_error = 2.

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值