Configuring Siebel eBusiness Applications > Configuring Business Components >

Defining Search Specification Property


If the value in the Search Specification property in a Business Component object definition is non-blank, the set of records provided to an applet using this business component is restricted. The search specification contains the names of one or more fields in the business component and various operators, combined to create a conditional expression. Records in which the value of the conditional expression evaluates to TRUE are provided to the applet for display; those records in which the expression evaluates to FALSE are excluded.

NOTE:  Search specifications on child applets are not executed.

Some sample search specification expressions appear below:

[Type]= "COST LIST"

[Revenue] > 5000

[Competitor] IS NOT NULL and [Competitor] <> "N"

[Type] = LookupValue ("TODO_TYPE", "In Store Visit")

Search specification expressions are built according to the following syntax rules:

  • Standard comparison operators are used to compare a field to a constant, or one field to another field. These include =, <>, >, <, >=, and <=.

    Example: [Revenue] > 5000

  • String constants are enclosed in double quotation marks. String values are case sensitive, so the use of uppercase and lowercase letters in the search specification should exactly match that of the records you want returned.

    Example: [Type] <> "COST LIST"

  • The logical operators AND, OR, and NOT are used to negate or combine expressions. Case is ignored in these operators; for example, "and" is the same as "AND").

    Example: [Competitor] IS NOT NULL and [Competitor] <> "N"

  • A field name in a search specification must be enclosed in square brackets.

    Example: [Conflict Id] = 0

  • The search specification expression must be 255 characters or less.

An applet search specification cannot be used to override the search specification of the underlying business component, if the business component has one. Rather than overriding the business component's search specification, the applet's search specification is appended to that of the business component. Search specifications should appear in the business component or the applets that use it, but not both.

The search specification on an applet is converted to a WHERE clause by the data manager at run time. When two applets based on the same business component appear in the same view, one query is generated against the database to populate both applets. Because a database select statement only supports one WHERE clause, only one of the applets should have a search specification—or if both do, they should have the same specification.

For example, the Account List Applet and the Account Entry Applet both appear in the Account List View. The record that is selected in the Account List Applet also appears in the Account Entry Applet. When you select a different row in the list or scroll through the list, the Account Entry Applet is updated to show the same record that is selected in the Account List Applet. This is made possible by the fact that both applets are populated from the same query and therefore show the same record set.

To prevent the two applets from being synchronized, they would have to be on separate business components, for example by copying the business component on which the first applet is based.

For more information on the usage of the Search Specification property of applets, see Siebel Developer's Reference.

Search specifications can affect performance negatively, particularly when you include:

  • Fields based on joins
  • The operators NOT or OR; they can force the database to execute a full table scan
  • Calculated fields

For more information about performance, see Performance Tuning Guide.

Configuring Siebel eBusiness Applications