在我们的应用程序中,我们使用 S4Hana SDK 来使用 S4Hana 的服务。
对于对 S4 的更新调用,我们使用 PATCH 请求类型。这样做时发现我们无法在更新(PATCH)期间设置空值。
例如:
--batch_A
Content-Type: multipart/mixed; boundary=changeset_176b-5a0d-cdab
--changeset_B
Content-Type: application/http
Content-Transfer-Encoding: binary
MERGE RequisitionItems(PurchaseRequisition='',PurchaseRequisitionItem='00000',DraftUUID=guid'00163e4e-c788-1eea-81bd-ddd3e2c48bf2',IsActiveEntity=false) HTTP/1.1
Plant: 0001
Currency: EUR
PurchaseOrg: 0001
CompanyCode: 0001
sap-contextid-accept: header
Accept: application/json
Accept-Language: en-GB
DataServiceVersion: 2.0
MaxDataServiceVersion: 2.0
Content-Type: application/json
Content-Length: 106
{"ExtPurgOrgForPurg":"0001","PurchasingGroup":"001",**"ExtPlantForPurg":null,**"ExtCompanyCodeForPurg":"0001"}
--changeset_B--
--batch_A--
在这里,我试图将 ExtPlantForPurg 设置为 null,但是实体没有得到相同的更新,而调试发现更新请求正文不只包含这个字段(它被忽略,因为它包含 null)
让我知道是否有任何方法可以使用 PATCH 请求更新属性的空值。