Symptom
POST more than one additional entity to an existing purchase order is not working.
Environment
SAP S/4HANA Cloud Public Edition
Resolution
Use BATCH to combine several POST operations to achieve this goal.
For example, if you want to add two notes at the same time for a purchase order item, use a BATCH request to combine the two POST requests.
Request URI: /sap/opu/odata4/sap/api_purchaseorder_2/srvd_a2x/sap/purchaseorder/0001/$batch
Payload sample:( Consider 4500012345 number as an example )
--batch_boundary
OData-Version: 4.0
Content-Type: multipart/mixed; boundary=changeset_1
Content-Transfer-Encoding: binary
--changeset_1
Content-Type: application/http
Content-Transfer-Encoding: binary
Content-ID: 1
POST PurchaseOrderItem(PurchaseOrder='4500012345',PurchaseOrderItem='10')/_PurchaseOrderItemNote HTTP/1.1
OData-Version: 4.0
OData-MaxVersion: 4.0
Content-Type: application/json;odata.metadata=minimal
{"PurchaseOrder":"4500012345","PurchaseOrderItem":"00010","TextObjectType" : "F02","PlainLongText" : "Text from batch F02","Language" : "EN"}
--changeset_1
Content-Type: application/http
Content-Transfer-Encoding: binary
Content-ID: 2
POST PurchaseOrderItem(PurchaseOrder='4500012345',PurchaseOrderItem='10')/_PurchaseOrderItemNote HTTP/1.1
OData-Version: 4.0
OData-MaxVersion: 4.0
Content-Type: application/json;odata.metadata=minimal
{"PurchaseOrder":"4500012345","PurchaseOrderItem":"00010","TextObjectType" : "F05","PlainLongText" : "Text from batch F05","Language" : "EN"}
--changeset_1--
--batch_boundary--
Keywords
api_purchaseorder_2, Post, POST PurchaseOrderItem , KBA , MM-PUR-PO-2CL , Purchase Orders (Public Cloud) , How To
SAP Knowledge Base Article - Public