IDOC change point enhancement

时间:2022-10-14 19:55:06

SAP中实现分布式的一个机制就是ALE/IDoc,而在具体一点就是change point。

这里就以物料主数据为例

IDOC basic type

IDOC change point enhancement

Message type

IDOC change point enhancement

Change point是用来分发主数据的。主要有两种实现方式,一种是直接方式,另外一种是通过SMD tool(shared data master tool)来实现。

  

物料主数据那么多字段,是修改任意一个字段都需要发送吗?

这里可以配置那些字段修改触发 change point

BD52:

IDOC change point enhancement


这块完整的配置流程我自己没有配过,有兴趣和时间的自己研究下即可。


下面说一个增强。

场景是这样的,MM02 修改主数据,比如描述,会触发change point发送idoc


后来想加一个 storage bin字段。如果这个字段修改了,就触发idoc。

现在是想不修改这个字段,修改别的字段的时候也把这个值带过去。

(修改什么字段会触发idoc以及带哪些字段过去可以回头研究下那个basic type 和segment)


或者自定义的segment之类的,如果也想一起发送过去,可以考虑下面的增强。


下面说下增强位置:

出口MGV00001

IDOC change point enhancement

IDOC change point enhancement



调用的位置在这里 

MASTERIDOC_CREATE_MATMAS

IDOC change point enhancement


可以控制的message type, segment name等。


他是有一些change check的点儿。如果修改了,就进一次这个函数。具体看下MASTERIDOC_CREATE_MATMAS代码就一目了然了。


最后所有的check点儿都完了,会最后进入一次这个出口函数。

此时,参数segment name是空。 Idoc_data[]应该是非空。这个可以作为一个判断条件。当然可以根据项目具体情况来综合判断。


在这里面把需要的segment赋值,然后append到 IDOC_DATA 即可。