点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
嗨,
我正在使用CAP(Node.js)构建应用程序,该应用程序还利用了一些自定义处理程序。
在这些处理程序中,由于大小写行为不同,我在处理从CDS视图中选择的实体时遇到问题。 遵循建议,已创建所有属性,从小写字母开始,然后根据需要创建骆驼,例如e。 G。 " parentNode"。
想象一下使用实体HierarchyNodes和分配给一个层次结构节点之一的Product建模的层次结构。
为了阅读更多层次结构信息,实现了自定义处理程序。
虽然这在SQLite DB上可以很好地在本地工作,但在HDB上生成的名称是不同的(全部大写)。
下面的代码展示了实现的逻辑。
const products =等待tx.run(SELECT()。from(Products).where({ID:productKey})); 如果(products.length = 1) const nodeIds =等待tx.run(SELECT('ID')。from(HierarchyNodes).where({ID:products [0] .hierarchyNode_ID}));
在HDB产品[0] .hierarchyNode_ID上未定义,因为只有属性产品[0] .HIERARCHYNODE_ID。
在我看来,这是有问题的,因为两种环境的反应都应相似。
我暂时通过在选择函数中说明列名来解决这个问题,例如 SELECT('hierarchyNode_ID')。 这将导致对象在SQLLite和HDB上具有属性hierarchicalNode_ID。
如果我做错了什么或者这是一个错误,请告诉我。
感谢
Arne
您好,Arne,
实际上,sqlite和hdb应该为两个数据库返回相同大小写的值。 在某些情况下,我们无法做到这一点,例如,如果您运行SELECT.from('Books'),而Books不在模型中或在模型中以不同的方式命名。
但是,如果将csn实体传递给SELECT.from(),它应该可以立即使用。 您能否提供有关模型的更多信息,以及产品和HierarchNodes来自何处以及它们的外观?
最好的问候
塞缪尔
感谢Arne,我们将
嗨,塞缪尔,
我创建了一个简单的应用程序来重现报告的问题,您可以在此处获取它: https://github.com/ahusemann/cds_issue 。
复制步骤记录在 README.md 中。 让我知道您是否在复制行为方面遇到问题。
最好的问候
Arne
一周热门 更多>