| 
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