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

栏目:eas cloud知识作者:金蝶来源:金蝶云社区发布:2024-09-22浏览:1

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

问题描述:

排查汇总表\合并表按罗列全部下级计算后,保存出现以下中断信息的情形:
错误详细堆栈信息: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 de.FValueType = 3 –替换报表类型

AND de.FYear = 2021 –替换年

AND de.FPeriod = 1 –替换期间

AND ( receive.FOrgTreeID = 'WgUQzaO2T+KOvUu3+EnxpU8oJ/0=' –替换合并范围id

AND d.FOrgUnitID IN ('ssVzhCuqY4ngUxYDZApnnMznrtQ=','ssVzhCusY4ngUxYDZApnnMznrtQ=','ssVzhCucY4ngUxYDZApnnMznrtQ=','ssVzhCuVY4ngUxYDZApnnMznrtQ=','ssVzhCuJY4ngUxYDZApnnMznrtQ=','ssVzhCupY4ngUxYDZApnnMznrtQ=','ssVzhCudY4ngUxYDZApnnMznrtQ=','ssVzhCurY4ngUxYDZApnnMznrtQ=') and r.FSourceType in(10,11) –替换in中合并单元id

AND d.FCommitStatus = 3 ))

order by de.FKeyName

 

3、在查询分析器中执行上面的sql,观察FKeyNumber,FKeyName这两列,看哪一个出现一个FKeyName对应两个FKeyNumber,通过sql中其他字段值,找出对应报表,看报表中基准点列哪个值和FKeyName相等,然后看对应行的项目公式中的罗列项编码是否正确,找到不正确的将报表打回重填对应罗列项,然后重新保存上报。


附:目前出现该问题的公司,大多因为上报了相同的罗列项导致;例如,AB公司都上报了罗列项名称为“建设银行”的罗列项,在汇总报表展示时为【A】建设银行、【B】建设银行。此类汇总报表保存也会出现如上报错,建议打回 出现相同罗列项的个报,修改罗列项名称后,重新上报。


此类问题,在8.2/8.5/8.6版本中的体现为保存汇总报表报错;

在8.1版本中的提现为,上级合并单元的汇总报表无法取到下级合并单元汇总报表上报数。原因即下级汇总报表出现相同罗列项。

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

问题描述:排查汇总表\合并表按罗列全部下级计算后,保存出现以下中断信息的情形: 错误详细堆栈信息:com.kingdee.bos.SQLDataException:...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息