SAP Knowledge Base Article - Public

2925125 - SuccessFactors API Limitation - It is not possible to transfer more than 1000 records

Symptom

We are using the qualification integration flow on Cloud Platform Integration. There is an API limitation which means that it is not possible to transfer more than 1000 records into our HCM system.

Environment

SAP SuccessFactors Learning

Cause

The cause of the issue is related to something called "pagination" or lack of its usage on the client side.

It is not possible to change the 1000 records limitation per page. The reason is to protect our (SAP) servers against performance degradation and ultimately make our APIs perform better for our customers. Furthermore, we usually recommend to use no more than 500 records per page/per call.

Resolution

You need to make use of OData functions "$count", "$top" and "$skip". That is, you include $count function within the API parameters passed which will give you back how many records exist for the request. Then, you need to include $top function in the next call to break the records up into manageable chunks. The third call would include pagination function "$skip" which would allow you to skip the first amount of records (as you have already been returned these records in the previous call) and start at record e.g 501 and return the remaining records.

More information on how to use "$count", "$top" and "$skip" pagination functions can be found in this very useful blog:

https://blogs.sap.com/2013/03/20/using-odatas-top-skip-and-count/

More information on using pagination for Learning Odata APIs can be found in the SAP Help portal:

https://help.sap.com/viewer/5aab9bef78fc4c4fa199c1f7aa142720/1911/en-US/ae2c9361556a4b9db5491408482af8d7.html

Keywords

ODATA API, pagination, SF API limitation, API, ODATA , KBA , LOD-SF-LMS-ODA , Web Services OData , LOD-SF-LMS , Learning Management System , Problem

Product

SAP SuccessFactors Learning all versions