在OData服务调用的BOPF查询中使用自定义逻辑

2020-09-09 04:56发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


专家们,

这是场景:

我们已在CDS视图中使用注释来生成BOPF对象以及OData模型。

然后,我们在BOPF中实现了自定义查询。 然后,我们在Gateway Client中运行生成的OData,但是系统不调用自定义查询吗? 但是,在创建,更新的情况下,深度创建OData框架将调用BOPF框架。

因此,我们创建了一个新的网关模型,并通过SADL公开了CDS视图,但是当我们执行GET_ENTITYSET时,它仍然不会调用BOPF自定义查询。

在SADL选项中,我们可以重新定义READ方法,但是我们认为将所有CRUD处理逻辑都包含在BOPF中会更有意义-任何出错的指针,如何获得OData框架来读取数据 来自BOPF框架?

我们正在使用SAP_ABA 750 SP6版。

谢谢

So田。

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


专家们,

这是场景:

我们已在CDS视图中使用注释来生成BOPF对象以及OData模型。

然后,我们在BOPF中实现了自定义查询。 然后,我们在Gateway Client中运行生成的OData,但是系统不调用自定义查询吗? 但是,在创建,更新的情况下,深度创建OData框架将调用BOPF框架。

因此,我们创建了一个新的网关模型,并通过SADL公开了CDS视图,但是当我们执行GET_ENTITYSET时,它仍然不会调用BOPF自定义查询。

在SADL选项中,我们可以重新定义READ方法,但是我们认为将所有CRUD处理逻辑都包含在BOPF中会更有意义-任何出错的指针,如何获得OData框架来读取数据 来自BOPF框架?

我们正在使用SAP_ABA 750 SP6版。

谢谢

So田。

付费偷看设置
发送
7条回答
哎,真难
1楼-- · 2020-09-09 05:28

嗨,Mahesh

我们尝试了这两个选项,但都没有调用自定义查询。

注意。

微wx笑
2楼-- · 2020-09-09 05:24

如何生成 odata服务? 是通过odata segw项目中的CDS视图还是参考源?

粗暴的香蕉
3楼-- · 2020-09-09 05:36

您好 Sougata Chatterjee

我不确定配置或代码更改是否会使SADL层调用BOPF查询而不是CDS视图。 但是我建议的是重新定义该实体的MPC_EXT读取查询,并手动调用BOPF查询方法,这将是一项简单的任务(这是我能想到的唯一解决方法)。

感谢和 最好的问候,

Mahesh

Tong__Ming
4楼-- · 2020-09-09 05:22

然后,您可以尝试使用参考odata源而不是生成odata服务。

槿木_熙
5楼-- · 2020-09-09 05:10

嗨,Mahesh

问题是我们要使用通过CDS注释@ OData.publish生成的OData服务:true

结果是我们无法在该模型中重新定义任何内容,

谢谢

Sougata。

歪着头看世界
6楼-- · 2020-09-09 05:26

您好, Sougata Chatterjee

我希望现在您在odata服务中使用引用的源。 是的,我认为这将调用创建深度方法,如果您想自定义您需要重新定义,并且我认为这将是一项繁琐的任务,如果您能告诉您的要求,那么对我来说更容易发表评论。

< p>在某些标准中。 对象,我看到树液重新定义了通用的get实体/实体集并扩展了实体/实体集,并编写了通用逻辑以填充一些其他细节。

/IWBEP/IF_MGW_APPL_SRV_RUNTIME〜GET_ENTITYSET

/IWBEP/IF_MGW_APPL_SRV_RUNTIME〜GET_ENTITYSET

/IWBEP/IF_MGW_APPL_SRV_RUNTIME〜GET_EXPANDED_ENTITY

/IWBEP/IF_MGW_APPL_SRV_RUNTIME〜GET_EXPANDED_ENTITYSET

可以 跳过调用cds视图调用并编写您自己的逻辑。

谢谢

Mahesh

一周热门 更多>