DATA: lv_server(255) TYPE c VALUE '192.168.xx.xx', "服务器地址 lv_user(255) TYPE c VALUE 'user', "账号 lv_pwd(255) TYPE c VALUE 'xxxx', "密码 lv_dest TYPE rfcdest VALUE 'SAPFTP', "操作标识 lv_handle TYPE i, lv_len TYPE i, lv_key TYPE i VALUE 26101957, lv_cmd(255) TYPE c, lv_dir(255) TYPE c VALUE 'IQC/10000568057', "指定目录 lv_blob_len TYPE i, lv_xstr TYPE xstring. DATA: lv_msg TYPE string. lv_len = strlen( lv_pwd ). "密码加密 CALL FUNCTION 'HTTP_SCRAMBLE' EXPORTING source = lv_pwd "原始密码 sourcelen = lv_len "密码长度 key = lv_key "加密方式 IMPORTING destination = lv_pwd. "加密密码 "连接ftp服务器 CALL FUNCTION 'FTP_CONNECT' EXPORTING host = lv_server user = lv_user password = lv_pwd rfc_destination = lv_dest IMPORTING handle = lv_handle EXCEPTIONS OTHERS = 1. IF sy-subrc <> 0. "获取错误 CALL FUNCTION 'MESSAGE_TEXT_BUILD' EXPORTING msgid = sy-msgid msgnr = sy-msgno msgv1 = sy-msgv1 msgv2 = sy-msgv2 msgv3 = sy-msgv3 msgv4 = sy-msgv4 IMPORTING message_text_output = lv_msg. ELSE. "执行CMD命令(列出指定文件夹下所有的文件) CONCATENATE 'nlist' lv_dir INTO lv_cmd SEPARATED BY space. CALL FUNCTION 'FTP_COMMAND' EXPORTING handle = lv_handle command = lv_cmd TABLES data = lt_ftp EXCEPTIONS OTHERS = 2. LOOP AT lt_ftp INTO ls_ftp WHERE line CS lv_dir. "读取文件 CALL FUNCTION 'FTP_SERVER_TO_R3' EXPORTING handle = lv_handle fname = ls_ftp-line IMPORTING blob_length = lv_blob_len TABLES blob = lt_blob EXCEPTIONS tcpip_error = 1 command_error = 2 data_error = 3 OTHERS = 4. "二进制转XString CALL FUNCTION 'SCMS_BINARY_TO_XSTRING' EXPORTING input_length = lv_blob_len IMPORTING buffer = lv_xstr TABLES binary_tab = lt_blob EXCEPTIONS failed = 1 OTHERS = 2. "将xstring内容调用外部系统文件上传http接口 ENDLOOP. "关闭连接 CALL FUNCTION 'FTP_DISCONNECT' EXPORTING handle = lv_handle EXCEPTIONS OTHERS = 4. ENDIF. cl_demo_output=>write( lv_msg ). cl_demo_output=>write( lt_ftp ). cl_demo_output=>display( ).

SAP连接FTP标准示例程序

RSFTP001                       SAPFTP 版本
RSFTP002                       执行 FTP 命令
RSFTP003                       测试
RSFTP004                       FTP 复制
RSFTP005                       SAPFTP 检查
RSFTP006                       FTP 命令清单
RSFTP007                       测试 FB:FTP_SERVER_TO_R3 / FTP_R3_TO_SERVER
RSFTP008                       测试 FB:FTP_CLIENT_TO_R3 / FTP_R3_TO_CLIENT
RSFTP009                       Test FTP put with Verify
RSFTP011                       FTP Copy

CONSTANTS: cns_host TYPE c LENGTH 13 VALUE '172.168.1.250'. CONSTANTS: cns_usr TYPE c LENGTH 7 VALUE 'username'. CONSTANTS: cns_pwd TYPE c LENGTH 9 VALUE 'password'. CONSTANTS: cns_key TYPE i ...
项目中有以下接口场景: 通过后台作业, SAP ECC系统每天晚上从外部 FTP 服务器 Get文本 文件 SAP 服务器 目录/usr/ sap //SYS/global/data,然后处理这些 文件 中的数据,在 SAP 系统创建对应的业务单据。 本文只介绍一下 SAP 编程实现从远程 FTP 服务器 读取 文件 的方法。 SAP 中有大量的标
文章目录前言一、连接 FTP 服务器 二、关于 FTP 命令三、相关代码示例1.连接 FTP 服务器 2.打开指定目录3.查询该目录下所有 文件 ,并获取 文件 名4.解析相关 文件 5.上传相关 文件 6.剪切相关 文件 至其他目录7.关闭连接 关于 SAP - FTP 上操作说明网上可参考的内容略显单薄,特此种下树苗,为后来人好乘凉 一、连接 FTP 服务器 在敲代码前,先进行连接测试,确保 FTP 服务器 sap 相通. 维护相关配置表 SM30-> SAP FTP _SERVERS_V FTP 服务器 IP,PORT 由 FTP 团队提供