点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
Hello CAP专家,丹尼尔·赫泽尔,克里斯汀·乔治(Christian Georgi),
在TechEd会话CAA265中,显示了一个服务重用示例。 为此,使用了外部审阅服务。 不幸的是,所示实现没有将通过OData $ filter或$ select应用的任何过滤器或字段选择转发给被调用的外部服务。
我已将该项目分叉到 CAA265节点 -ex4-final 并将其功能至少实现了将where子句传递给远程服务。 我也测试了这个替代方法:
req.query.SELECT.from =评论 结果=等待tx.run(req.query.SELECT)
但这会导致错误消息"功能不受支持:流畅的API方法.kind"
我现在有一些问题:
- 是否存在更优雅的方法来区分应用$ filter的请求和未过滤的大小写?
- 如何做到这一点,以便将所有查询选项都传递给外部服务?
- 使用OData V2的Java是否有类似的示例?
最诚挚的问候
格雷戈尔
Hello Gregor,
由于Marc在Java和OData v2的上下文中提到了Cloud SDK,所以我想解释一下。
SAP Cloud SDK提供了客户端库来访问由 SAP提供的S/4HANA OData服务。 API Business Hub 。 通过使用所谓的虚拟数据模型(VDM),您可以根据规范读取和写入数据。 该API的设计方式是,不需要任何先前的OData或服务知识。
首先,您要解析目标,然后可以使用VDM的流畅API,例如 解决所有业务合作伙伴的方法:
您可以在此处添加过滤器,扩展,分页,排序或计算结果集。
您还可以使用博客文章中所述的生成器来生成自己的OData v2服务的VDM类。 请考虑以下文档项:
最好的问候
亚历山大
亚历山大,您好
谢谢您的回答。 看来我已经继续使用CAP并使用了Node.JS。 但是也许您现在也可以通过以下问题帮助我:
如何将用户身份验证(JWT)从CAP Java传递到Java目标实例的SAP Cloud SDK?
最诚挚的问候
格雷戈尔
嗨,格雷戈尔,
感谢这些好的问题。
1。 最好看看是否有一个过滤器`if(req.query.SELECT.where){...}`。
2。 到目前为止,还没有更好的方法来"转移"过滤器并选择条件到远程服务,我们可能会在以后添加。
@Marc Becker您能否回答Java问题?
感谢和问候
David
嗨,格雷格,
在Java中,您可以类似于Node.js,检查CQN语句并检查其是否具有where条件: https://cap.cloud.sap/docs/java/cds-ql
目前仅通过OData V4支持上述文档中展示的Java API。 在本届会议的TechEd上展示了它们:https://github.com/SAP-samples/cloud-cap-walkthroughs/tree/master/exercises-java
到目前为止,Java中尚不支持通过CQN使用远程OData服务。 当前,我们建议使用Cloud SDK来使用远程OData服务。
最好的问候,
马克
一周热门 更多>