点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)我正在使用CAP创建OData服...
点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)我正在使用CAP创建OData服...
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
我正在使用CAP创建OData服务。
目标是使以下网址正常工作。
/analytics-output/ApplicationUsage?select = application,count&$ orderby = count
这是服务模型。
@readonly 实体ApplicationUsage { 关键应用:String(80); 计数:十进制; timestamp:DateTime null; }
这是自定义逻辑(js文件)的实现
srv.on('READ','ApplicationUsage',(req)=> { selectQuery ='选择'+ "将关键的app.application作为应用程序," + 'COUNT(app.application)as count:十进制'+ '来自cis.fiorianalytics。动作作为动作'+ '将action.applicationID = app.id内加入cis.fiorianalytics.Apps作为应用程序'+ '按应用程序分组'; 让查询= cds.parse.cql(selectQuery); //附加时间戳记WHERE和ORDERBY条件 query.SELECT.orderBy = req.query.SELECT.orderBy; query.SELECT.where = req.query.SELECT.where; 返回cds.run(query); });
这在本地部署中效果很好,我得到了数据。 但是它无法在HANA中工作(在部署到试用版CF之后)。
我最终在浏览器中得到了一个不太有用的错误。
<错误xmlns =" http://docs.oasis-open.org/odata/ns/metadata">500
内部服务器错误
当我查看SCP上的"日志"时,我看到下面的行似乎与之相关。
任何帮助将不胜感激。
(34.0 kB)
克里希纳,你好
" req.query.SELECT.orderBy"中的order by子句不适合您的SQL,因为该模型不知道您正在使用的联接(该模型是OData查询处理的基础)。 您需要手动调整模型或构建子句,而不是从" req.query.SELECT"中提取。
最好,
塞巴斯蒂安
一周热门 更多>