多重映射拆分序列号生成问题

2020-08-23 22:55发布

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

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


亲爱的

我在多重映射中有一个分裂,在该映射中,我会根据某些条件生成多个目标文件。 假设我有Message1,Message2,Message3。 我必须在输出文件名中生成一个序列号。 我试图在UDF中创建它,但是运行时为所有三个消息生成了相同的序列号,这对目标应用程序造成了麻烦。 如何为拆分方案中的每个消息生成重置计数器?

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

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


亲爱的

我在多重映射中有一个分裂,在该映射中,我会根据某些条件生成多个目标文件。 假设我有Message1,Message2,Message3。 我必须在输出文件名中生成一个序列号。 我试图在UDF中创建它,但是运行时为所有三个消息生成了相同的序列号,这对目标应用程序造成了麻烦。 如何为拆分方案中的每个消息生成重置计数器?

付费偷看设置
发送
6条回答
哎,真难
1楼 · 2020-08-23 23:19.采纳回答

我编写了适配器模块来将文件名固定在通道级别。

Cikesha
2楼-- · 2020-08-23 23:24

我的场景是"文件到文件",在该文件中,我会收到XML并根据某些条件添加到多个文件中。 目标SFTP服务器有3种不同的网络消息类型。 每个输出文件都需要唯一序列号。 结构如下。

目标:

<消息>

-------

-------

-------

-------

-------

-------

当我生成目标文件时,在尝试使用UDF或索引或计数器函数时,所有三个文件都共享唯一编号。

spaceman01
3楼-- · 2020-08-23 23:18

索引功能( https://wiki.scn.sap.com/wiki/display/XI/Graphical+Mapping+-Standard+functions ),然后将其输入到ASMA中以生成文件名将无济于事?

我认为索引可以正常工作,因为消息1-3将被拆分为"节点"

另一种解决方案可以是(RFC)查找,以从PI系统(如果是双栈)或从合适的后端中提取一个数字。 但是,这可能是使用大锤来满足您的要求的(性能可能会下降,具体取决于您需要从后端绘制新数字的频率)。

干杯

Jens

派大星 ヾ
4楼-- · 2020-08-23 23:17

我尝试使用索引函数,但是在运行映射时,所有3条消息的索引值都相同。 我希望每封邮件都使用不同的值。

索引功能的问题再次相同。 除了执行消息外,它不会起作用。 因此,一个输入消息生成的多个目标消息将具有计数器,但下一条消息将再次从初始值开始。

我需要在整个消息执行过程中增加价值。

野沐沐
5楼-- · 2020-08-23 23:29

如果您需要一些持久性(请参阅您的评论此处),如您所建议的那样,您可能希望通过(RFC)查找来查看ABAP协议栈中的后续数字范围

  1. < li> B2B附加号码范围对象请参见 https://help.sap.com /viewer/22e34f550ba84f20b35b7652ba94ef9c/1.0.5/en-US/c8bb03c8626745f584351d7abc2c81ae.html
  2. 使用"全局变量"请参见 https://answers.sap.com/questions/1350758/sequence-number-in-xi-mapping.html
  3. 这可以归结为您的要求。 如果您需要一个相当稳定的顺序编号,但又不太在意服务器重启时是否会重置,请查看选项3。如果您具有B2B Add On(例如,在PO License中),请查看选项2,否则请查看选项 1。

    顺便说一句,我很肯定,除了这三个选项之外,还有其他解决方案,所以YMMV

    干杯

    Jens

歪着头看世界
6楼-- · 2020-08-23 23:13

为什么不将该注释转换为答案/创建新答案并将其标记为正确。 甚至最好给出一些简短的理由,说明为什么要走这样的道路以及取得的成就。 这将提高社区价值。 干杯

詹斯

编辑:我看到您已经创建了答案。 但是,如果您能提供推理和实现结果的方式,那将是很好的:-)

一周热门 更多>