2020-08-15 07:15发布
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
您好专家
如何从ABAP报告建立FTP连接? 一旦建立,我可以将数据导入内部表吗?
请为我提供一个简单的示例代码。
谢谢
自上次检查以来,默认情况下SAP仅支持FTP连接。 它不支持SFTP(SSH文件传输协议)。 SFTP连接需要一个包括您的基础团队在内的自定义项目。
这是通过FTP连接服务器并与之交互所要做的。 有关更多信息,请在github上查找示例编码 https://github.com/search?q=abap+ftp a>。
1。 您需要输入以下内容:
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'一次发送命令列表)
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"
请实施您的解决方案,并在遇到问题时再提出更具体的问题。
弗朗切斯科·阿洛卡,如果"下载数据"是指以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切换到正确的文件夹,然后下载或上传当前文件夹的文件。
嗨,
要建立与FTP的连接,请执行以下步骤 已经列出了要调用的功能模块并相应地传递了参数。
呼叫功能'HTTP_SCRAMBLE'"用于加密密码
呼叫功能'FTP_CONNECT'"用于连接到FTP服务器的用户 目录
文件名约定INTO文件的CONCATENATE逻辑。 "用于选择要读取的文件。
加载到内部表中文件
CALL FUNCTION'FTP_DISCONNECT'"用于断开连接的FTP会话
通话功能'RFC_CONNECTION_CLOSE'
最多设置5个标签!
自上次检查以来,默认情况下SAP仅支持FTP连接。 它不支持SFTP(SSH文件传输协议)。 SFTP连接需要一个包括您的基础团队在内的自定义项目。
这是通过FTP连接服务器并与之交互所要做的。 有关更多信息,请在github上查找示例编码 https://github.com/search?q=abap+ftp a>。
1。 您需要输入以下内容:
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 ..
转到 根目录:cd "/"
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"
请实施您的解决方案,并在遇到问题时再提出更具体的问题。
弗朗切斯科·阿洛卡,如果"下载数据"是指以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切换到正确的文件夹,然后下载或上传当前文件夹的文件。
嗨,
要建立与FTP的连接,请执行以下步骤 已经列出了要调用的功能模块并相应地传递了参数。
呼叫功能'HTTP_SCRAMBLE'"用于加密密码
呼叫功能'FTP_CONNECT'"用于连接到FTP服务器的用户 目录
文件名约定INTO文件的CONCATENATE逻辑。 "用于选择要读取的文件。
加载到内部表中文件
CALL FUNCTION'FTP_DISCONNECT'"用于断开连接的FTP会话
通话功能'RFC_CONNECTION_CLOSE'
一周热门 更多>