Symptom
You are running an OData query for a ByD / C4C data source from your SAC system and you receive the following error message:
System query options '$skip' are not allowed in the requested URI
However, you are not using $skip in your query, and when you run it in the browser directly, the query runs through without any issues. The error happens only on SAC side.
Environment
- SAP Business ByDesign
- SAP Cloud for Customer
- SAP Analytics Cloud
Cause
SAC retrieves the query records by paging for performance and load reason. Each page has 1000 records. When the query results is over 1000 records, SAC uses $skip and $top operators to acquire the subsequent pages of records, for example, SAC sends the following queries to the OData service:
$top=1000 for the first 1000 records
$skip=1000&$top=1000 for records from 1000-2000
$skip=2000&$top=1000 for records from 2000-3000
However, as you can see in the KBA 2822026, ByD / C4C does not support $skip unless the data is non-aggregated in your query.
Resolution
You have to set your query in such a way, that the data is non-aggregated. This means that certain fields need to be included in the list of fields that you request.
See Also
For further details, please see the KBA 2822026 - Error in OData Query for Data Source: Skip Are Not Allowed In The Requested URL.
For the SAC integration with ByD, you can also see the blog here.
Keywords
data source, '$skip' are not allowed in the requested URL, odata, sac, error, business analytics, paging , KBA , AP-RC-ANA , C4C, ByD, Travel: Analytics Tools & Frameworks , How To