gpt4 book ai didi

sap-cloud-sdk - 更新请求不再将所有字段发送到 SAP S/4HANA 系统

转载 作者:行者123 更新时间:2023-12-04 08:50:44 27 4
gpt4 key购买 nike

自从更新到 Cloud SDK 2.0.0 版以来,我们现在在向请求中添加字段时遇到了问题。主要是关于“盘点盘点凭证项目”的流程步骤。这里手动设置的项目属性不会发送到请求中。
这些是我们实际设置并发送到 S/4 系统的属性:
Java Coding
这些是嵌入在查询中的属性:
Request in S4

最佳答案

快速回答

调用方法 includingFields(PhysInventoryDocItem.MATERIAL, ...)关于更新流畅的助手。

更长的解释

SAP S/4HANA Cloud SDK 1.11.1 版在更新请求期间略微更改了 Java 虚拟数据模型 (VDM) 的行为。 release notes状态:

Update requests with the Java Virtual Data Model (VDM) no longer send all non-null fields to the SAP S/4HANA system, but only changed fields. You may need to adapt the logic in your code to explicitly change fields by using the setters of the entity classes, or use the includingFields method to manually specify fields to include.



因此,在您的情况下,默认情况下,将仅发送与按键获取 OData 请求返回的结果相比具有不同值的字段,正如 PATCH 通常所期望的那样要求。例如,字段 Material 的值可能没有改变,因为它是 "MAT_KONSI_APP1"前。

由于有些情况需要始终发送某些必填字段,因此 SAP S/4HANA Cloud SDK 允许您控制始终发送哪些字段。使用 includingFields VDM 的更新流畅助手上的方法来指定在任何情况下都应发送的字段,如果它们的值没有改变。

在您的情况下,如果您想发送输入字段的 Material 和单位,这可能是必填属性,您需要以下代码:
service.updatePhysInventoryDocItem(itemToUpdate)
.includingFields(PhysInventoryDocItem.MATERIAL,
PhysInventoryDocItem.UNIT_OF_ENTRY)
.execute()

关于sap-cloud-sdk - 更新请求不再将所有字段发送到 SAP S/4HANA 系统,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50598739/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com