Implementing Siebel Business Applications on DB2 UDB for z/OS > Maintenance Considerations for z/OS >

About Cursor Close


Cursor close allows you to regulate system resource utilization by Siebel clients in a z/OS environment by setting cursor configuration parameters. The cursor configuration parameters specify the number of database rows a Siebel client cursor can get from a user-entered query or a Siebel operation that generates a SQL query.

The cursor configuration parameters, MaxCursorSize and PreFetchSize, are read at startup from the following places:

  • Enterprise profile configuration parameters on the Siebel Server for Siebel Web Clients.
  • Application configuration (.cfg) file for Siebel Developer Web Clients and Siebel Mobile Web Clients.

The Siebel client connector closes the SQL cursor after the number of rows specified by the cursor close parameters, DSMaxCursorSize and DSPreFetchSize, have been retrieved.

You can choose whether to use cursor close in restricted or unrestricted modes.

Unrestricted Mode

When cursor configuration parameters, MaxCursorSize and PreFetchSize, are not specified or are both set to a value of -1, the Siebel application opens a cursor on the user's behalf and retrieves blocks of records until the query result set is exhausted or until the user cancels the display of remaining records. When a user remains on a list applet with multiple screens of data, for example, Contact List Applet, the application continues to hold the cursor.

The impact on database and network resources when a query returns a large result set can be significant.

Restricted Mode

During normal operation (restricted mode), with cursor configuration parameters set appropriately, the Siebel application retrieves up to the MaxCursorSize number of rows from the DB2 database.

For example, if MaxCursorSize is specified as 128, the Siebel application retrieves up to 128 rows from the database for a single operation or query. The Siebel application then closes the cursor, releasing the thread for other users to access. The user can then scroll through the retrieved rows, because the rows are cached on the Siebel Server within the Application Object Manager.

If a user tries to scroll to records beyond the value of MaxCursorSize (128 in the example), the cursor close alert appears:

There were more rows than could be returned. Please refine your query to bring back fewer rows.

Suppose, for example, that you navigate to the My Opportunities view, which is sorted by the Name column. Seventy-five rows qualify for this query. The initial query returns 128 rows; the 128th row says Siebel Systems. When you try to scroll to the 129th opportunity, the cursor close alert appears. You then have to choose Edit > Query > Refine Query, type '>Siebel Systems' in the Name field, and then execute the query to retrieve additional records.

Implementing Siebel Business Applications on DB2 UDB for z/OS