连接FTP报告

2020-08-15 07:15发布

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

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


您好专家

如何从ABAP报告建立FTP连接? 一旦建立,我可以将数据导入内部表吗?

请为我提供一个简单的示例代码。

谢谢

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

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


您好专家

如何从ABAP报告建立FTP连接? 一旦建立,我可以将数据导入内部表吗?

请为我提供一个简单的示例代码。

谢谢

付费偷看设置
发送
3条回答
灬番茄
1楼 · 2020-08-15 07:29.采纳回答

自上次检查以来,默认情况下SAP仅支持FTP连接。 它不支持SFTP(SSH文件传输协议)。 SFTP连接需要一个包括您的基础团队在内的自定义项目。

这是通过FTP连接服务器并与之交互所要做的。 有关更多信息,请在github上查找示例编码 https://github.com/search?q=abap+ftp

1。 您需要输入以下内容:

  • FTP用户名
  • FTP密码
  • 标记密码是否已被加密
  • FTP服务器 -/主机名
  • 内部程序'sapftp'的TCPIP RFC-Destination,默认情况下为'SAPFTPA'

2。 加密密码

如果您的密码仍然是纯文本,则需要使用FM'HTTP_SCRAMBLE'使用纯文本密码,其长度和密钥'26101957'对其进行加密。

3。 连接到FTP主机

要连接到FTP主机,您需要使用sapftp程序(例如SAPFTPA)的用户,加密码,主机名和RFC目标调用FM'FTP_CONNECT'。 返回的句柄可让您重用ftp会话,直到关闭它,或直到它在例如之后自动关闭为止。 超时。

4。 在目录级别与FTP主机进行交互

要与FTP主机进行交互(读/写),您需要使用FTP会话的句柄和ftp命令调用FM'FTP_COMMAND'。 (或者,您也可以使用FM'FTP_COMMAND_LIST'一次发送命令列表)

  • 更改目录:cd yourdirectory
    上一级目录:cd ..
    转到 根目录:cd "/"
  • 获取当前目录列表(文件夹和文件):ls -la(或者也只是" dir")
  • 重命名 文件或目录:重命名为当前名称newname
  • 切换用于传输文本文件的字符模式:ascii

5。 从FTP主机上载/下载文件

要从FTP服务器下载文件,请使用带有会话句柄的FM'FTP_SERVER_TO_R3',您可以从该目录知道或获取当前目录的文件名 列表,然后使用字符模式" C"以TEXT(内部文本表)的形式检索数据。

要将文件上传到FTP服务器,请使用带有会话句柄的FM" FTP_R3_TO_SERVER",即文件 当前目录的名称。 如果您想以" BLOB"(二进制数据)的形式发送它,则必须例如将文本字符串转换为X字符串,例如 'SCMS_STRING_TO_XSTRING',然后将X-String转换为Binary Tab,例如 " SCMS_XSTRING_TO_BINARY"。 生成的binary_tab和output_length也需要传递到上述FM'FTP_R3_TO_SERVER'。

6。 断开与FTP主机和RFC目的地的连接

要完全断开连接,您需要使用FTP会话句柄调用FM" FTP_DISCONNECT",并为RFC目的地(例如SAPFTPA)调用FM" RFC_CONNECTION_CLOSE"

请实施您的解决方案,并在遇到问题时再提出更具体的问题。

代楠1984
2楼-- · 2020-08-15 07:45

弗朗切斯科·阿洛卡,如果"下载数据"是指以TEXT格式下载文件的内容,那么在通过FM FTP_CONNECT与FTP服务器连接后,您只需要FM FTP_COMMAND 如有必要,请切换到该文件夹​​。 否则,您可以使用FM FTP_SERVER_TO_R3以TEXT表或BLOB(二进制)表的形式下载文件的内容。 在将文件下载为TEXT之前,您可能必须使用FM FTP_COMMAND设置字符模式并发送ftp命令" ascii"。 现在不确定是否可以在FTP_SERVER_TO_R3中提供相对文件位置(例如./dir/subdir/file.dat),但我还没有尝试过。 通常,我使用FTP_COMMAND切换到正确的文件夹,然后下载或上传当前文件夹的文件。

CJones
3楼-- · 2020-08-15 07:46

嗨,

要建立与FTP的连接,请执行以下步骤 已经列出了要调用的功能模块并相应地传递了参数。

呼叫功能'HTTP_SCRAMBLE'"用于加密密码

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

文件名约定INTO文件的CONCATENATE逻辑。 "用于选择要读取的文件。

加载到内部表中文件

CALL FUNCTION'FTP_DISCONNECT'"用于断开连接的FTP会话

通话功能'RFC_CONNECTION_CLOSE'

一周热门 更多>