Choose the correct sort mode
Sorting in Siebel is not all about specifying the sort criteria at the business component level ( though that works too!).
You can also limit to the user to sort based on her own needs ( through the PDQ), or go more granular and enable specific sort specification in specific views.
Since sort is one of the major criteria that has a direct implication on the application performance, almost every designer and her dog how to provide enough focus on this problem.
All Mode Sort #
The AllModeSort is a property allows you to override the default sort behaviour of the business component. Creating this user property is simple -
Name: AllModeSort
Value: <a valid value, as defined below>
The allowed values are -
NORMAL
: Use the source specifications defined at the business component level. Enable users to sort in the UI, and in predefined queries. Developers can sort on any field of choice.TRUE
: Override sorting provided in the BC, predefined query, or from any other source. Instead use the U1 index for sorting. If U1 is on the primary extension table ( as in case of S_PARTY table ), the “NORMAL” behaviour takes overFALSE
: Remove sorting - it cannot get simpler than that
Although you may feel that setting the user property to FALSE may resolve all performance issues, it is seldom that way in real world. Well tuned sort specification criteria provide a performance boost by allowing oracle DB to choose an optimum path that would not have been present without the sort.
We have changed the AllModeSort
to FALSE
in the rarest of the rare cases, and that did backfire on us because of the many ways of searching possible in Siebel ( varying filter criteria, visibility rules, searching in child records etc.).
Changing AllModeSort
to TRUE
often helps the cause by limiting the bad queries that are generated from the front end.
View Mode Sort #
Siebel also provides ways to enforce specific sorting for views based on distinct visibility types.
You can instruct Siebel CRM to apply distinct sort criteria for business component in any view mode other than sales rep and personal view modes.
Creating ViewModeSort
user property is also simple -
Name: ViewModeSort:<viewmode>
Value: <sort spec>
Valid view modes are -
1 - Manager
3 - All
5 - Organization
7 - Group
8 - Catalog
9 - Sub org
If you do not want your users to override the sort provided for the view mode, just set the AllModeSort
to FALSE
, and ViewModeSort
to the required sort specification.