Generating list of changesets and updating work Sex chart wth machine
Example 1 for read entity ========================= Batch Request Header POST .../sap/opu/odata/IWFND/RMTSAMPLEFLIGHT/$batch Content-Type multipart/mixed;boundary=batch_01869434-0001 Batch Request Body --batch_01869434-0001 Content-Type: application/http Content-Transfer-Encoding: binary Example for two changesets with one operation in each changeset ================================================================= Batch Request Header POST .../sap/opu/odata/IWFND/RMTSAMPLEFLIGHT/$batch Content-Type multipart/mixed;boundary=batch_01869434-0006 Batch Request Body --batch_01869434-0006 Content-Type: multipart/mixed; boundary=changeset_01869434-0006-0001 --changeset_01869434-0006-0002 Content-Type: application/http Content-Transfer-Encoding: binary PUT Travelagency Collection(agencynum='00001756') HTTP/1.1 Content-Type: application/atom xml Content-Length: 1021 (This length must be equal to or greater than the real length of the data below) --changeset_01869434-0006-0002-- --batch_01869434-0006-- Batch Response Header Status Code/Reason 202 (Accepted) Content-Type multipart/mixed; boundary=ejjeeffe0 Batch Response Body --ejjeeffe0 Content-Type: multipart/mixed; boundary=ejjeeffe1 Content-Length: 215 --ejjeeffe1 Content-Type: application/http Content-Length: 96 content-transfer-encoding: binary HTTP/1.1 204 No Content Content-Type: text/html Content-Length: 0 dataserviceversion: 2.0 --ejjeeffe1-- --ejjeeffe0 Content-Type: multipart/mixed; boundary=ejjeeffe1 Content-Length: 215 --ejjeeffe1 Content-Type: application/http Content-Length: 96 content-transfer-encoding: binary HTTP/1.1 204 No Content Content-Type: text/html Content-Length: 0 dataserviceversion: 2.0 --ejjeeffe1-- --ejjeeffe0-- If you have several operations in a change set one operation can refer to another operation by using content ID referencing, rather than using the key of an entity type instance which may not be known at that time.To define a content ID for a specific operation the following syntax needs to be used in the is an existing content ID that was defined for another operation from the same change set.Changesets cannot contain retrieve requests and cannot be nested, that is, a changeset cannot contain a changeset.In the batch request body, each retrieve request and changeset is represented as a distinct MIME part and is separated by the boundary marker defined in the Content-Type header of the request.A response to a retrieve request is formatted exactly as it would have appeared outside of a batch.The body of a changeset response is either a response for all the successfully processed change request within the changeset, formatted exactly as it would have appeared outside of a batch, or a single response indicating a failure of the entire changeset.
request will be transferred separately from the SAP Gateway hub system to the provider application in the backend system for processing.The OData specifications define a changeset as an atomic unit of work that is made up of an unordered group of one or more of the insert, update or delete operations.The SAP Gateway framework, however, processes the changeset operations in an atomic manner and in the same order as they are defined in the changeset.As defined in the OData specification for batch processing , in case an operation within a changeset fails the batch response body contains only one single response for this changeset indicating the failure of the entire changeset. changeset processing when the data providers is able to handle the entire operation of changeset at once at end of changeset: For this to be possible the data provider must implement the changeset handling API to process all changeset operations within one API ( to inform the framework that it can process all changeset operations at once (deferred processing).Based on the list of entity set name, entity type name and action name, a data provider can dynamically set the exporting parameter mentioned above to inform the framework that it will process the current changeset at once or to reset this parameter to have a single processing as usual. That means without any changes in a data provider each changeset operation will be processed one after another as usual.
Content ID referencing is supported only for change sets at once (defer mode).