Siebel Developer's Reference > Business Component User Properties > Controlling Search and Sort >

Removing Duplicate Records From Queries


The Duplicate Elimination user property removes duplicate records from the result set of a query on a business component that runs in ForwardOnly mode. This result set might include multiple copies of the same record if one of the following situations exists:

  • The intersection table includes duplicate rows. For example, Start Date is part of the association, and associations with different start dates are logically unique.
  • The join references one or more destination columns that are not unique, and no join constraints or run-time search specifications exist.

You can use the Duplicate Elimination user property to determine how Siebel CRM handles these multiple copies. The value for this user property must contain a Boolean value. If:

  • TRUE. Siebel CRM only aggregates the set of unique records that the memory currently contains. Do not do this aggregation as part of the SQL in the database layer.
  • FALSE or this user property does not exist on the business component. Siebel CRM aggregates the set of unique records as part of the SQL that runs in the database layer. This aggregation provides superior performance. However, if any of the following conditions apply, then the Siebel Object Manager does this aggregation after Siebel CRM reads all rows from the database:
    • The Database Aggregation Flag parameter in the Server Datasource section of the configuration file is FALSE. This configuration sets Siebel CRM to server mode.
    • The DBAggregation parameter in the application .cfg file on the Mobile Web Client is FALSE.
    • A search specification includes a clause that the database cannot evaluate. Siebel CRM must evaluate this specification in memory.
    • Aggregation in the database fails for some reason.

This user property determines how Siebel CRM does aggregation. You must first make multiple settings in Siebel Tools to enable aggregation on a list column or for a multivalue link.

You can configure Siebel CRM to modify the value for this user property, create a new instance of it, or deactivate it. No more than one instance can exist for each business component.

For more information about:

  • Setting parameters in the configuration file, see Siebel System Administration Guide.
  • Account hierarchies, see Siebel Applications Administration Guide.
  • Configuring a list applet to display totals or to display totals in a separate applet for a multivalue link, see Configuring Siebel Business Applications.
  • ForwardOnly mode, see Siebel Object Interfaces Reference.

Using Duplicate Elimination with a Denormalized Relationship

A situation might exist where Siebel CRM might denormalize the relationship and view that it uses for associations that exist in the context of the parent record. It might repeat the same parent row in the result set as an association to different child records that reside in the intersection table even if no duplicate associations exist. In this situation, it might be preferable to configure Siebel CRM to not reject duplicates.

Siebel Developer's Reference Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Legal Notices.