找不到细分Odata的资源

2020-08-24 11:01发布

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

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


大家好! 我创建的odata遇到错误。

这是我的结构

这是代码(仅供测试)

这是我的uri请求/sap/opu/odata/sap/ZCLMM_GW_CREARPROVEEDED_ODATA_SRV/loggedUserSet(User ='CL')

这是我得到的错误:

更多详细信息:

这就像是请求错误或类似的事情一样,我修改了另一个名为Pais的实体类型的get实体集,但没有出错。 有什么建议吗?

(28.5 kB)

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

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


大家好! 我创建的odata遇到错误。

这是我的结构

这是代码(仅供测试)

这是我的uri请求/sap/opu/odata/sap/ZCLMM_GW_CREARPROVEEDED_ODATA_SRV/loggedUserSet(User ='CL')

这是我得到的错误:

更多详细信息:

这就像是请求错误或类似的事情一样,我修改了另一个名为Pais的实体类型的get实体集,但没有出错。 有什么建议吗?

(28.5 kB)
付费偷看设置
发送
3条回答
小c菟菟
1楼 · 2020-08-24 11:29.采纳回答

嗨Naoto,

我能够重现您的问题。

错误消息的根本原因是,在您的GET_ENTITY方法中,没有代码将值添加到导出参数er_entity中。

因此,您必须在IF ..ENDIF结构的第24行之后添加如下代码。

从<您的表>中选择单个*到@er_entity的相应字段中,其中 = @lv_usario。

此外,如果未找到任何内容,您应该提出一条错误消息。

但是我必须承认,框架的错误消息在这里有点误导,因此我将针对该问题提出一条内部消息,以查看是否可以提出类似"未提供数据"的内容。

我也建议使用该方法

 io_tech_request_context-> get_converted_keys 

因为导入的所有IV *和IT *导入参数均已被废弃,并且由于兼容性原因,导入参数IO_TECH_REQUEST_CONTEXT而不是导入参数IT_KEY_TAB

查看我的博客

https://blogs.sap.com/2016/05/31/odata-service-development-with-sap-gateway-code-based-service-development-part-ii /

用于示例实现。

此致

安德烈(Andre)

CJones
2楼-- · 2020-08-24 11:27

你好拉明(Ramin)。

我偶然发现了这个,因为我遇到了类似的问题。

执行OData更新时调用GET_ENTITY(读取OData)的原因是因为SAPUI5在执行更新时使用了MERGE操作。 MERGE操作隐式执行OData读取,并将其与OData请求的有效内容主体合并。

如果您通过直接从http客户端(如PostMan或类似产品)通过http操作PUT执行OData更新,则将不会执行读取操作。

最诚挚的问候,索伦·汉森

小熊yu生菜
3楼-- · 2020-08-24 11:37

安德烈,

我正在遵循您的建议,但是io_tech_request_context在我的GET_ENTITY方法中为空。 因此,我必须使用IT_KEY_TAB表,该表确实具有我需要的键值。

在我的实体集的UPDATE操作中调用了我的GET_ENTITY方法。 您知道为什么框架需要在更新之前调用GET_ENTITY吗? 这给我们带来了很多问题。

谢谢

Ramin。

一周热门 更多>