BPC嵌入版-可输入报表的缓存数据(嵌入式的数据库是什么区块数据管理工具)
各位好久不见!由于最近搬砖太卖力,实在没时间更新,以后改为不定期更新了。言归正传,进入正题。
可输入报表如果缓存里有数据,在保存之前,如果刷新报表(或者点击筛选界面),SAP默认是保留的,如下例子所示,
首先我们在新行里输入了数据,
这时候我们点筛选界面的按钮,
然后我们即使点取消,注意这条数据也会变成灰色,即被写入缓存,这时候即使我们修改这条数据,保存的数据也是原来缓存里边的旧数据。这样就容易写入错误数据。
SAP可能也发现了这个问题,所以发布了下面这个note,通过使用AnalysisOffice的参数IgnoreNewLineValuesOnRefresh来控制是否写入缓存,不过我们发现这个参数在参数UseNewlinesLegacyMode是X的时候不起作用。个人理解UseNewlinesLegacyMode这个参数,是BW后台版本比较旧,前台AnalysisOffice比较新的时候使用的,新版本的BW不推荐使用,这个一定注意,否则一些新功能都不能使用。
3139225 - Setting for disabling the Transfer of New Line Values during Refresh
但这个场景上线时间紧迫,修改这个参数后果比较严重,需要重新测试,所以只能想别的办法了,最后各种尝试,在Query变量的代码里加了以下代码,当用户点筛选界面的时候就清掉缓存。
CALL FUNCTION BICS_CONS_DATA_AREA_COMMAND EXPORTING I_APPLICATION_HANDLE = 0001 I_DATA_AREA = DEFAULT I_COMMAND = RESET.怎么样?不试一试吗?如有遗漏,敬请指正。
欢迎关注淘宝小店下载最新SAP资料:
搜索 SAP在线培训 → 店铺