与RFC SAPFTPA一起使用时FTP_SERVER_TO_R3挂起

2020-09-10 17:46发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)大师们, 我正在研究一个程序,...

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

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


大师们,

我正在研究一个程序,该程序将从FTP服务器读取指定的文本文件到数据表中。 FM FTP_SERVER_TO_R3 似乎非常适合我的情况。

我使用RFC SAPFTPA 作为目标。 FTP_CONNECT 始终可以正常工作,但是当涉及 FTP_SERVER_TO_R3 时,程序有时会挂起。

有时在多次调用FM FTP_SERVER_TO_R3 的循环中,第一个和第二个间隔是好的,然后在下一个间隔中,它被挂起。

有时甚至是第一次挂起。

我的问题:谁能告诉我为什么使用 SAPFTPA 时会发生此错误?

如果有人能给我一个提示,那将很棒。

非常感谢!

我的代码如下:

"连接到FTP服务器
 ******************************************************  ******************
 通话功能'HTTP_SCRAMBLE'
   出口
     源= FTP_SERVERINFO-PWD
     SOURCELEN = LW_SRCLEN
     钥匙= 26101957
   输入
     目的地= SCRAMBLED_PW。
 CONCATENATE FTP_SERVERINFO-FTP_SERVER_NAME FTP_SERVERINFO-FTP_SERVER_PORT
 由空格分隔的INTO LW_HOST。
 通话功能'FTP_CONNECT'
     出口
       USER = FTP_SERVERINFO-USER_NAME
       密码= SCRAMBLED_PW"密码
       HOST = LW_HOST" FTP服务器
       RFC_DESTINATION = DEST" RFC目标
     输入
       手柄=手柄
     例外情况
       NOT_CONNECTED = 1
       其他= 2。
   如果SY-SUBRC <> 0。
     消息ID SY-MSGID类型SY-MSGTY编号SY-MSGNO
       与SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4。
   万一。
 遍历READ_FILES ASSIGNING FIELD-SYMBOL()。
   "向IT读取文件**************************************************  ********************
   通话功能'FTP_SERVER_TO_R3'
     出口
       手柄=手柄
       FNAME =  -FILE_NAME
       CHARACTER_MODE ='X'
     桌子
       TEXT = IT_TEXT []
     例外情况
       TCPIP_ERROR = 1
       COMMAND_ERROR = 2
       DATA_ERROR = 3"内部错误
       其他= 4。
   如果SY-SUBRC <> 0。
     出口。
   万一。
   "读完IT知识后,加载到透明表中并记录事务。***************************************  ****************
   数据:FILE_NAME(200)C型。
   FILE_NAME =  -FILE_NAME。
   使用FILE_NAME执行MAP_DATA表格IT_TEXT。
   刷新IT_TEXT []。
 结局。
   "断开FTP连接************************************************  ******************************************************  *****
   通话功能'FTP_DISCONNECT'
     出口
       处理程序=处理程序。
 "关闭RFC连接
 通话功能'RFC_CONNECTION_CLOSE'
   出口
     DESTINATION = DEST" RFC目标的名称
   例外情况
     DESTINATION_NOT_OPEN = 1"指定的目标未打开。
     其他= 2。
 如果SY-SUBRC <> 0。
   出口。
 万一。
 
如果有人可以给我提示的话,那会很棒。

非常感谢!
9条回答
微wx笑
2020-09-10 18:20 .采纳回答

大家好,

抱歉,迟到了。

由于其影响是巨大的,因此我必须制定一种解决方案,以保持连接和断开连接,并减少超时(非常糟糕的方法)。

经过日复一日的斗争,我想出了一个适合我的情况的解决方案。

通过在调用FM'FTP_CONNECT'时添加参数'PASSIVE_MODE ='X',它解决了挂起问题。 现在,我可以打电话给多个FM'FTP_SERVER_TO_R3',而不必关闭和重新打开连接或遇到任何挂起的问题。

请注意。

最诚挚的问候,

TuanNQ

一周热门 更多>