2

我正在尝试使用 SAP Cloud SDK JavaScript(版本 1.12.0)更新/删除物料清单项目。该项目属于一个组 BOM,即属性“工厂”是一个空字符串。

这会导致以下不言自明的错误消息(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.
    ...

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

详细地说,这会影响需要这些属性的路径 PATCH 和 DELETE:BillOfMaterial、BillOfMaterialCategory、BillOfMaterialVariant、BillOfMaterialVersion、BillOfMaterialItemNodeNumber、HeaderChangeDocument、Material、Plant。

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

但是,尽管“工厂”被标记为必需,但在使用 API_BILL_OF_MATERIAL_SRV 的 PATCH/UPDATE 端点时可以将其留空。这样我可以更新/删除一个组 BOM 项目。

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

4

1 回答 1

2

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

于 2019-11-20T09:26:05.747 回答