Skip to Content
4

How to select massive data from Successfactors using OData APIs?

Dec 19, 2017 at 02:30 PM

296

avatar image
Former Member

Hi Everyone,

I am trying to select massive data from Successfactors for some analytics reports. Actually, I am familiar with OData APIs but in SF OData API it is returning 1000 record maximum in response. I am using "__next" skiptoken to select other 1000 record as in pagination.

However, here is the question that How can I select more than 1000 records in one request without using "__next" pagination?

It is critically important for me because the performance of data selection is very slow for more than 10.000 records. If the actual data is 10.000 records, I have to send 10 request to SF backend. It affects performance of my application.

Here is Successfactors developer guide link about pagination;

https://help.sap.com/viewer/d599f15995d348a1b45ba5603e2aba9b/1711/en-US/93ef8631b93b4d58be235b047dae2b57.html

Is it really obligatory to select data? Because I need to select more than 1000 record in one request.

What is the best way to select bigger data in SF using OData or in other options?

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

1 Answer

Ankit Maskara
Dec 19, 2017 at 06:08 PM
0

Try changing the OData model size to 10,000 and see.

Show 10 Share
10 |10000 characters needed characters left characters exceeded
Former Member

Hi Ankit Maskara,

How can I change OData model size? Can you please give more details? Is it inside successfactors provisioning or admin panel?

0

Hi Baris,

It has to be changed in SAPUI5 code. I hope you have access to it.

0
Former Member
Ankit Maskara

Hi Ankit,

It is not related with code. Because I could not restrict the reponse size in code. It should be more than 1000 record. However, in successfactor server-side restrict to 1000 record.

0

Hi Baris,

Going from my SAPUI5 experience whenever we need to fetch more data than the 'Default' model size we over write the size property of model and issue the read call to server/backend. Here also I was thinking something similar could be done. Is it not possible ?

0
Former Member
Ankit Maskara

Hi Ankit,

It is not possible in frontend request call. It is not related with size that you set. It directly comes from Successfactors backend service.

If you want, you can try to set $top=2500 record to your OData query. You can also see that SF API will return to you top 1000 record and then you have to execute "__next" attribute value to call second part of your data as well as in OData pagination.

I wonder that is there any configuration to set pagination size of SF OData API? or response size?

0

The top and skip works inconjunction with the model size. In SAPUI5, the model size is the maximum size and that many records can be retrieved from backend in single shot. In Successfactor I am not sure if it's handled in same way or not. Maybe fellow members can comment.

0
Former Member
Ankit Maskara

Apart from successfactors, you are right, but you can check the successfactors developer documentation about pagination in here. However, I still need to select more than 1000 record in one time.

0

In that case try this - pass a value more than 1000 in top and put a breakpoint in the backend API and check where it is ignoring the passed value of top and capping the data output to 1000. Then you may try implementing an enhancment.

0
Former Member
Ankit Maskara

This question is based on successfactors which is cloud based product. You don't have the backend code and you cannot implement an enhancement.

0

Noted. Thanks

0