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

QQ登录

只需一步,快速开始

查看: 4590|回复: 17

[处理中5] ontology中queryAction自定义字段后,报错

  [复制链接]

51

主题

268

帖子

496

积分

中级会员

Rank: 3Rank: 3

积分
496
QQ
发表于 2014-4-17 17:23:59 | 显示全部楼层 |阅读模式
本帖最后由 xuni2 于 2014-4-18 11:28 编辑

如下,在ontology中的queryAction自定义字段:别名:yDocStatus2,关系/自定义字段: CASE WHEN  COALESCE(CL_PurchaseContractHd.yDocStatus,0) = 0 THEN '未确认' WHEN  CL_PurchaseContractHd.yDocStatus = 100 THEN '已确认' WHEN  CL_PurchaseContractHd.yDocStatus = -1 THEN '已提交' END

却换源代码,测试可以执行。
QQ图片20140417171246.jpg

切换回设计,报错
QQ图片20140417172059.jpg

此外,到了前台打开.w文件,就报错。去掉这个自定义字段,不会报错。如果我想实现这个自定义字段,应该怎么处理
UIServer错误:java.lang.NullPointerException
[url=]隐藏错误详细[/url]URI:/x5/CLOTHING_DRP_GUOYI/PurchaseManage/process/PurchaseContract/mainActivity.w错误码:500java.lang.NullPointerException        at BizData.processData(BizData.java:339)        at BizData.execute(BizData.java:59)        at com.justep.xbl.runtime.TemplateEngine.computeJavaTemplate(Unknown Source)        at com.justep.xbl.runtime.TemplateEngine.exeucte(Unknown Source)        at com.justep.xbl.runtime.XBLEngine.parserBinding(Unknown Source)        at com.justep.xbl.runtime.XBLEngine.parser(Unknown Source)        at com.justep.xbl.runtime.XBLEngine.parser(Unknown Source)        at com.justep.xbl.runtime.XBLEngine.parser(Unknown Source)        at com.justep.xbl.runtime.XBLEngine.excute(Unknown Source)        at com.justep.ui.util.UIUtils.xbl(Unknown Source)        at com.justep.ui.WindowCompiler.w2Middle(Unknown Source)        at com.justep.ui.WindowCompiler.compile(Unknown Source)        at com.justep.ui.WindowServer.getWindow(Unknown Source)        at com.justep.ui.WindowServer.service(Unknown Source)        at com.justep.ui.servlet.MainServlet.service(Unknown Source)        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857)        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)        at java.lang.Thread.run(Thread.java:595)

PurchaseContract.ontology.rar

218.62 KB, 下载次数: 659

94

主题

1141

帖子

2380

积分

金牌会员

Rank: 6Rank: 6

积分
2380
发表于 2014-4-17 17:30:30 | 显示全部楼层
COALESCE(CL_PurchaseContractHd.yDocStatus,0) 这什么意思啊

点评

fpj
这是用 coalesce 返回第一个非空的数  发表于 2014-4-17 17:34
回复 支持 反对

使用道具 举报

发表于 2014-4-17 17:38:01 | 显示全部楼层
非要在这里做转换吗?
放到UI层去做不行吗?
回复 支持 反对

使用道具 举报

发表于 2014-4-17 17:47:40 | 显示全部楼层
建议你后台写一个sql语句来,有可能是KSQL的语法不支持你这样写,具体你可以看一下API里面的kSQL。。。
回复 支持 反对

使用道具 举报

94

主题

1141

帖子

2380

积分

金牌会员

Rank: 6Rank: 6

积分
2380
发表于 2014-4-18 09:11:45 | 显示全部楼层
进到源码 (CASE WHEN  COALESCE(CL_PurchaseContractHd.yDocStatus,0) = 0 THEN '未确认' WHEN  CL_PurchaseContractHd.yDocStatus = 100 THEN '已确认' WHEN  CL_PurchaseContractHd.yDocStatus = -1 THEN '已提交' END) 把外层括号去掉试试,我之前做也有类似的问题

评分

参与人数 1 +4 收起 理由
jishuang + 4 赞一个!

查看全部评分

回复 支持 反对

使用道具 举报

51

主题

268

帖子

496

积分

中级会员

Rank: 3Rank: 3

积分
496
QQ
 楼主| 发表于 2014-4-18 10:09:02 | 显示全部楼层
本帖最后由 xuni2 于 2014-4-18 10:10 编辑
jason2014 发表于 2014-4-18 09:11
进到源码 (CASE WHEN  COALESCE(CL_PurchaseContractHd.yDocStatus,0) = 0 THEN '未确认' WHEN  CL_Purchas ...

如果在设计界面去掉括号,结果切换设计报错。.W一样报错
QQ图片20140418100535.jpg

如果源码吧括号去掉 ,也是报错,报错跟原帖一样
回复 支持 反对

使用道具 举报

94

主题

1141

帖子

2380

积分

金牌会员

Rank: 6Rank: 6

积分
2380
发表于 2014-4-18 10:44:12 | 显示全部楼层
xuni2 发表于 2014-4-18 10:09
如果在设计界面去掉括号,结果切换设计报错。.W一样报错

这样就不太清楚了,我在用case when的时候也很奇怪,测试时报错,但是.w上查询没错。在源码切换不到设计界面,把外层括号去掉就可以了。建议你可以先把case when简化测试一下,就是不要这么多when条件,多试试。。。
抱歉,帮不了你
回复 支持 反对

使用道具 举报

51

主题

268

帖子

496

积分

中级会员

Rank: 3Rank: 3

积分
496
QQ
 楼主| 发表于 2014-4-18 10:52:55 | 显示全部楼层
jason2014 发表于 2014-4-18 10:44
这样就不太清楚了,我在用case when的时候也很奇怪,测试时报错,但是.w上查询没错。在源码切换不到设计 ...

没事,谢谢了。这个用法有点不太稳定,之前上面写法是在.w可行的,后来突然不行了,测试出是这个CASE WHEN问题。无法理解。
回复 支持 反对

使用道具 举报

1

主题

1222

帖子

1378

积分

金牌会员

Rank: 6Rank: 6

积分
1378
QQ
发表于 2014-4-18 11:22:08 | 显示全部楼层
把case when 的() 去掉
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35942
发表于 2014-4-18 15:46:42 | 显示全部楼层
xuni2 发表于 2014-4-18 10:52
没事,谢谢了。这个用法有点不太稳定,之前上面写法是在.w可行的,后来突然不行了,测试出是这个CASE WHE ...

设计器中支持的不太完善,直接到源码中修改正确
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-18 00:40 , Processed in 0.071709 second(s), 31 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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