Views:

Scenario Overview

This business scenario requires us to build a set of dependent pick-lists between the option sets below. We need it so if the continent 'Europe' is selected then all the Country pick-list values are filtered to just countries in Europe. Following that if 'Ireland' is selected as a country then the City pick-list needs to be filtered to all the cities in Ireland.

  • Continent
  • Country
  • City       

N52 Formula Manager Solution

The Formula Manager solution works like this,

  • A formula is setup to execute whenever the Account form loads or the Continent pick-list changes.
  • The formula checks to see what Continent has been selected
  • It then sets the corresponding values in the country pick-list
  • The same set of steps can be used to setup a similar formula on the Country pick-list for filtering cities
  • So there will be a ripple\cascading effect on the pick-lists

N52 Formula Manager Steps

These steps assume you have setup & populated your own set of pick-lists. Note the pick-list values in the sample formula will need to be changed to reflect your values. The steps below are just for the Continent pick-list so a similar set of steps are required for the Country pick-list.

  • Create a new formula of type 'ClientSide - Perform Action'
  • Set the Source Entity to 'Account'
  • Set the Source Property to 'OnLoad & Continent'
  • Copy & paste the formula below into the formula description field & click save
  • Click 'N52 Commands' -> 'Publish Formula'
  • You are now ready to test

Formula

Case([account.new_continentname],
             When('Europe'), Then (SetPicklistValues('new_country', false,
                                                   100000010,100000011, 100000012,100000013, 
                                                   100000014,100000015, 100000016,100000017)),
             When('North America'), Then (SetPicklistValues('new_country', false, 
                                                            100000020,100000021, 100000022,100000023, 
                                                           100000024,100000025, 100000026,100000027)),
             When('South America'), Then (SetPicklistValues('new_country', false,
                                                            100000030,100000031, 100000032,
                                                            100000033, 100000034,100000035,
                                                            100000036,100000037)),
             When('Africa'), Then (SetPicklistValues('new_country', false,
                                                     100000040,100000041, 100000042,100000043, 
                                                     100000044,100000045, 100000046,100000047)),
             When('Asia'), Then (SetPicklistValues('new_country', false,
                                                 100000050,100000051, 100000052,100000053,
                                                 100000054,100000055, 100000056,100000057)),
             When('Oceania'), Then (SetPicklistValues('new_country', false, 100000060,100000061,
                                                    100000062,100000063, 100000064,100000065,
                                                   100000066,100000067)),

             Default( SetPicklistValues('new_country', true, 1))
       )