目的
主数据对象的变化由SMD工具来管理,SMD工具可以将主数据的变化分发到别的体统。SMD工具根据信息变化的内容和时间将变化的信息收集起来,首先,如果通过操作不同的SAP事务代码,而使主数据发生了多个变化,并且这些变化信息存储在多个表中,SMD会将所有变化整合成主数据对象的一个单一变化,其次,如果主数据接连发生变化,SMD工具也会将所有变化整合成主数据对象的一个单一变化,并分发这个单一变化。
SMD工具与变更文档接口相连接,如果主数据变更信息被分发,程序就会在变更文档中写值。这些内容都会传给SMD工具,SMD工具将变化写入指针,读取数据,并且创建主IDoc。
主IDoc于是被传输到ALE层,进一步传输到目标系统。
如果想使用SMD工具来分发主数据变更,则需要将主数据对象的变更信息用变更指针来标记,以此来分发到别的系统。
变更指针表(BDCP和BDCPS)应该尽可能的小,并且使用较少的变更指针,当你不再需要的时候,就把变更指针删除。
前提
确保已经创建变更指针
如果你在SAP中修改了物料或者供应商主数据等.系统会在变更指针表(BDCP,BDCPS)中创建项目
有时可能需要在变更指针表(BDCP,BDCPS)中手动创建项目,系统标准函数就可以达到此目的,查看函数组BD01中的函数,例如:CHANGE_POINTERS_READ, CHANGE_POINTERS_DELETE, CHANGE_POINTERS_CREATE等
活动
保持变更指针尽可能小的检查项:
- 是否真的需要变更指针?
需要变更指针并使用ALE/SMD工具来分发变化,如果你不需要使用该工具,则不需要写入变更指针;
可取消激活变更指针,或者使用BD61重新激活;
- 是否真的需要为此类消息类型激活变更指针?
如果一些消息类型不需要使用变更指针来分发,则可以使用(BD50)对这种消息类型取消激活变更指针,也可以重新激活
激活后,检查表TBDA2 :查看消息类型的字段'BDCP2_ACT'是否有'X'标记,X表示变更指针可以记录在表BDCP2中.
事物码:BD52,可以维护变更指针创建时,所需对照的字段
- 是否有太多的变更指针需要处理?
在变更指针表(BDCP,BDCPS)中创建项目后,可使用程序RBDMIDOC,来收集变更指针,并标记为已处理,在IDOCs创建后,进行处理,也就是将变化信息分发到别的系统.
在IDOCs创建后,变更指针的生命周期已经结束了.basis人员会删除表中所有标记为已处理的变更指针
如果变更指针是周期性建立的,则RBDMIDOC也需要周期性运行
- 不再需要的变更指针是否要重新组织?
程序RBDCPCLR(BD22)用来重新组织变更指针,根据多少变更指针被创建和需要处理,这个程序应该按照计划后台执行,可以使每小时,每天或者每周,你应该删除所有过期的指针,也可以使用这个程序来指明消息类型
- 根据特殊条件来限制变更指针的生成?
BDCP_BEFORE_WRITE
这个BADI会在变更指针生成之前被调用,如果你想根据某些条件来生成变更指针,来实例化该BADI。例如:根据消息类型(MATMAS)作为过滤条件来实例化该BADI