HCI SFTP后处理限制(带有移动文件选项)

2020-08-17 07:57发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)专家们, 我想与大家分享我在S...

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

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


专家们,

我想与大家分享我在SFTP发送器连接器中发现的一个限制,这给我带来了一些麻烦。 我的要求是从目录中读取文件并将其存档在特定的文件夹中。 使用SCPI完全可以。 当iflow中间出现问题时,我需要将文件保留在源文件夹中时会出现问题。

为此,我想出了一个步骤,在异常子过程的末尾添加了一个步骤,该步骤将源目录中的文件重新写入:一般而言,这是可行的。

重点是SFTP发送方连接器的"后处理"选项。 如果您使用过SAP PI/PO,则请记住,归档步骤是在读取完一个文件之后执行的(读取归档过程)。 在SCPI中,这仅发生在流程结束时(read-process-archive)。 因此,如果我要在源目录中重写文件(具有完全相同的源名称)并且设置了Move-File选项,会发生什么情况? 该文件仍然被存档! 我敢肯定,因为如果在重写步骤中设置了一个恒定的文件名而不是原始文件名,那么我会看到原始文件已存档,并且使用我提供的consyant创建了副本。

任何想法如何克服此限制?

谢谢。

克里斯蒂安

9条回答
compass1988
2020-08-17 08:23

尊敬的Robson,

我已经完成了这项测试,恐怕它不能像您所说的那样工作。 简而言之,为处理这种情况,我添加了一个异常子进程,该子进程包含重写步骤(SFTP接收器连接器)。 在第一个测试中,我将接收器文件名设置为$ {header.CamelFileName},但随着过程结束,文件消失了。 然后,我用一个常量名更改了接收器文件名,然后看到原始文件消失了,而创建了带有常量名的文件名。 这证明了当您在异常子进程中以其原始名称(即$ {header.CamelFileName})重新写入文件时,该文件将由您在后处理选项(在本例中为"移动文件")中设置的内容处理。/p>

此外,如果您的建议可行,我可以添加一个没有重新编写步骤的异常子流程,因为如果该流程因异常而中断,则不应执行"后处理"选项并且源文件 应该保持不变。 对? 此选项对于处理此类情况会很好,但是如果我需要在异常情况下将文件移动到其他文件夹中,则不适合。 假设我必须存档由于流入中发生异常而未正确处理的文件。 如果您的解决方案有效,我可以在异常子进程中添加一个重写步骤,它可以正常工作,但原始源文件将保留在源文件夹中:因此,我将文件正确存档,但原始副本仍在 源文件夹,因为异常步骤阻止了后处理选项的执行。 还是不适合。

我认为,一种简单的标准方法是允许按SAP PI/PO中的说明在读取源文件后立即按需要处理源文件。

问候。

克里斯蒂安

一周热门 更多>