I recently had a client complaining that their Account Type and Sub-Type picklists were not correctly working in their SalesLogix v8 web client. I decided to describe their problem in hopes it may help others.
The Account Sub-Type picklist is driven off the value selected in the Account Type picklist. SO based on what Type is selected you get a different set of options for the Sub-Type. This functionality is implemented on the Account Detail form load event where a SalesLogix Account entity business rule is being called (account.GetSubTypePickListName()) This rule is hidden from view since it is in the compiled Sage.SalesLogix.BusinessRules.dll.
What this code is doing though is taking the pciklist item selected in the Account Type picklist, it then looks at the Short Text (Not the Text) of that selected picklist item and then attempts to find a picklist called “Account ” + Account Type picklist’s code. So for instance if you have an Account Type picklist item with the text of “Customer” and the Short Text of “CUST” then the system will attempt to find a picklist called “Account CUST”. The Short Text code is not case sensitive, so in the sample I mentioned, if you have a Picklist called “Account Cust” it will correctly
bind to the Sub-Type field when the “Customer” picklist is selected in
the Account Type field.
In the case of the client I was working with, their Account Type picklist had Text values but no Short Text equivalents. I used a SQL statement to update the picklist item’s Short Text values correctly and the hierarchical picklist started working.