汇总报表\合并表罗列全部下级保存报错

问题描述:
排查汇总表\合并表按罗列全部下级计算后,保存出现以下中断信息的情形:
错误详细堆栈信息:com.kingdee.bos.SQLDataException: null Caused exception message is: ORA-01400: 无法将 NULL 插入 ("CHUANHUA"."T_CSL_DYNAITEMDATAENTRY"."FKEYNAME") at com.kingdee.eas.fi.gr.cslrpt.app.ItemDataProviderControllerBean.saveData(ItemDataProviderControllerBean.java:2524) at com.kingdee.eas.fi.gr.cslrpt.app.ItemDataProviderControllerBean._saveDynaItemData(ItemDataProviderControllerBean.java:2214) at com.kingdee.eas.fi.gr.cslrpt.app.AbstractItemDataProviderControllerBean.saveDynaItemData(AbstractItemDataProviderControllerBean.java:218) at sun.reflect.GeneratedMethodAccessor7141.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
解决方案:
排查方法:
1、点开计算向导,将计算方式换成按名称计算,观察报表中每一个基准点的罗列项单元格,看哪一个单元格没有罗列项。
2、在罗列项为空的行,选一个有数的单元格,将对应报表项目拷贝到以下sql的where条件中替换报表项目和取数类型,其他条件根据当前报表记性替换过滤,
SELECT distinct de.FKeyNumber,de.FKeyName, de.* FROM t_csl_dynaitemdataentry de INNER JOIN t_csl_dynaitemdata d ON de.FItemDataID = d.FID inner join t_csl_rptreceived receive on d.FReportId = receive.FReportId inner join t_csl_cslreport r on d.FReportID = r.FId WHERE (
1=1
AND d.FDataCollectNumber = 'ACTUALDATA'
AND d.FCurrencyID = 'dfd38d11-00fd-1000-e000-1ebdc0a8100dDEB58FDC' –替换币别
AND de.FItemID = 'SW1-03' –替换报表项目
-AND de.FDataElement = 4 –替换取数类型
AND
汇总报表\合并表罗列全部下级保存报错
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。



