Thursday, May 10, 2007

Disable Trailing Wildcard

A cut from Siebel.com (back when it was Siebel only)

FAQ 2256: How Can You Disable the Automatic Trailing Wildcard in a Query?



In standard Siebel applications version 7.5.2.200 and above, when a query is run on a text field in an applet, a wildcard automatically gets entered at the end of the text. This generates SQL that uses LIKE and a wildcard, instead of looking for an exact match with the search text. This feature is called Automatic Trailing Wildcard.
For instance, when querying for accounts, if you enter "3" as the search text for the account name field, all records that start with "3", such as "3Com" will be returned.
Automatically adding wildcards to a query was made a default behavior in Siebel applications version 7.5.2.200. This was done to improve usability, following requests from several customers whose users preferred not to have to add wildcards when searching.
For more information on this feature, refer to the Maintenance Release Guide for Siebel eBusiness Applications version 7.5.3 > Configuration Changes for other Usability Enhancements > Improved Query Syntax.
Additionally, the default behavior of the Find feature within Search Center is to append a wildcard to the end of the query criteria. This behavior did not change with the release of version 7.5.2.200.
In some cases, you may want to disable the automatic trailing wildcard feature, either for the entire application, or for particular queries or fields. It is possible to turn off the automatic trailing wildcard feature:
  • For the current query only
  • Application wide for all queries
  • For certain business component fields only
  • For all Find objects
  • For certain Find Objects only
This FAQ summarizes the techniques available to do so. Change Requests 12-FOJ89I and 12-W0JKBF have been logged as documentation enhancement requests to add this information to Siebel Bookshelf.
To Disable Automatic Trailing Wildcard for the Current Query Only
Any user can disable this feature for a particular query by entering the equal sign (=) in front of the query criteria.
For example, when querying for accounts, if you want to find the exact match for the "3Com" account, enter "=3Com" as your query criteria in the account name field.
To Disable Automatic Trailing Wildcard for All Views in the Application
In the .cfg file used to run the application, such as uagent.cfg for the Siebel Call Center application, add the following line in the [SWE] section:
AutomaticTrailingWildcards = FALSE
NOTE: This change will not disable the automatic trailing wildcard for Find Objects in Search Center.
To Disable Automatic Trailing Wildcards for Specific Fields in a Business Component

Make the following changes in Siebel Tools:
  1. Choose the Business Component object in the Object Explorer (OE) and query for the desired business component.
  1. Choose Business Component User Prop sub-object in the OE.
  1. Add a new record with the following parameters:
    • Name = Disable Automatic Trailing Wildcard Field List
    • Value = <comma separated field names>
For example, to disable automatic trailing wildcards for the Last Name and First Name fields, the Value parameter of the user property should be:
Last Name,First Name
NOTE: Do not enclose the field list in the Value parameter with quotes.
  1. Recompile the .srf file and test to make sure the desired behavior occurs.
NOTE: It is not possible to disable the automatic trailing wildcard for fields of DTYPE_PHONE, even if they are listed in the field list for this user property. This is due to the way that phone numbers are stored in the Siebel application database.
To Disable Automatic Trailing Wildcard for All Find Objects in Search Center

Make the following changes in Siebel Tools:
  1. Locate the Search Execution Service business service.
  1. Add a Business Service User Prop with the following parameters:
    • Name = AppendWildcard
    • Value = FALSE
  1. Recompile the .srf file and test to make sure the desired behavior occurs.
To Disable Automatic Trailing Wildcard for a Specific Find Object in Search Center
Make the following changes in Siebel Tools:
  1. Locate the Search Execution Service business service.
  1. Add a Business Service User Prop with the following parameters:
    • Name = AppendWildcard - <FindObjectName>
    • Value = FALSE
where the FindObjectName is the Find object for which you want to disable the automatic wildcard. For example, to disable the automatic trailing wildcard for the Account Find object, the Name parameter of the Business Service User Prop would be:
AppendWildcard – Account
To determine the correct Find object name, check the Find object list in the Object Explorer.
  1. Recompile the .srf file and test to make sure the desired behavior occurs.