云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

消息队列_学习数据库_免费1年

小七 141 0

亲爱的各位,服务器,

经过这些天,这是我在SAP社区的第一个博客。

业务要求

在SAP PI中将一个平面文件拆分为多个XML,条件是生成的XML需要有预定义的行项目计数。

解决方案

我们确实有将平面文件拆分为多个文件的博客(不使用BPM)。在这个博客中,我将解释将一个平面文件(包含头文件、行项目和尾文件)拆分为多个XML文件所涉及的映射逻辑,其中每个目标文件都应根据用户需求具有特定的行项目计数。

我没有解释整个端到端场景,但只有映射部分。

考虑下面的csv文件,南昌大数据,它有一个标题、15行项目(在本例中)和一个尾部。假设目标XML文件最多需要5行项目(该值将是动态的)。因此,购物返利,在这种情况下,我们需要将文件拆分为3个XML。

输入CSV文件

对于字段名称,请参阅PI结构的快照。

预期目标XML

这里的行项目计数是每XML 5个

PI结构

除了发送方结构中的关键字段之外,返利app怎么用,发送方和接收方结构都将看起来相似。需要在发送方文件通道中启用FCC。

请确保目标消息的出现在消息映射的"签名"选项卡下设置为0..unbounded。

另外,需要在"签名"选项卡中维护一个参数—以指示每个拆分文件中要显示的行项目计数。

映射逻辑

MM中使用了两个自定义项,

分割消息–处理标题和尾随记录。

分割行项目–处理行项目记录。

分割消息自定义项

接受三个输入并产生一个输出。

计数项目–指定输入XML中的行项目总数。

输入值–指定相应的输入值(随时间变化)关于字段)

N–此值来自参数化映射(参数:行\项\否)–指示每个目标XML文件中要存在多少行项目。

一个输出(结果)。

分割行\项UDF

参数与上述UDF类似。

MT \ U接收器

如前所述,UDF有三个输入,第一个是源端行项目的计数,物联网是什么,第二个是常量[CC],第三个是映射签名中维护的参数。第二个参数将根据UDF逻辑在输出端生成。这里只关心UDF结果的上下文变化和发生,而不关心其值。您可以对结果使用显示队列

头和尾节点

头和尾节点的映射逻辑相似。

头和尾字段

头和尾字段的映射方式相似。标题中的键对应于银行名称,而对于拖车,键是TRL。只有自定义项的第二个参数会根据目标字段而改变。

行项目节点

映射逻辑会有所不同,以生成行项目节点。

行项目字段

行项目的所有字段都一一映射。键对应于IFSC\ U代码。

我们已完成映射。请完成端到端的设计和配置。

FCC在发送方文件通道

然后将输入文件放在源目录中,您可以看到文件在目标目录中被拆分。您还可以使用counter选项生成带有序列号的目标文件。

使用此方法,我们可以将平面文件动态拆分为任意数量的XML文件。