I know there aren’t many articles on this website related to basic configuration and a lot of you have asked for it.
So, as the saying goes “better late than never”, I am starting with an article on Hierarchical Picklist.
Let’s start with the most basic question:
What is Hierarchical Picklist?
A Hierarchical Picklist is a Picklist that has constrained values based on values of a different Picklist, best example to explain Hierarchical Picklist is Country and State.
When I select value in Country field and I should see only see its related States in State Field.
To solve this we need to create a Hierarchical Picklist so lets get on with solution
First create two different LOV Type PARENT_LOV and CHILD_LOV with values as shown below:
Create 2 Picklist objects for the above-created LOV Type:
Now we have to do the usual configuration of creating business components fields and associate the above created Picklist as shown below:
After this configuration we will have two fields that are independent of each other showing values as shown below.
Now we need to convert them in Hierarchical Picklist.
To do that, go the List of Values View and query for CHILD_LOV Type and in the Description Field enter Respective Parent LOV Display value. For Simplicity sake I have take LOV names Parent 1 and Child 1 as it child name. Your Child LOV type should look like the picture below:
Now, go to Tools and for State Field create the record in Pick Map object with following details
Picklist Field: Description
Compile BC and you are done. You have now State Hierarchical Picklist which is constrained on Country Field Value as shown below:
Now, this post might raise a few eyebrows as bookshelf says that to create Hierarchical Picklist we need to have the BC for Picklist record as Picklist Hierarchical but I have chosen it as Picklist Generic. Also there is one more problem: if I change the parent value after choosing child value doesn’t change the Child Picklist (State field in this case) still shows same old value.
I will discuss reason why Picklist Generic BC also works and also the solution of the above mentioned problem in follow up post.