SAP PI:"文件到文件"业务情景全部压缩

2020-09-10 12:53发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)早上好, 我是初级SAP PI...

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

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


早上好,

我是初级SAP PI开发人员,面临着一个棘手的要求。

要求:文件到文件方案。

在这种情况下,我有一个发送方通道FTP,而源服务器有一个文件夹,其中包含许多文件。

目标:我想将文件夹内的所有文件压缩为单个zip文件。

我了解了使用zipall模式的模块payloadzipbean,并尝试将其应用到接收方,但是结果是我在文件夹中的每个文件都有一个zip文件。

我如何达到我的要求?

谢谢

6条回答

嗨,Claudio,

PayloadZipBean将不起作用,因为PI发件人文件适配器将一个接一个地拾取所有文件。 并创建多个XI消息。

因此,适配器模块一次将仅压缩一个文件。
如果您可以将PI文件系统中的源文件系统设置为NFS,则可以尝试以下操作 -

1。 请您的源系统放置一个虚拟文件-Complete.trg,如我之前的文章中所述。 这将表示所有文件都已加载。

2。 创建一个ICO-这是您的第一个,并且可以是"文件到文件"虚拟方案,在这种情况下,您可以选择Complete.trg文件,并将其放置在带有时间戳的同一源目录中。 在这种情况下,您可以在接收器适配器中调用脚本来压缩所有源文件。 并创建一个.zip文件。

3。 创建另一个ICO,在该ICO中,您将提取从第一种情况创建的zip文件。

您可以使用下面的shell脚本对源文件进行压缩,并在压缩后删除源文件。

p>

您可以将此Shell脚本放在NFS源目录中,并在第一个ICO的接收方通道中为文件路径名提供参数。

如果源目录名是-abc/123/ZipFiles

,然后将所有文件压缩到ZipFiles_ .zip

 #!/bin/bash
 出口目录= $ 1
 dattm ="`date +%Y%m%d%H%M%S`"
 export zipnm =" $(基本名称$ 1)" _
 zip -rj $ zipnm $ dattm.zip -x * .zip $ dir
 shopt -s extglob
 rm-!(*。zip)

谢谢

Sugata

一周热门 更多>