点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
在为OData服务实现自定义DPC_EXT类时,我遇到了一些不一致的行为(至少对我而言)。 这很容易解释,但不常见,请耐心等待:
假设我们有一个导航路径,例如:
http://..../zMyService/Customer('123')/to_Order('456')/to_Partner
在合作伙伴的DPC实现中,我可以通过使用io_tech_request_context的get_source_entity_set_name()和get_converted_source_keys()方法查询源实体及其键来获取客户编号。 使用上面的URL,我得到" Customer"作为源,客户编号为123。太棒了!
但是...当有人改用$ expand时,情况却大不相同:
http://..../zMyService/Customer('123')/to_Order('456')?$ expand = to_Partner
相同的代码将Order实体作为源返回。 所以现在第二层是顶层,找不到客户了。 我调试并拖曳了所有可用的对象/属性。 娜达
对于第一种情况,get_navigation_path的导航路径有两个条目(to_Order和to_Partner),但是在第二种情况下,只有" to_Partner"。
是错误还是设计使然?
嗨,迈克,
请参阅我对以下问题的回答。
https://answers.sap。 com/questions/398484/multi-level-navigation-in-odata-service.html
最诚挚的问候,
Andre
Argh,没关系,发现了问题。 我前段时间重新定义了get_expanded_entity来构建自定义扩展,但决定让默认值首先生效(婴儿步骤原则)。 但是空的重定义仍然隐藏在我的DPC_EXT类中,因此清除了键值。 删除了重新定义,一切正常。
一周热门 更多>