ODQMON里会有个复合请求,还有个抽取请求。
这俩有什么区别?
SAP给的解释是,一个复合请求可以包含多个抽取请求。
一个复合请求负责给一个subscritpion的多个queue来传输数据。
一个抽取请求只是把一个queue的数据从提供者传到queue的存储空间上。
如果数据是用的Push的delta方式,也就是后勤数据源增量,那么这个复合请求不包含抽取请求。
那么这个复合请求的那么多状态是什么意思?
到表ODQREQ里头看一下去。
?
状态有这么多个。SAP给的解释如下:
我观察了一下,BW那边抽取开始的时候,请求是extraction_successful小绿勾上有齿轮,等抽取完成confirmed的状态,也就是个小绿勾。
不过看起来confirmed是个中间状态,从confirmed可以转成confirmed and flagged for deletion.也就是说抽取完了,可以被ODQ-Cleanup了。这个时候也就是这个cleanup的job在运行。这个job结束,请求也就是会被delete掉了。那么一般情况下,你是看不到这个状态的,因为后台清理很快。
?
这次由于ERP系统内存不足,我们出现了很多的红叉叉,肯定是先抽取失败,然后转变成红叉叉。?
这种的我们重新触发处理链就解决了,没有重新初始化,不晓得是不是因为我们的DTP是这样的:
问了好几个朋友,人家的deltaDTP 都没有勾无数据的初始化,不过我们的这个勾了,没有影响delta抽取,以后有空再来研究这个了。
还有一种极端情况,一直是extraction running的状态:
那它就是不会被ODQ_CLEANUP这个job给清除掉,这种情况下要去表里把这个状态给改掉。
复合请求:ODQREQ-STATUS_ICON
抽取请求:ODQREQQUE-STATUS_ICON
去这两个表里,把状态改成confirmed。
用debug模式改,或者用report去改。
还有一个关于抽取失败的问题,来不及写了。2190229 - ODP: Confirmation of Composite request (SODQ313) - SAP for Me
?