如何从FTP服务器获取所有文件

2020-09-03 15:51发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


专家们,

我需要从FTP服务器文件夹(C:\ FTP \ SAP \ IN)中读取所有文件。请在下面找到我的代码

在执行程序时出现错误'550参数不正确。'

请提出建议。

请在下面找到代码以供参考。

*"""""""""""选择屏幕2

带有框架标题文本101的b2块的选择屏幕开始。

参数:"" cintr AS CHECKBOX USER-COMMAND c2 DEFAULT","发送电子邮件

pa_user类型c长度30小写修改ID s1," FTP服务器用户"

pa_pswrd类型c长度30小写字母修改ID s1," FTP服务器用户密码"

pa_host类型c长度64小写字母修改ID s1," FTP服务器的IP地址"

pa_rfcds类似于rfcdes-rfcdest强制性修改ID s1默认为'SAPFTP'," RFC目标,用于前端通信(本地连接)的SAPFTP"

cmd1(80)TYPE C LOWER CASE,"命令行1"

cmd2(80)TYPE C小写字母。"命令行1

b2块的选择屏幕结尾。

"""""""""""""选择屏幕2

"""""""""""""""""""""""""" FTP服务器的数据声明"""""""""""""""""

数据:mi_key TYPE i VALUE 26101957,"硬编码处理程序密钥,始终为'26101957'

mi_pwd_len TYPE i,"用于查找密码的长度,用于在加扰密码时使用

mi_handle TYPE i。"指向已连接的FTP连接的句柄,用于在已连接的FTP会话上进行后续操作

"""""""""""""""""""""""""""""""""""""""""""""""""""" """""""""测试""""""""""""""""""""""""""""

*********************************************** *************************

* T Y P E S

*********************************************** *************************

类型:

x_cmdout的开头,

第100行c型,

x_cmdout的结尾。

TYPE-POOLS:slis。

*********************************************** *************************

* D A T A

*********************************************** *************************

* FTP服务器的数据规格

*处理程序和密钥

数据:w_cmd(40)C型,

w_hdl TYPE i,

w_key TYPE i VALUE 26101957,

w_slen TYPE i,

wa_cmdout类型x_cmdout,

it_cmdout x_cmdout的类型标准表。

*常量声明

常量:c_ftp(20)类型c值'C:\ FTP \ SAP \ IN'。

在选择屏幕输出上。

环视屏幕。

*如果后台单选按钮未选中

如果screen-group1 ='S1'。

如果屏幕名称='PA_PSWRD'。

屏幕不可见='1'。

修改屏幕。

ENDIF。

ENDIF。

ENDLOOP。

开始选择。

设置扩展检查关闭。

mi_pwd_len = strlen(pa_pswrd)。

BREAK-POINT。

CALL FUNCTION'HTTP_SCRAMBLE'"用于加密密码

导出

源= pa_pswrd

sourcelen = mi_pwd_len

键= mi_key

导入

目的地= pa_pswrd。

调用功能'FTP_CONNECT'"用于连接到FTP服务器的用户目录

导出

用户= pa_user

密码= pa_pswrd

主机= pa_host

rfc_destination = pa_rfcds"将后台SAP FTP库用作SAP后端系统的一部分

导入

handle = mi_handle

例外

not_connected = 1

其他= 2。

如果sy-subrc = 0。

*将目录更改为LUPIN的FTP目录

CONCATENATE'dir'c_ftp INTO w_cmd用空格分隔。

调用功能'FTP_COMMAND'

导出

handle = mi_handle" w_hdl

命令= w_cmd

compress ='N'

表格

数据= it_cmdout

例外情况

tcpip_error = 1

command_error = 2

data_error = 3

其他= 4。

IF sy-subrc <> 0。

消息ID sy-msgid类型sy-msgty编号sy-msgno

与sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4。

ENDIF。

刷新it_cmdout。

ENDIF。

感谢与问候

Sushil Kumar Shrivastava

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


专家们,

我需要从FTP服务器文件夹(C:\ FTP \ SAP \ IN)中读取所有文件。请在下面找到我的代码

在执行程序时出现错误'550参数不正确。'

请提出建议。

请在下面找到代码以供参考。

*"""""""""""选择屏幕2

带有框架标题文本101的b2块的选择屏幕开始。

参数:"" cintr AS CHECKBOX USER-COMMAND c2 DEFAULT","发送电子邮件

pa_user类型c长度30小写修改ID s1," FTP服务器用户"

pa_pswrd类型c长度30小写字母修改ID s1," FTP服务器用户密码"

pa_host类型c长度64小写字母修改ID s1," FTP服务器的IP地址"

pa_rfcds类似于rfcdes-rfcdest强制性修改ID s1默认为'SAPFTP'," RFC目标,用于前端通信(本地连接)的SAPFTP"

cmd1(80)TYPE C LOWER CASE,"命令行1"

cmd2(80)TYPE C小写字母。"命令行1

b2块的选择屏幕结尾。

"""""""""""""选择屏幕2

"""""""""""""""""""""""""" FTP服务器的数据声明"""""""""""""""""

数据:mi_key TYPE i VALUE 26101957,"硬编码处理程序密钥,始终为'26101957'

mi_pwd_len TYPE i,"用于查找密码的长度,用于在加扰密码时使用

mi_handle TYPE i。"指向已连接的FTP连接的句柄,用于在已连接的FTP会话上进行后续操作

"""""""""""""""""""""""""""""""""""""""""""""""""""" """""""""测试""""""""""""""""""""""""""""

*********************************************** *************************

* T Y P E S

*********************************************** *************************

类型:

x_cmdout的开头,

第100行c型,

x_cmdout的结尾。

TYPE-POOLS:slis。

*********************************************** *************************

* D A T A

*********************************************** *************************

* FTP服务器的数据规格

*处理程序和密钥

数据:w_cmd(40)C型,

w_hdl TYPE i,

w_key TYPE i VALUE 26101957,

w_slen TYPE i,

wa_cmdout类型x_cmdout,

it_cmdout x_cmdout的类型标准表。

*常量声明

常量:c_ftp(20)类型c值'C:\ FTP \ SAP \ IN'。

在选择屏幕输出上。

环视屏幕。

*如果后台单选按钮未选中

如果screen-group1 ='S1'。

如果屏幕名称='PA_PSWRD'。

屏幕不可见='1'。

修改屏幕。

ENDIF。

ENDIF。

ENDLOOP。

开始选择。

设置扩展检查关闭。

mi_pwd_len = strlen(pa_pswrd)。

BREAK-POINT。

CALL FUNCTION'HTTP_SCRAMBLE'"用于加密密码

导出

源= pa_pswrd

sourcelen = mi_pwd_len

键= mi_key

导入

目的地= pa_pswrd。

调用功能'FTP_CONNECT'"用于连接到FTP服务器的用户目录

导出

用户= pa_user

密码= pa_pswrd

主机= pa_host

rfc_destination = pa_rfcds"将后台SAP FTP库用作SAP后端系统的一部分

导入

handle = mi_handle

例外

not_connected = 1

其他= 2。

如果sy-subrc = 0。

*将目录更改为LUPIN的FTP目录

CONCATENATE'dir'c_ftp INTO w_cmd用空格分隔。

调用功能'FTP_COMMAND'

导出

handle = mi_handle" w_hdl

命令= w_cmd

compress ='N'

表格

数据= it_cmdout

例外情况

tcpip_error = 1

command_error = 2

data_error = 3

其他= 4。

IF sy-subrc <> 0。

消息ID sy-msgid类型sy-msgty编号sy-msgno

与sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4。

ENDIF。

刷新it_cmdout。

ENDIF。

感谢与问候

Sushil Kumar Shrivastava

付费偷看设置
发送
3条回答
南山jay
1楼-- · 2020-09-03 16:21

" ls"是" dir"的别名(它们是相同的SAPFTP客户端命令)。

小c菟菟
2楼-- · 2020-09-03 16:09
我是小鹏鹏啊
3楼-- · 2020-09-03 16:16

谢谢大家的建议,是的,FTP服务器条目已经保存在SAPFTP_SERVERS表中,检查了程序RSFTP0 *,但是该程序用于获取

并在默认的FTP服务器文件夹上放置文件,根据我的要求,我有一个单独的文件夹用于入站处理。

正如你们建议的那样,我在""中使用了" ls"命令(文件路径),但无法解决问题。

请提出建议。

感谢与问候

Sushil Kumar Shrivastava

一周热门 更多>