BW 源/目标模型主键不一样,增量的作用

最近项目上,做了一个复杂的需求逻辑,源模型到目标模型,主键完全发生了变化。用转换的传统功能,我担心处理起来不方便就使用了专家历程(这个说明在之前有说过)。
项目上线后,发生很多异常事件。但是目标模型的记录条目数基本没问题,为什么?----增量DTP没做任何限制
类似这种功能若使用以前传统方式的TR,一定会出现记录没进行reverse。因为很多人会让系统根据我们的拉线进行处理。但是我以前做过测试,如果主键发生了变化(源模型和目标模型的主键不一样),系统不一定能进行reverse操作。这时候需要我们自己根据实际的逻辑,进行reverse和更新。

1 增量DTP不能有任何的限制,很重要,很重要,很重要。为什么?


前影像里带着之前记录的值,这个可以帮助我们找到之前的主键。不然,如果正好是目标模型对应的主键字段发生变化,我们正好又进行了delete操作,看似减少了数据量加快了运行速度。但是这样很可能会造成之前要进行reverse的记录,无法进行reverse

2 如何进行reverse操作?


2.1 对于简单逻辑,主键字段没进行过任何加工,既没有发生过变化,可以直接将前影像修改为R,进行reverse
2.2 对于复杂逻辑,主键字段进行过任何加工,一定要根据某些不变化的字段(如凭证号,流水号),来确定这次修复数据的集合,再在目标模型找出相同范围的记录进行对比,不在此次修改的集合里就要进行reverse

这次项目上线前一周,逻辑修改非常多,基本一天要改几个逻辑。如果再出现记录没有同步reverse,那异常情况更复杂。还好开发前就设计好了这个功能,减少了很多工作量。加上这次使用OO对象编程,很多逻辑独立成一个method,修改逻辑非常方便,代码层次结构也比之前的TR更容易理解。只是再好架构也抵挡不住用户天马行空的逻辑要求!!!

你可能感兴趣的:(BW,ABAP,数据库)