点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
我有一个中等复杂的导航树场景,其中大多数节点可以通过 OData:Publish = true 表示,但是两个不能。 因此,现在我想吃点蛋糕,然后将CDS用于所有非CDS实体。
我将尝试绘制图片:
/Entity1/to_Entity2/to_Entity3/to_Entity4
| |
| + ----/to_Entity5 *
| + ------/to_Entity6/to_Entity7 *
这里,除实体5和7之外的所有内容都可以通过CDS生成。 实体5和7需要代码才能返回数据。
过去,我为此创建了一个单独的GW服务。 但是在我当前的情况下,这将意味着使用一个大的$ filter进行多个查询,并且这也是一个对性能敏感的过程,因此我们希望一次通过$ expand和$ filter检索所需的所有内容。
我已经开始在DPC_EXT中对所有代码进行编码,但是想知道是否有一种方法可以节省构建每个导航/选择并仅覆盖SADL生成的服务的一部分?
顺便说一句,关于命名的一个小意见问题:
我注意到有一种将导航路径命名为" ToCustomer"," ToOrder"等的趋势(包括在The Gateway Book中),但是OData将它们格式化为to_Customer,to_Order。 我使用" to _..."来保持一致。 人们使用什么?
嗨,迈克,
很高兴听到您喜欢《 SAP网关手册》;-)。
如果您使用参考数据源方法创建服务,则只需从一个开始即可 CDS视图(例如SEPM_I_SALESORDER_E),您可以深入了解所有关联的多个级别,只需选择通过关联连接到SEPM_I_SALESORDER_E的所有CDS视图(请参见下面的屏幕快照)。
因此您没有 自己创建所有实体。
这比使用@ OData.publish更好:true,因为它允许您选择要发布的内容,而不必发布通过关联连接的所有内容。
顺便说一句。 您正在使用什么发行版?
SAP S/4 xxxx,SAP ERP EHP x?
最好的问候,
安德烈
< img src=" https://answers.sap.com/storage/attachments/1788766-cusersd041615onedrive-sap-sedocumentsblogsrds-mult.jpg">
嗨,麦克,
引用数据源可以为您提供帮助:
SAP帮助: https://help.sap.com /viewer/68bf513362174d54b58cddec28794093/1709.001/zh-CN/5568acb0dcce417182b43968188b1c17.html
产品负责人André的SAP博客: https://blogs.sap.com/2016/06/02/odata-service-development-with-sap-gateway- 使用cds通过引用的数据源如何实现更新/
嗨,迈克,
查看我的以下博客文章
https://blogs.sap.com/2018/08/08/how-to-handle-navigation-between-sadl-based-entities-and-non-sadl-based-entities /
最好的问候
安德烈
嗨安德烈,
哦,太好了! 我不知道关联与RDS一起出现。 我只将它与表一起使用。
不幸的是,我正在为此服务使用较旧的系统,即NW 7.4 SP11/ERP EHP7(对不起,我应该在前面说过)。 没有RDS生成,创建后只能将服务实现与CDS视图链接。
谢谢,
Mike
嗨,安德烈 , 感谢那! 我在这里搜索了一段时间,但以某种方式错过了该博客。
但这不是我所追求的。 我认为。 希望使用OData:publish生成OData生成的视图的原因是,所有操作都是通过关联完成的,而我的印象是,这将一次进入数据库进行查询。
据我了解,我必须创建每个实体并将其指向其自己的CDS视图。 这样做本身还可以,但是我将依靠SADL框架来优化查询。 这也是一项性能至关重要的服务,性能是我们使用OData的主要原因。 您还链接到博客中的一个出色文档,其中详细介绍了如何覆盖/管理查询策略。 但是总的来说,这看起来比起构建基于代码的直接服务要更多甚至更多。
因此,我希望创建具有关联的CDS视图并使用OData生成整个实体树。 :发布。
顺便说一句,我还有《网关大全》的第二版和第三版,非常有用! :-)
一周热门 更多>