问题1:数据集查询页签写脚本,使用方言,哪怕最简单的一个脚本都会报错。
com.kingdee.eas.rpts.ctrlsqldesign.exception.CtrlReportException: 保存成功,但生成输出字段失败,将不能在报表引入该数据集
执行SQL失败
innerGetRowSet() occur error,The RealPageQuery sql is:/*dialect*/
SELECT FNUMBER,FNAME_L2 FROM T_BD_MATERIAL limit 0 LIMIT 0 offset 0
Caused exception message is: ERROR: syntax error at or near "LIMIT"
Position: 53 [Client -- String Serialize]
at com.kingdee.eas.rpts.ctrlsqldesign.exception.CtrlReportException.makeSameException(CtrlReportException.java:66)
问题2:数据集脚本有order by排序脚本时,保存数据集报错
Caused by: com.kingdee.bos.SQLDataException: innerGetRowSet() occur error,The RealPageQuery sql is:/*dialect*/SELECT * FROM (select *,row_number()over(order by tempcolumn)temprownumber FROM (SELECT
…………………………
WHERE "CT_RPT_RptBaseData".CFIsEnable = 1
AND "CT_RPT_RptDataFill".CFIsFinal = 1
AND "CT_RPT_RptDataFill".CFBillState = '1Audited'
AND "T_BD_Period".FID='j3PRgcemRJa1soSpTBDvLYI4jEw=' and bu.FEnglishName='国贸地产' and "T_ORG_Company".Fcode is not null
order by "T_ORG_Company".Fcode,"T_ORG_Company".fcreatetime) AS T1 ) AS T2 ) AS T3 where temprownumber>0
问题3:自定义sql场景下,使用union all编写的sql保存报错,无法在报表中引用。
sql数据集查询脚本:
SELECT
t1.fnumber salenumber
FROM t_sd_saleorder t1
UNION ALL
SELECT t1.fnumber salenumber
FROM t_sd_saleorder t1
报错:
Caused by: com.kingdee.bos.SQLDataException: innerGetRowSet() occur error,The RealPageQuery sql is:/*dialect*/(SELECT t1.fnumber AS salenumber FROM t_sd_saleorder t1 LIMIT 0) UNION ALL (SELECT t1.fnumber AS salenumber FROM t_sd_saleorder t1 LIMIT 0 offset 0
Caused exception message is: ERROR: syntax error at end of input
Position: 149 [Client -- String Serialize]
at com.kingdee.bos.dao.query.server.QueryDataAccess.getRowSetForRealPage(QueryDataAccess.java:2595)
at rpc_generate._PROXY_com_1_kingdee_1_bos_1_dao_1_query_1_server_1_IQueryDataAccess.pi29(Unknown Source)
at rpc_generate._PROXY_com_1_kingdee_1_bos_1_dao_1_query_1_server_1_IQueryDataAccess.processInvoke(Unknown Source)
问题4:编辑参数报中断错误,按ctrl+e查看错误详情,如下:
错误信息:com.kingdee.bos.BOSException: Sql execute exception : SELECT FCONTENT FROM T_EXT_MACRO_CONTENT WHERE FMACROID=? AND FTYPE=? ORDER BY FINDEX ASC
Caused exception message is: Invalid arguments: position cannot be less that 1
错误详细堆栈信息:com.kingdee.eas.rpts.ctrlreport.macro.exception.MacroDesignException: com.kingdee.bos.BOSException: Sql execute exception : SELECT FCONTENT FROM T_EXT_MACRO_CONTENT WHERE FMACROID=? AND FTYPE=? ORDER BY FINDEX ASC
Caused exception message is: Invalid arguments: position cannot be less that 1
at: com.kingdee.eas.rpts.ctrlreport.macro.exception.MacroDesignException.newFailed2QueryMacroException(MacroDesignException.java:62)
这种情况下,在查询分析器中执行脚本 SELECT * FROM T_EXT_MACRO_CONTENT都会报错。
经分析,是现场新建了宏定义,但是宏的描述为空(字段nullable为true),这种情况下再次查询宏列表会报错。
----------------------------------------------------
上面4个问题都已经发补丁修复了,对应补丁号:
问题1、问题2:BOS运行引擎最新补丁 PT167337(发布日期:2022-08-12)
问题3:扩展报表领域的补丁 PT167299(发布日期:2022-08-19)
请更新补丁。
推荐阅读