Symptom
While using API_FUNCTIONALLOCATION to fetch all functional locations from system, the maximum records can be returned is 5000 no matter how large the number set with url parameter $top.
Environment
SAP S/4HANA Cloud Public Edition
Reproducing the Issue
GET /sap/opu/odata/sap/API_FUNCTIONALLOCATION/FunctionalLocation?$skip=0&$top=30000
Response – Returns only 5000 functional locations. By checking manually in system, total number of functional location is 150000 records.
Cause
To prevent memory issues on ABAP backend side, OData Server Side Paging is in place.
Resolution
Retrieve all records in multiple batches by using the client url parameters $top and $skip.
Example requests can be found from below note:
2601445 - Requesting large amount of data through the Gateway is slow and might end up with dumps: STRING_SIZE_TOO_LARGE, TSV_TNEW_PAGE_ALLOC_FAILED
See Also
Keywords
API_FUNCTIONALLOCATION, Functional Location, Equipment, 5000 records , KBA , PM-EQM-FL-2CL , Functional Locations (Public Cloud) , BC-ESI-ESF-GW , REST Integration für CDS und BOPF via SADL , Problem