起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 12720|回复: 10

[结贴] ksql中日期转换函数报错

[复制链接]

1

主题

5

帖子

27

积分

新手上路

Rank: 1

积分
27
QQ
发表于 2013-11-11 10:44:23 | 显示全部楼层 |阅读模式
版本: X5.2.6 小版本号:
数据库: MySQL 服务器操作系统: Windows 应用服务器: Tomcat
客户端操作系统: Windows 7 浏览器: Chrome
本帖最后由 liangfuting 于 2013-11-11 12:38 编辑

我自定义一个KSQL查询语句源代码如下:
select X5_FYSQ,X5_FYSQ.version as version,X5_FYSQ.fSQBM as fSQBM,X5_FYSQ.fSQR as fSQR,X5_FYSQ.fJE as fJE,X5_FYSQ.fSQSJ as fSQSJ,X5_FYSQ.fYT as fYT,X5_FYSQ.fSFXYSJPZ as fSFXYSJPZ
    from X5_FYSQ X5_FYSQ
    where X5_FYSQ.fSQSJ >= :firstDateOfMonth( :toDate( :p)) AND X5_FYSQ.fSQSJ <= :lastDateOfMonth( :toDate( :p))

变量P是从前面页面传入的字符串,前面JS内容如下:
var ksqlReport = {};

ksqlReport.refresh = function(event){
        var pName = document.getElementById('pName').value;        
        justep.xbl('ds1').setStringVar('p', pName);
        justep.xbl('gridReport').refresh();
};

需要完成的功能是输入一个日期,查询当月的费用申请数据
前台页面调用截图:

前台

前台

可每次执行时,都会报firstDateOfMonth  和toDate函数出错,请大神解决。


出错信息如下:Caused by: com.justep.exception.BusinessException: 编码: JUSTEP150210; 提示: 执行KSQL出错, KSQL: select X5_FYSQ,X5_FYSQ.version as version,X5_FYSQ.fSQBM as fSQBM,X5_FYSQ.fSQR as fSQR,X5_FYSQ.fJE as fJE,X5_FYSQ.fSQSJ as fSQSJ,X5_FYSQ.fYT as fYT,X5_FYSQ.fSFXYSJPZ as fSFXYSJPZ from X5_FYSQ X5_FYSQ where X5_FYSQ.fSQSJ >= :firstDateOfMonth( :toDate( :p)) AND X5_FYSQ.fSQSJ <= :lastDateOfMonth( :toDate( :p))        at com.justep.exception.BusinessException.create(Unknown Source)
        at com.justep.system.data.impl.TableUtilsImplement.ksqlSelect(Unknown Source)
        at com.justep.system.data.impl.TableUtilsImplement.ksqlSelect(Unknown Source)
        at com.justep.system.data.impl.TableUtilsImplement.ksqlSelect(Unknown Source)
        at com.justep.system.data.KSQL.select(Unknown Source)
        at KSQLProcedure.query(KSQLProcedure.java:17)
        ... 25 more
Caused by: com.justep.model.exception.ModelException: 编码: JUSTEP154075; 提示: 调用函数firstDateOfMonth出错
        at com.justep.model.exception.ModelException.create(Unknown Source)
        at com.justep.system.ksql.parser.ExpressionImpl.functionExpression(Unknown Source)
        at com.justep.system.ksql.parser.AbstractParser.parameterNode(Unknown Source)
        at com.justep.system.ksql.parser.AbstractParser.constExpression(Unknown Source)
        at com.justep.system.ksql.parser.AbstractParser.unaryExpression(Unknown Source)
        at com.justep.system.ksql.parser.AbstractParser.multiExpression(Unknown Source)
        at com.justep.system.ksql.parser.AbstractParser.addExpression(Unknown Source)
        at com.justep.system.ksql.parser.AbstractParser.compExpression(Unknown Source)
        at com.justep.system.ksql.parser.AbstractParser.notExpression(Unknown Source)
        at com.justep.system.ksql.parser.AbstractParser.andExpression(Unknown Source)
        at com.justep.system.ksql.parser.AbstractParser.orExpression(Unknown Source)
        at com.justep.system.ksql.parser.AbstractParser.conditionExpression(Unknown Source)
        at com.justep.system.ksql.parser.AbstractParser.whereExpression(Unknown Source)
        at com.justep.system.ksql.parser.AbstractParser.selectSentenceNode(Unknown Source)
        at com.justep.system.ksql.parser.QueryParser.start(Unknown Source)
        at com.justep.system.ksql.parser.QueryParser.start(Unknown Source)
        at com.justep.system.ksql.parser.AbstractParser.parse(Unknown Source)
        ... 30 more
Caused by: com.justep.model.exception.ModelException: 编码: JUSTEP154075; 提示: 调用函数toDate出错
        at com.justep.model.exception.ModelException.create(Unknown Source)
        at com.justep.system.ksql.parser.ExpressionImpl.functionExpression(Unknown Source)
        at com.justep.system.ksql.parser.ExpressionImpl.constExpression(Unknown Source)
        at com.justep.system.ksql.parser.ExpressionImpl.unaryExpression(Unknown Source)
        at com.justep.system.ksql.parser.ExpressionImpl.multiExpression(Unknown Source)
        at com.justep.system.ksql.parser.ExpressionImpl.addExpression(Unknown Source)
        at com.justep.system.ksql.parser.ExpressionImpl.compExpression(Unknown Source)
        at com.justep.system.ksql.parser.ExpressionImpl.notExpression(Unknown Source)
        at com.justep.system.ksql.parser.ExpressionImpl.andExpression(Unknown Source)
        at com.justep.system.ksql.parser.ExpressionImpl.orExpression(Unknown Source)
        ... 46 more
Caused by: java.lang.NullPointerException
        at com.justep.system.ksql.parser.ExpressionImpl.constExpression(Unknown Source)
        at com.justep.system.ksql.parser.ExpressionImpl.unaryExpression(Unknown Source)
        at com.justep.system.ksql.parser.ExpressionImpl.multiExpression(Unknown Source)
        at com.justep.system.ksql.parser.ExpressionImpl.addExpression(Unknown Source)
        at com.justep.system.ksql.parser.ExpressionImpl.compExpression(Unknown Source)
        at com.justep.system.ksql.parser.ExpressionImpl.notExpression(Unknown Source)
        at com.justep.system.ksql.parser.ExpressionImpl.andExpression(Unknown Source)
        at com.justep.system.ksql.parser.ExpressionImpl.orExpression(Unknown Source)
        ... 55 more







310

主题

4938

帖子

4767

积分

论坛元老

Rank: 8Rank: 8

积分
4767
QQ
发表于 2013-11-11 10:52:59 | 显示全部楼层
本帖最后由 yinlun 于 2013-11-11 10:54 编辑

这是函数又不是变量,不要加:
where X5_FYSQ.fSQSJ >= firstDateOfMonth( toDate( :p)) AND X5_FYSQ.fSQSJ <= lastDateOfMonth( toDate( :p))
QQ:179785966
回复 支持 反对

使用道具 举报

88

主题

9507

帖子

5135

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
5135
QQ
发表于 2013-11-11 11:03:34 | 显示全部楼层
gridReport的auto-load应该设置为false
远程的联系方法 QQ 728094812。添加好友时,需要填写论坛账号
发远程时同时也发一下帖子的地址,方便了解要解决的问题

如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

1

主题

5

帖子

27

积分

新手上路

Rank: 1

积分
27
QQ
 楼主| 发表于 2013-11-11 11:06:12 | 显示全部楼层
firstDateOfMonth和 toDate这两个都是内存函数,使用前要加冒号的。另外我把冒号去掉了,还是报错。
回复 支持 反对

使用道具 举报

1

主题

5

帖子

27

积分

新手上路

Rank: 1

积分
27
QQ
 楼主| 发表于 2013-11-11 11:09:23 | 显示全部楼层
gridReport的auto-load已经设置为false
回复 支持 反对

使用道具 举报

88

主题

9507

帖子

5135

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
5135
QQ
发表于 2013-11-11 11:22:21 | 显示全部楼层
ksqlReport.refresh 是在哪里调用的
远程的联系方法 QQ 728094812。添加好友时,需要填写论坛账号
发远程时同时也发一下帖子的地址,方便了解要解决的问题

如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

1

主题

5

帖子

27

积分

新手上路

Rank: 1

积分
27
QQ
 楼主| 发表于 2013-11-11 12:39:25 | 显示全部楼层
是在前台页面的确定按键时做的。
<xhtml:td〉
<xhtml:button type="button" id="btnYES" class="xui-button" style="margin-left:8px" onclick="ksqlReport.refresh(event)">确定</xhtml:button>
</xhtml:td>
回复 支持 反对

使用道具 举报

88

主题

9507

帖子

5135

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
5135
QQ
发表于 2013-11-11 14:04:02 | 显示全部楼层
你好楼主,您反馈的这个现象通过验证是产品缺陷,我们已提交到产品组(编号:2013111100007),感谢楼主的支持与配合。
远程的联系方法 QQ 728094812。添加好友时,需要填写论坛账号
发远程时同时也发一下帖子的地址,方便了解要解决的问题

如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

31

主题

1856

帖子

3070

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3070
发表于 2013-11-14 13:18:26 | 显示全部楼层
你好楼主,您反馈的问题,我们将在5.2.6版本补丁版本中进行改进,该版本预计11月22日左右发布,谢谢您的支持与配合。
回复 支持 反对

使用道具 举报

1

主题

5

帖子

27

积分

新手上路

Rank: 1

积分
27
QQ
 楼主| 发表于 2013-11-18 09:25:35 | 显示全部楼层
好,谢谢。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-6-11 07:16 , Processed in 0.089396 second(s), 28 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表