ODS无法向另外一个ODS做Delta

来源:互联网 发布:c语言课程讲解 编辑:程序博客网 时间:2024/05/14 05:53

症状:ODS无法向另外一个ODS做Delta
 异常:Runtime Error          RAISE_EXCEPTION
 信息:Exception condition "NOT_EXIST" raised
 分析:Error analysis
    A RAISE statement in the program "SAPLRSSM" raised the exception
    condition "NOT_EXIST".
    Since the exception was not intercepted by a superior program
    in the hierarchy, processing was terminated.


  Short description of exception condition:
    For detailed documentation of the exception condition, use
    Transaction SE37 (Function Library). You can take the called
    function module from the display of active calls.

 实际处理过程:

按照系统的提示,它一般会叫你通知管理员去处理,所以自己动手吧。
1. 查看系统 Monitor----》Details
      显示数据发出正常,但是接收没有数据
2. 在ABAP异常的情况下,Monitor的Status部分会出现Short Dump Overview,点击进去看看异常情况
3. 通过异常判断是否是简单的ABAP异常,如果不是,那么将异常信息贴到SDN,看看有没有相似的问题
4. SDN有相似问题,但是往往解答五花八门,所以选择方案一定要慎重,不要来一个试一个,往往会适得其反。
5. 提示使用Program:ZDMDELTAREPAIR进行修复,看了一下原代码,这个是修复第一笔有问题的处理,而我们是已经有很多数据了,所以行不同,不过通过此程序发现了两个非常重要的表:即Delta控制表rsdmdelta和rsbodslogstate,这两个表储存的信息分别为:

rsdmdelta:Data Mart Delta Management
      ICNAMEInfoCubeRLOGSYSSource system of the receiverPARTIDRequest IDDMCOUNTInternal number of the request containing the requestREQUESTRequest no. of request containing the request

这个表存储的是进入此ODS的Request,以及激活之后的Request,注意这里的最后一笔会和另一个表有重大关系

rsbodslogstate:Changelog Status for ODS Object

ODSOBJECTODS ObjectDELTAINADataMart delta update statusACTIVEMax. Delta Slice in Change LogPROCESSED_ALLMax. delta slice that was extracted by all receiversPROCESSED_ONEMax. delta slice extracted until nowCOMPR_ODSDelta slice up to which compression has taken placeODSVERSIONActive version of the Operational Data Store

这里要对栏位进行说明一下:
Active:激活后的最后一笔Request ID,在ODS的Management里面可以看到,
Process_ALL:已Delta的最后一笔RequestID
Process_ONE:已Delta的最先一笔的ResutID

6.通过核对,我们发现这两个表的数据不一致,按道理,目前此ODS的最后一笔也是我们导入到其他DataTarget的最后一笔,而实际上,表中显示的数据他们是不一致的,通过查询Monitor我们发现,在表rsdmdelta里面存的最后一笔Detal到其他地方的Request,已经被我们删除了,所以表rsbodslogstate中存的信息就和之前提到的表的信息不一致,所以我们的处理方法为,删掉rsdmdelta中的Request ID大于ODS中最大的Request ID,并且修改rsbodslogstate里面的数据将所有的值都按照我们之前的说明进行维护
7. 重新导入,系统导入正常了。

原创粉丝点击