预算编制平台在打开预算表提示执行后台事务
金蝶云社区-hua_yang
hua_yang
1人赞赏了该文章 10993次浏览 未经作者许可,禁止转载编辑于2015年06月04日 11:36:14

预算编制平台在打开预算表的时候提示执行后台事务,该问题是基础资料在同步到预算数据表后再进行修改后导致,目前分析的原因有以下几点:
1、基础资料新增后,后台数据没有同步到预算系统
2、基础资料的编码及长编码不匹配导致(编码或者长编码中存在空格
3、数据同步后修改过基础资料的上下级关系


如果出现以上问题请更新预算编制平台补丁:PT096441、PT096442、PT096443、PT096444、PT096445 后查看服务端日志,在日志中系统会有下面的提示信息:
2015-06-03 14:32:58 INFO [con.out] dimension olapQuery Error!
2015-06-03 14:32:58 INFO [con.out] com.kingdee.bos.streamwork.cuba.CUBAException: can't find `DIMF2`.`Exp:FY01`.`Exp:FY01.01 ` in cube BudgetCube

这里就可以看到系统提示在预算进行聚合的过程中查找不到该项目Exp:FY01.01


解决方案1:在“后台事务”-> "后台事务定义表" -> 执行“预算多维基础数据检查事务";如果执行成功则该问题就可以解决没有同步的问题,如果后台事务执行失败则将错误同步提单给我们分析处理。


解决方案2:如果在执行成功后台事务后还是提示“项目不存在,请执行后台事务”则可能是同步的数据存在问题需要进行检查,根据日志的信息
`DIMF2`.`Exp:FY01`.`Exp:FY01.01 ` 则可以判断是指标分组的项目出现问题(DIMF2表示是F2的维度) ,然后查询预算的同步基础资料的事实表进行查询分析 预算指标的事实表名T_MBG_DBgIndex_Fact


通过 select * from T_MBG_DBgIndex_Fact where FDimNumber like '%Exp:FY01.01%'; 查询事实表的数据,检查FNumber, FDimNumber, FLongNumber, FParentNumber这四列的数据是否正确。比如:Exp:FY01.01正确的数据应该如下:


FDimSrc FNumber FDimNumber FLongNumber FParentNumber
Exp FY01.01 Exp:FY01.01 Exp:FY01!Exp:FY01.01 Exp:FY01


在我们的检查过程中发现事实表中的长编码 "Exp:FY01!Exp:FY01.01 " 后面多了一个空格导致在数据处理时不正确,同时去基础资料中检查发现原始数据中的长编码也是错误的,因此产生的数据错误,后台将长编码中的空格去掉,然后重启服务器就正常了(数据有缓存)。


备注:如果是DMPF2之外的维度则需要查询T_MBG_DIM维度表,找到对应的维度编码来查询对应的维度事实表。
select FNumber from T_MBG_DIM where FRefField = 'F7' -- 例如是DIMF7


这里查询出来的是BG_Customer(客户维度),客户维度对应的事实表名是 T_MBG_D + 'BgCustomer' + _Fact -- 这里的编码编码删除空格
select * from T_MBG_DBgCustomer_Fact


如果还有其它原因,后继后继续分析并且补充该文档

--------------------------------------------------------------------------------------------------------------------------------------------
修订:补充一种场景,系统没有发布多维数据检查的事务,导致后台没有生成基础资料的事实表,也会提示执行后台事务。