Purpose

Determines whether the driver will be using server-driven or client-driven paging when connecting to SAP S/4HANA. With server-driven paging, the OData service automatically breaks the response up into pages with each page containing a link to the next page (using $skiptoken). With client-driven paging, the client determines the page size by using $top and $skip parameters in the OData query URI.

For S/4HANA systems, the appropriate setting depends on your SAP deployment model and may affect the maximum number of rows returned in query results.

Valid Values

Server | Client

  • Client
  • Server

Behavior

If set to Client, client-driven paging will be used. If set to Server, server-driven paging will be used.

Notes

  • S/4HANA Cloud Public Edition: If you are connecting to SAP S/4HANA Cloud Public Edition, you should set PageMode=Server. Public Edition enforces server-driven paging and may impose strict row limits that require following the server's nextLink pagination.
  • New S/4HANA environments: SAP enforces server-driven paging more consistently in cloud environments. Using Server mode ensures compatibility with these paging requirements.
  • S/4HANA Cloud Private Edition and On-Premise: These deployments typically allow more flexible paging behavior and often support large $top values without strict server-imposed limits.
  • If you experience issues where only a portion of your data is returned (e.g., 250K rows when more data exists), this may indicate the following:
    • Server-imposed paging limits: Try setting PageMode=Server to allow the server to control pagination and ensure all data is retrieved through multiple page requests.
    • WSFetchSize interaction: The WSFetchSize setting may interact differently with server vs. client paging modes. Server mode typically honors the server's preferred page size rather than the client's WSFetchSize value.
  • Changing from Client to Server mode may affect query performance and memory usage patterns. Test thoroughly in your environment before deploying to production.

Data Source Methods

public String getPageMode()

public void setPageMode(String)

Default Value

Client

Data Type

String