使用 SAP Cloud SDK JavaScript API_BILL_OF_MATERIAL_SRV 版本 2 的 MaterialBOMItem 的空键字段

Empty key fields for MaterialBOMItem of API_BILL_OF_MATERIAL_SRV Version 2 using SAP Cloud SDK JavaScript

我正在尝试使用 SAP Cloud SDK JavaScript(版本 1.12.0)update/delete material 项目的账单。 该项目属于一个组 BOM,即 属性 "plant" 是一个空字符串。

这会导致以下自解释错误消息(PATCH 请求示例):

Error: OData update request failed!
    ...
Caused by:
Error: patch request to https://<host>:<port>/sap/opu/odata/sap/API_BILL_OF_MATERIAL_SRV;v=0002 $failed!
    ...
Caused by:
Error: The value:  of the key: Plant is not nullable, please set the value.
    ...

此行为与服务 API_BILL_OF_MATERIAL_SRV (Version 2) (https://api.sap.com/api/API_BILL_OF_MATERIAL_SRV_0002/resource) 的实体 MaterialBOMItem 的文档一致 其中更新和删除 MaterialBOMItem 的实体需要 "Plant" 和一些其他字段。

具体来说,这会影响需要这些属性的路径 PATCH 和 DELETE:BillOfMaterial、BillOfMaterialCategory、BillOfMaterialVariant、BillOfMaterialVersion , BillOfMaterialItemNodeNumber, HeaderChangeDocument, Material, Plant.

对于其中一些,空值可能有效(例如,组 BOM 为空工厂)。

然而,尽管 "Plant" 被标记为必需,但可以留空 使用 API_BILL_OF_MATERIAL_SRV 的 PATCH/UPDATE 端点时。这样我就可以 update/delete 一组 BOM 项。

SDK 是否也应该支持这种行为?

感谢您提请我们注意此问题以及对问题的全面描述。是的,SDK 应该支持这个。我们修复了这个错误,您应该可以在下一个版本中使用它(大约 2 周后可用)。