Generally two ways are there in Siebel, by which we can categorize the Picklists in Siebel
a) Static V/s Dynamic Picklist.
b) Bounded V/s Unbounded Picklist.
So, let start with the first categorization.
Static Picklist is the one which is based on “PickList Generic” or “PickList Hierarchical” Business Component and fetches the values from “Administration-Data -> List of Values”. “Type Field” & “Type Value” are the two fields where you specify the field name where the LOV Type has been stored (i.e. Type) and the LOV Type value respectively. So the values which appears in this PickList remains same in number (unless & untill you go to “List of Values” view and add some values, and do clear cache).
On the other side, as the name depicts, Dynamic PickList are one whose values can increase and decrease at the run time, due to the fact that these Picklists are based on any business component which is being used for transactional data in the application (like Accounts, Contacts, Orders) etc. So, what happens is, as soon as transactional data is being added by the user, it starts appearing inside the picklist.
The one very well known fact is that generally Static picklist shows as a drop-down on the applet, while values from the dynamic picklist display with the help of Pickapplet.
Second categorization :
When bounded picklist is being used for a field, then user can only selects the value from the values provided by the picklist. Even if user tries to type in the wrong value and tries to step off from the field, system will automatically opens up the pickapplet/drop-down and force the user to selects the value from picklist only.
On the other side, Unbounded Picklist are the one from where user can selects the value from the picklist and also system allows the user to type in some new values in the field as well, which is not existing in the picklist.
Note : When we use the “SetFieldValue()” method on any picklist field of any business component, it does not fire the pickmap, if the picklist is unbounded. To overcome this, we need to used the “.pick()” method.
Thanks to Gaurav Gupta for his contribution in above post…