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. "连接的句柄
"打开ftp目录文件
CALL FUNCTION 'FTP_COMMAND'
EXPORTING
handle = hdl
command = 'cd /aa/' "比如上传aa路径下 就这么写 /aa/
compress = compress
TABLES
data = result
EXCEPTIONS
command_error = 1
tcpip_error = 2.
"备注!!!自己打印 打开ftp目录文件 返回结果如果不会请看其他关于ftp的文档里面有!!在这里不写了。
"上传文件
CALL FUNCTION 'FTP_COMMAND'
EXPORTING
handle = hdl
command = ' put 11.DOCX' "' 执行 这个命令是上传的意思 注意put后面有空格 这句话意思就是上传11.DOCX文件
compress = compress
TABLES
data = result
EXCEPTIONS
command_error = 1
tcpip_error = 2.
"备注!!!自己打印 上传文件 返回结果如果不会请看其他关于ftp的文档里面有!!在这里不写了。。
IF SY-SUBRC <> 0.
"失败
ELSE.
"成功
ENDIF.