Example - Links Section in a Data Service Response

"links": [   {
      "rel": "next",
      "href": "http://<ais_server>:<port>/jderest/v2/dataservice/next?stackId=1&stateId=1&rid=48e401e5950224d&fullGridId=54&formOID=V0101&token=044hUE%2B82ZUWZB7MLBBIwG6uX%2FgYKiZFEgsPV99bul%2FYjQ%3DMDE5MDEyNTE3OTEzMDczODg5MzA4MDE3MTE0OC44Ny4xOS40NjE0ODI1MTE0NjM4NTQ%3D&outputType=GRID_DATA&returnControlIDs=F0101.AN8|F0101.AT1|F0101.ALPH"
   }]

As with the application stack, the size of each data set is determined up front using the maxPageSize parameter in the first request to a grid in a form.

But data service next page processing has an additional request parameter called nextPageTimeInterval that effects a process in the background referred to as "data dripping." When this parameter is not used, data dripping occurs where data is fetched from the database silently in the background at five second intervals awaiting the next call. When the next call occurs, it fetches whatever is remaining up to the maxPageSize.

If you set nextPageTimeInterval to 1000 milliseconds or less, data dripping is turned off. You can still perform next calls, but the entire next section is fetched at the time of the next call.

If you set nextPageTimeInterval to a value greater than 1000, but less than the configured jdbj.ini resultSetTimeout, then the records will be silently fetched for the time interval provided.

In any case, it is possible that the result set will time out and the next link call will throw an exception. In the case of a timeout, you will have to start over and re-run the original fetch to refresh the data set.

The JSON response for a time out looks like this:

Status: 500 
{
    "sysErrors": [
        {
            "TITLE": "JAS_MSG347: The query results expired.  Refresh them by clicking Find again.",
            "DESC": "JAS_MSG347: The query results expired.  Refresh them by clicking Find again."
        }
    ]
}