20 September 2008

Find Search

Siebel applications provided a search functionality since ages, called "Find". This functionality is valuable in providing a better user experience and controlling user search conditions.

In the application, you will find Siebel Find at the top right corner - a binocular that opens up Find dialog when clicked. User can choose any component they want to search, fill in the appropriate fields and hit go. Search results are displayed in the same applet, that are drilled-down to reach out to the details. Easy to use and also easy to configure. Siebel Tools provides a Find object, which can be used to specify the search components & fields and drill-down target views.

All this, you would know and most probably even more. What I propose here and what I have seen in successful implementations is using Find as the only way to search for records. Now, when users have been using Siebel list applets for searching for some time now, they will find it annoying to open another dialog to type in stuff & click "Go". But they do provide certain advantages:
  • The underlying business component that trawls for records based on search criteria may not be the same as the business component on the UI. This makes the search really fast. Searching takes most of the DB time, and reducing search cost is one of the ever tormenting problems in implementations
    • The Find BC itself can be light with very limited and controlled fields that are not "Force Active" or "Link Spec" true
    • Class of Find BC can be something light, like CSSBCBusComp instead of CSSBCOppty or some or the other Order BC classes
  • Search spec on Find applet and BC can provide more controlled filter conditions, completely independent of UI filters
  • Searches can be spanned through components. For example, if for some reason you have segregated Account and Partner at the BC level based on "Partner Flag", users are forced to do the search on two views. A Find component based on S_ORG_EXT (oops.. actually, S_PARTY) and without the filter criteria used in the two BCs, combined with dynamic drill-downs provide different destination views for the search results, will make things a bit easier
  • With additional configuration (script available in Metalink3) Find can be configured to have certain fields as mandatory for search. For example, provide at least one field for search, Account name is required for account search. This can be used as an alternate way to forcefully use good performing indexes on the DB tables!
  • The developers get to decide visibility of the filter conditions. There can be business restrictions to provide "All Accounts Across Organization" views to call center personnel - the fear of data theft (export in List applets work great). All the data may even look intimidating to new users. Using Find and combining with some other component (or the same one) can have developers defined visibility. Users will drill-down to a detail view to see more.

Siebel also enables searching through 3rd party tools (remember Fulcrum search?). In recent versions of Siebel, Oracle provides an enterprise secure search functionality that is separately licensed. These provide users more flexibility and will prove an addictive tool.

No comments:

Post a Comment