SAP OData devuelve 1.000 filas a la vez y no respeta la paginación
El gateway de SAP parece ignorar $skip y $top, limitando los resultados a 1.000 filas y ocultando datos reales.

1.000 filas exactas, 1.589 reales
Se estaba extrayendo la lista de Internal Order de SAP mediante OData. La respuesta contenía exactamente 1.000 filas, sin variaciones. En la práctica, los datos suelen ser desordenados; una cifra “perfecta” suele indicar una trampa. El desarrollador probó la paginación estándar con $skip y $top, pero el gateway devolvió siempre las mismas 1.000 filas y no incluyó el enlace __next. El conteo con $count también devolvió 1.000, aunque el total real era 1.589.
¿Qué pasa con la paginación?
SAP no aplica el mecanismo de paginación OData. Cuando la respuesta alcanza el límite, el gateway se queda sin la información que debería enviarse en la página siguiente y no indica que haya más datos. La ausencia de __next es una señal de que la API está truncando silenciosamente.
Verificación independiente
La solución recomendada es dividir el rango de fechas en subconjuntos más pequeños y comparar los $count de cada fragmento. En el caso, se obtuvieron 938 y 651, sumando 1.589, que coincide con el total real. Esta técnica garantiza que los límites ocultos no pasen desapercibidos.
Implicaciones para la práctica
Los ingenieros de datos que trabajan con OData en SAP deben asumir que existe un límite de 1.000 filas por defecto, a menos que lo demuestren de otra forma. Depender únicamente del protocolo estándar no es suficiente; se necesita una verificación externa para evitar pérdidas de datos.
Conclusión
Una cifra redonda no es garantía de exactitud. La práctica de dividir el rango temporal y comparar conteos parcial es un buen punto de partida para asegurar la integridad de los datos al consumir APIs OData de SAP.
Recurso

