1.首先在SM59中配置TCP/IP类型的远程连接。
2.源码摘录如下:
DATA:
mc_password(20) TYPE c,
mi_key TYPE i VALUE 26101957,
mi_pwd_len TYPE i,
mc_password = pwd .
DESCRIBE FIELD pwd LENGTH mi_pwd_len IN BYTE MODE .
*-- FTP_CONNECT requires an encrypted password to work
CALL 'AB_RFC_X_SCRAMBLE_STRING'
ID 'SOURCE' FIELD mc_password ID 'KEY' FIELD mi_key
ID 'SCR' FIELD 'X' ID 'DESTINATION' FIELD mc_password
ID 'DSTLEN' FIELD mi_pwd_len.
CALL FUNCTION 'FTP_CONNECT'
EXPORTING
user = user "用户
password = mc_password "口令
host = host "主机
rfc_destination = dest "RFC远程系统
IMPORTING
handle = hdl
EXCEPTIONS
not_connected = 1
OTHERS = 2.
IF sy-subrc = 0.
CALL FUNCTION 'FTP_COMMAND'
EXPORTING
handle = hdl
command = cmd "打开某个目录,比如cd /ekpj/ekpfile/landray/kmss/resource/ldif/acrm/sap
TABLES
data = result
EXCEPTIONS
tcpip_error = 1
command_error = 2
data_error = 3
OTHERS = 4.
REFRESH result.
CONCATENATE 'ACRM_SAP_' im_fname '_' sy-datum '.txt' INTO f_file. "编辑文件名
CALL FUNCTION 'FTP_R3_TO_SERVER' "上传数据到FTP服务器
EXPORTING
handle = hdl
fname = f_file
character_mode = 'X'
TABLES
text = t_table.
* 检查是否下载成功
CALL FUNCTION 'FTP_COMMAND'
EXPORTING
handle = hdl
command = 'nlist'
TABLES
data = result
EXCEPTIONS
tcpip_error = 1
command_error = 2
data_error = 3
OTHERS = 4.
* Disconnect
CALL FUNCTION 'FTP_DISCONNECT'
EXPORTING
handle = hdl.