SAP Knowledge Base Article - Public

3604894 - How to POST several OData V4 service entities at the same time

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

Product

SAP S/4HANA Cloud Public Edition all versions