Skip to Content
0

Gateway: CHANGESET* methods called few times

Aug 03, 2017 at 05:41 PM

55

avatar image
Former Member

Hello!

I'm trying to implement batch processing for Gateway service. I've read some threads across SCN and these links:

https://help.sap.com/saphelp_nw74/helpdata/en/94/a126519eff236ee10000000a445394/frameset.htm

https://help.sap.com/saphelp_nw74/helpdata/en/05/fb2651c294256ee10000000a445394/frameset.htm

https://archive.sap.com/documents/docs/DOC-57113

The problem is that methods CHANGESET_BEGIN, CHANGESET_PROCESS and CHANGESET_END processed not the whole payload at once (as I needed) but step-by-step, one section per call. My payload has three sections and each of these methods called three times. But I need that these methods called one time and process the whole payload at once. In the CHANGESET_BEGIN I've set CV_DEFER_MODE to abap_true.

Here is my payload:

--batch_edc1-3624-c9fc
Content-Type: multipart/mixed; boundary=changeset_9e88-dcf5-d9b1
--changeset_9e88-dcf5-d9b1
Content-Type: application/http
Content-Transfer-Encoding: binary
PUT INDSet(Ztcguid='00505687BAEB1ED79DE820EC405B2E21') HTTP/1.1
Accept-Language: ru-RU
Accept: application/atom+xml,application/atomsvc+xml,application/xml
MaxDataServiceVersion: 2.0
DataServiceVersion: 2.0
Content-Type: application/atom+xml
Content-Length: 2903
<Entity data in xml format>
--changeset_9e88-dcf5-d9b1--
--batch_edc1-3624-c9fc
Content-Type: multipart/mixed; boundary=changeset_3693-7fc9-0e09
--changeset_3693-7fc9-0e09
Content-Type: application/http
Content-Transfer-Encoding: binary
PUT INDSet(Ztcguid='00505687BAEB1ED79DE820EBEA50AE21') HTTP/1.1
Accept-Language: ru-RU
Accept: application/atom+xml,application/atomsvc+xml,application/xml
MaxDataServiceVersion: 2.0
DataServiceVersion: 2.0
Content-Type: application/atom+xml
Content-Length: 2863
<Entity data in xml format>--changeset_3693-7fc9-0e09--
--batch_edc1-3624-c9fc
Content-Type: multipart/mixed; boundary=changeset_8b3c-a530-d398
--changeset_8b3c-a530-d398
Content-Type: application/http
Content-Transfer-Encoding: binary
PUT INDSet(Ztcguid='00505687BAEB1ED79DE820EC02712E21') HTTP/1.1
Accept-Language: ru-RU
Accept: application/atom+xml,application/atomsvc+xml,application/xml
MaxDataServiceVersion: 2.0
DataServiceVersion: 2.0
Content-Type: application/atom+xml
Content-Length: 2757
<Entity data in xml format>
--changeset_8b3c-a530-d398--
--batch_edc1-3624-c9fc--

May be I missed something?

10 |10000 characters needed characters left characters exceeded
* Please Login or Register to Answer, Follow or Comment.

1 Answer

Best Answer
Ryan Crosby Aug 03, 2017 at 05:52 PM
1

Hi Lev,

You are executing the changeset processing three times because you have three unique changesets in your payload in one batch. If you want to execute those methods only once then the listed operations should all be sent as part of one unique changeset.

Regards,

Ryan Crosby

Share
10 |10000 characters needed characters left characters exceeded