这两天发现了一个不得了的事,SAP BW标准总帐行项目数据源0FI_GL_40存在跨年抽数的BUG,限制条件【财政年/阶段】假如经过ABAP变量或者手工限定跨年条件,将没法正常抽数,好比限定条件是2013.012~2014.001,那么,他并不会直接抽取这个区间的会计行项目数据,而是把全部的行项目(到今天为止)的数据都抽了上来,奇怪的是,若是限定条件不跨年,就能够正常抽取两个会计期间的数据。苦逼的我,让处理链自动跑了三天(1月1号、1月2号、1月3号),第三天就出错了,因而就到RSPCM看看怎么回事,跟Basicis沟通后发现数据库硬盘空间已经满了,而后我查了这三天的请求数据包大小,天天都大于1000W的数据量,泥玛真心悲剧,平时最多也就10W+吧,何况新年刚到,1月份也不可能有这么大的数据量,首先能够肯定BW这边是没有问题的了,那么,会不会是ECC的问题呢?数据库
因而到ECC去查看,经过RSA3模拟抽取发现,这个问题跟BW那边同样,那么基本上能够肯定这个标准数据源存在BUG了,经过RSO2查看到标准数据源0FI_GL_40的提取函数以后,到SE37直接看函数源代码,查找这个【财政年/阶段】的来源,无奈没有找到,但数据是从BSEG表里面来的,那么其余问题就有等研究了。函数
基于上面的问题,解决方案就比较明了了,下面是我本身想出的解决方法:spa
1.新建两个BW信息包(InfoPackage),分别对限制条件【财政年/阶段】作本月及上月的限定,在处理链上同时跑两个信息包,这样能够保证绝对不会跨年在一个信息包执行请求时报错。ci
2.修改原有信息包限制条件【财政年/阶段】的ABAP代码,对于跨年的条件,只抽取上一月份数据。变量
3.请求SAP官方解决,利用Sap MaketPlace帐号发个Note,请求解决。请求
4.找出限制条件【财政年/阶段】的源代码处理过程,修改(不推荐,太多未知因素了)。方法