Monday, March 29, 2010

Dynamic Drilldowns - Theory and Instructions

After doing a search on supportweb to help a coworker today, I realized the documentation on this functionality was especially... unclear. So let me try to make it more so.

This is an area that changed between siebel 2k and 7 and I actually think the 2k configuration steps were more clear. Anyhow, the order of operations Siebel uses to determine the dynamic drilldown is
  1. Lookup the Drilldown object by Hyperlink Field (There should only be one for any field)
  2. Resolve the dynamic drilldown object Field / Value pairs to determine the correct Destination Drilldown Object
  3. Use the correct Destination Drilldown Object to determine the View and source/destination fields/BC properties from the linked Drilldown Object record.
  4. Navigate to the view
One way to think of the Dynamic drilldown object in Tools is like an If/Else statement. Siebel checks the conditions of the field / value pairs, and navigates to that drilldown object if a match is found. If no condition matches, the else, then the destination view of the current Drilldown Object record is used. This implies that Only the Drilldown Object with the Hyperlink field specified should have dynamic drilldown object records. The other drilldown object records representing different view destination views should not have dynamic drilldown object records configured. It is also not strictly necessary that there be a Dynamic Drilldown Object condition that explicitly specifies it's parent Drilldown Object as the Parent Drilldown Object will always satisfy the else anyway. If for clarity's sake it is considered desireable to see this configuration though, it does not hurt.

Here is an example for a dynamic drilldown on a contact list applet that drills down to two different account views based on a contact type field.

Navigate to Applet, Drilldown Object, Create the following records:

Name: Account
Hyperlink Field: Account
View: Custom Account Detail View X
Source Field: Account Id
Business Component: Account

Name: Custom Type Y
View: Custom Account Detail View Y
Source Field: Account Id
Business Component: Account

For the first Drilldown Object record, Account, Navigate to Dynamic Drilldown Destinations, and create the following record:

Name: Custom Type Y
Field: Contact Type
Value: Y
Destination Drilldown Object: Custom Type Y

This configuration will navigate the user to the view 'Custom Account Detail View Y' if the field 'Contact Type' = 'Y' and to the view 'Custom Account Detail View X' if the field 'Contact Type' is anything else, including the value 'X'.

1 comment: