*&----------------------------------------------------------------------*
*&FTP 的使用方法.
*& 用法command: get filename 下载数据
*& put filename 上传数据
*& DIR 查看目录
*& mkdir name 建目录 name 文件夹名
*& CD NAME 进入另级目录 name 文件夹名
*& 注: 命令行部分要小写
*& Function: FTP_CONNECT,FTP_COMMAND
*&----------------------------------------------------------------------*
DATA: BEGIN OF mtab_data OCCURS 0,
line(132) TYPE c,
END OF mtab_data.
DATA: mc_password(20) TYPE c,
mi_key TYPE i VALUE 26101957,
mi_pwd_len TYPE i,
mi_handle TYPE i.
START-OF-SELECTION.
mc_password = '1qazxsw2'.
* DESCRIBE FIELD mc_password LENGTH mi_pwd_len.
*----- 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 = 'new'
password = mc_password
host = '10.5.23.14'
rfc_destination = 'SAPFTP'
IMPORTING
handle = mi_handle
EXCEPTIONS
not_connected = 1
OTHERS = 2.
CHECK sy-subrc = 0.
CALL FUNCTION 'FTP_COMMAND'
EXPORTING
handle = mi_handle
command = 'dir'
TABLES
data = mtab_data
EXCEPTIONS
tcpip_error = 1
command_error = 2
data_error = 3
OTHERS = 4.
IF sy-subrc = 0.
LOOP AT mtab_data.
WRITE: / mtab_data.
ENDLOOP.
ELSE.
* Do Some Error Checking.
ENDIF.
CALL FUNCTION 'FTP_DISCONNECT'
EXPORTING
handle = mi_handle
EXCEPTIONS
OTHERS = 1.