段及字段过滤
我们也许会遇到这样的业务场景:在一个中央Client中对物料主数据进行维护,然后分发到不同的系统中去。但在分发过程中,目标系统物料主数据中的某些值并不打算被更新。 对于这样的业务场景,上面所提到的Distribution model过滤器就无法胜任了。那么又如何解决此问题呢? 答案就是通过消息类型来对段及字段进行过滤。
第一步 创建自定义消息类型
T-code:BD53
输入新的消息类型,点创建
输入此新类型从何处参照而来,这里输的是MATMAS,确定
输入描述,确定
输入描述,确定 这时会出现基于MATMAS下的IDoc数据结构树,其中绿色表示的是必须的字段,而红色表示的是可选的字段。双击E1MARAM
假如我只想每次更新毛重和净重的值,而其它的值不修改目标系统的值,从弹出窗口列表我选择了BRGEW和NTGEW,点Select再确定(请注意这个操作),然后保存
第二步 创建物料及发送
T-code:MM01
创建一个新的物料,分别维护了毛重、净重和容量的值,保存
发送
在810中可以看到这个物料的对应值都被传送过来了
第三步 修改Partner profile
T-code:WE20
选逻辑系统IDSCLNT810,在Outbound参数表中,将MATMAS删除,并点添加按钮
消息类型这次选的是新建的那个,其它保持不变,保存
第四步 分发Distribution model
T-code:BD64
选定Distribution Model下的信息类型,点删除
Edit -> Add message type
这次选上我们新建的信息类型,确定
分发Distribution model并重新生成partner profile
第五步 修改目的端Partner profile
到810端重新生成partner profile后,
T-code:WE20
选择IDSCLNT800,修改Inbound的参数为新的信息类型,并双击此信息类型
将Process code改为MATM,保存
第六步 测试
在800端,T-code:MM02
修改物料DEMO004,毛重改为400,净重改为300,而容量改为10,保存
T-code:BD10
发送数据,信息类型选为新建的,执行
再到810,T-code:MM03
看到的值中,毛重和净重已经改变而容量不变