cancel
Showing results for 
Search instead for 
Did you mean: 

Entitlement listing is no longer possible if the line item count exceeeds 1000

Entitlement listing is no longer possible if the line item count exceeeds 1000

Summary

Entitlement listing is no longer possible if the line item count exceeds 1000. The query to see all the line items for an entitlement on the entitlement landing page, produces an error. "ORA-01795: maximum number of expressions in a list is 1000"

Symptoms

  • Entitlement listing is no longer possible if the line item count exceeds 1000.
  • The query to see all the line items for an entitlement on the entitlement landing page, produces the following error: "ORA-01795: maximum number of expressions in a list is 1000"
  • The SQL command executing in this case is : SELECT (fields) FROM [table] WHERE [field] IN (query/list)

Cause

This is a constraint from within Orcale itself, the "IN" clause can't fetch records of count >1000. But there are ways to resolve this.

The following URL shows how you can achieve this: http://stackoverflow.com/questions/400255/how-to-put-more-than-1000-values-into-an-oracle-in-clause
Setting the Line item page Size per Entitlement to "-1", leads to displaying all the line items present for the entitlement. If the count is >1000, then this leads to the error.

Workaround

1) Set the Line item page Size per Entitlement to a value(<1000).
2.) Add some code, just before execution of the query, similar to this:

if (param == -1 || param > 1000) {

param = 1000;

}

execute_query(querystring);

Labels (2)
Was this article helpful? Yes No
No ratings