点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)大家好, 如果在cds模型...
点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)大家好, 如果在cds模型...
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
大家好,
如果在cds模型中将实体的字段标记为虚拟,则不会在相应的数据库表上创建任何字段。 到目前为止,一切都很好。
如果现在使用GET请求在虚拟字段上使用过滤器调用此实体,则会返回以下错误:
<错误xmlns =" http://docs.oasis-open.org/odata/ns/metadata">
500
<消息>
无法在以下行设置参数:1.参数必须是字符串
在调试过程中,我还遇到了以下异常文本:(属性VHierarchyNodeLevel被标记为虚拟)
选择a.modifiedAt AS" a_modifiedAt",a.createdAt AS" a_createdAt",a.createdBy AS" a_createdBy",a.modifiedBy AS" a_modifiedBy",a.VId AS" a_VId",a.VName AS" a_VName" ",a.VHierarchyNodeLevel AS" a_VHierarchyNodeLevel"来自Service_PlanningUnits,其中a.VHierarchyNodeLevel <=? LIMIT 128 OFFSET 0
是否有可能将字段标记为虚拟字段,但是如果请求中存在针对此查询的过滤器,则会将虚拟字段添加到数据库查询的WHERE子句中?
在CDS实体之后,将虚拟字段填充在on.after(" READ",...)。
实体PlanningUnit:托管{ 键VId:UUID; VName:字符串; virtual VHierarchyNodeLevel:整数; }
亲爱的西蒙·佩斯托弗,
非常感谢您为我们提供了详细的分析。 实际上,虚拟字段一定不能出现在SQL语句的WHERE子句中。
我们将研究一种修复程序,以防止将来发生这种情况。
但是,强烈建议不要对虚拟字段应用过滤条件,因为这样会大大降低性能(必须从数据库中提取所有项目,对于每个条目,都必须计算虚拟字段,然后才计算结果集 被过滤)。
再次感谢您!
David
一周热门 更多>