Scenario:
Many
Applications do have requirements for filtering data in a screen or a view
dynamically based on User/Division/Position/Organization. The traditional
approach here is to clone the respective BC/Applets/Views with appropriate
Search Specifications to filter data and have different sets of Views and
Responsibilities
|
Challenge:
The
traditional approach makes the rules SRF dependent and thereby making every
small change to the data filter necessarily through Repository.
In
addition, any UI/Logical changes to the corresponding Views/Applets or BC
logic results in duplication or rather multiplication of the efforts
resulting in maintenance overhead
|
The
Solution:
Ø Using
Siebel Personalization Rules for hiding/displaying Applets/Views is quite a
common approach. However the Strength of Siebel Personalization in Data
Filtering is one area that’s rarely used upon.
Ø Let’s
take a scenario to exemplify how to use Personalization Rules for dynamic
Data Filter
Ø ABC
Bank has classified a Set of its Customers as ‘Premium’ or ‘VIP’ Customers.
These Customers are dynamically assigned to a specialized team of Sales &
Service Departments and these Premium Customer data should be hidden from any
other Users who are not assigned to the VIP data.
Ø To
implement this requirement, Siebel Personalization Rules can be used as
below:
o Set
the ‘Position Type’ or ‘Employee Type’ (or any new Field to identify the Team
Members allocated to Premium Customers) to ‘Premium’
o Bring
this Field to the ‘Personalization Profile’ BC using Siebel Tools
o Identify
any existing/New Field in ‘Contact’ BC and set the Value of the Field to
‘Premium’ for the ‘Premium’ Customers
Ø Define
Personalization Rules as below:
o Login
to Application
o Navigate
to ‘Administration – Personalization’ Screen >> Rule Sets View
o Add
a new Rule Set Record in the top applet and Name it (say) ‘Premium Customers’
o Scroll
down to the ‘Rules’ List Applet and add a New Rule (say) ‘Filter Premium
Customers’
o Add
the Following “Conditional Expression” to ensure that the Filter is applied
only to the rest of the Team who are not allocated to ‘Premium’ Customers.
The conditional expression is evaluated at run time to identify the Users for
whom the Filter is applicable
GetProfileAttr(“Position
Type”) <> ‘Premium’
o Add
the following “Exclude Expression” to filter out the ‘Premium’ Customer data
for the rest of the Team identified by the “Conditional Expression”
[Contact
Type] = ‘Premium’
o Similarly
you can use “Include Expression” as well depending on the requirement
o Make
sure that the Rule Sets & Rules are ‘Active’
o It
is possible to add as many Rules as required for the Business requirement
Ø Associate
the Personalization Rules to the respective Applets as below
o Navigate
to ‘Administration – Personalization’ Screen >> Applets View
o Add
a new Record and pick the Required ‘Applet’ (‘Contact List Applet’ in this
case)
o Scroll
down to the ‘Rule Sets’ Applet and add the ‘Rule Set’ created above
Ø Save
the Records and Release the Rules by selecting Applet Menu ‘Reload
Personalization Rules’
Ø Logoff
& Login
Ø This
will ensure that the Premium Customer Data is filtered out for the rest of
the Team who are not allocated to the Premium Customers
Ø Many
such Rules & Rule Sets can be implemented and the Rules can modified
dynamically as per changing Business Needs without having to make any
Repository/SRF Changes
|
Further
Reading:
Refer
Personalization Admin Guide in Siebel Bookshelf for further reading
|
Thursday, May 24, 2012
Dynamic Data Filters Using Personalization
Subscribe to:
Post Comments (Atom)
Interesting use for Personalization. Thanks for sharing!
ReplyDelete