2020-08-24 11:01发布
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
大家好! 我创建的odata遇到错误。 这是我的结构
这是代码(仅供测试)
这是我的uri请求/sap/opu/odata/sap/ZCLMM_GW_CREARPROVEEDED_ODATA_SRV/loggedUserSet(User ='CL') 这是我得到的错误:
更多详细信息:
这就像是请求错误或类似的事情一样,我修改了另一个名为Pais的实体类型的get实体集,但没有出错。 有什么建议吗?
嗨Naoto,
我能够重现您的问题。
错误消息的根本原因是,在您的GET_ENTITY方法中,没有代码将值添加到导出参数er_entity中。
因此,您必须在IF ..ENDIF结构的第24行之后添加如下代码。
从<您的表>中选择单个*到@er_entity的相应字段中,其中 = @lv_usario。
此外,如果未找到任何内容,您应该提出一条错误消息。
但是我必须承认,框架的错误消息在这里有点误导,因此我将针对该问题提出一条内部消息,以查看是否可以提出类似"未提供数据"的内容。
我也建议使用该方法
io_tech_request_context-> get_converted_keys
。
查看我的博客
https://blogs.sap.com/2016/05/31/odata-service-development-with-sap-gateway-code-based-service-development-part-ii / >
用于示例实现。
此致
安德烈(Andre)
你好拉明(Ramin)。
我偶然发现了这个,因为我遇到了类似的问题。
执行OData更新时调用GET_ENTITY(读取OData)的原因是因为SAPUI5在执行更新时使用了MERGE操作。 MERGE操作隐式执行OData读取,并将其与OData请求的有效内容主体合并。
如果您通过直接从http客户端(如PostMan或类似产品)通过http操作PUT执行OData更新,则将不会执行读取操作。
最诚挚的问候,索伦·汉森
安德烈,
我正在遵循您的建议,但是io_tech_request_context在我的GET_ENTITY方法中为空。 因此,我必须使用IT_KEY_TAB表,该表确实具有我需要的键值。
在我的实体集的UPDATE操作中调用了我的GET_ENTITY方法。 您知道为什么框架需要在更新之前调用GET_ENTITY吗? 这给我们带来了很多问题。
谢谢
Ramin。
最多设置5个标签!
嗨Naoto,
我能够重现您的问题。
错误消息的根本原因是,在您的GET_ENTITY方法中,没有代码将值添加到导出参数er_entity中。
因此,您必须在IF ..ENDIF结构的第24行之后添加如下代码。
此外,如果未找到任何内容,您应该提出一条错误消息。
但是我必须承认,框架的错误消息在这里有点误导,因此我将针对该问题提出一条内部消息,以查看是否可以提出类似"未提供数据"的内容。
我也建议使用该方法
因为导入的所有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)
你好拉明(Ramin)。
我偶然发现了这个,因为我遇到了类似的问题。
执行OData更新时调用GET_ENTITY(读取OData)的原因是因为SAPUI5在执行更新时使用了MERGE操作。 MERGE操作隐式执行OData读取,并将其与OData请求的有效内容主体合并。
如果您通过直接从http客户端(如PostMan或类似产品)通过http操作PUT执行OData更新,则将不会执行读取操作。
最诚挚的问候,索伦·汉森
安德烈,
我正在遵循您的建议,但是io_tech_request_context在我的GET_ENTITY方法中为空。 因此,我必须使用IT_KEY_TAB表,该表确实具有我需要的键值。
在我的实体集的UPDATE操作中调用了我的GET_ENTITY方法。 您知道为什么框架需要在更新之前调用GET_ENTITY吗? 这给我们带来了很多问题。
谢谢
Ramin。
一周热门 更多>