如何在增强实现中获得父odataservice的上下文?

问题描述 投票:0回答:1
我们有一个标准的Fiori应用程序,该应用程序称为相当复杂的标准ODATASERVICE。 我们有一个增强实现(ZCL_MyenHancement),该实现是Fiori应用程序的后端呼叫的一部分。在这种强度,我需要阅读原始OdataCall的参数。我该怎么做?

当我在zcl_myenhancement的调试器中,我可以在以下结构/变量中找到所需的所有值:

{A:3250*\INTERFACE=/IWBEP/IF_MGW_CORE_SRV_RUNTIME\TYPE=TY_S_MGW_REQUEST_CONTEXT}
我如何在增强中读取这些数据?

在以下代码中,我获得了我需要的空结构:

DATA lv_request_context TYPE /IWBEP/IF_MGW_CORE_SRV_RUNTIME=>TY_S_MGW_REQUEST_CONTEXT.

我如何得到上下文?

i探索了接口 /iwbep /if_mgw_core_srv_runtime,并试图找到可以使用的父对象来访问上下文。

只要您参加了服务的类别,就应该能够访问
odata abap sap-gateway
1个回答
0
投票
,我认为这是您看到所需数据的地方(提供的名称是类型)。这是一个深层的结构(不是类),因此,如果您在调试器中看到某些内容,则应该能够在方法中的同一位置访问它。

当调试何时确切的结构填充何时(哪种实体类型,如果被称为多次)时,因为某些服务在页面加载上获取搜索帮助数据(除其他方面)。这样的技术请求可能没有您的参数。

旁边:考虑服务重新定义

如果您使用隐式增强点为此,我建议您考虑使用服务重新定义。使用原始服务作为基线时,它更加灵活。例如,如果dpc_ext在

ME->MR_REQUEST_DETAILS

方法中使用继承的逻辑(就像在基于SADL和BOBF的服务中一样),除非您增强基本

GET_ENTITYSET类(您不应该触摸),则可能会绑住您的手。 选择服务为您提供了一组Z类,您可以根据需要重新定义方法。 例如:重新定义MEHTOD,请在内部打电话以保持标准逻辑,在之前或之后插入自定义逻辑。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.