back to top

Understanding SalesLogix Picklists data structure

Picklists in SalesLogix are a very useful tool, but did you know you could also you values from an existing picklist to populate other list-based controls such as ComboBoxes, CheckListBoxes, ListViews… even Radio groups?  You simply need an understanding of the structure of picklists in SalesLogix:

There is a table named “Picklist” within the salesLogix database. There are a number of fields in that table, but the most important fields in this table are TEXT, ITEMID, and PICKLISTID.  SalesLogix stores both the individual picklist items in this table, along with the definition for the picklist itself.  The TEXT field contains the name of both the Picklist as well as each picklist item, however; a list item’s picklistid value will equel the itemid of the picklist name record.  Instead of an ID in picklistid, the main record of the list contains the value ‘PICKLISTLIST’.

So, say you wanted to return the results of the Contact Type picklist, you could run the query:

select text as [Contact Type] from picklist
where picklistid in
    (select itemid as picklistid from picklist
    where text = ‘Contact Type’ and picklistid = ‘PICKLISTLIST’)
order By text

Then using that as the SQL in the process I defined in my last post (Here) you can populate the control of your choice with those values.  This would also be very helpful if you wanted to use SLX Picklist data in an external application which has access to the SalesLogix data.

Pretty neat!

Contact Customer FX for your CRM project
We let our expertise speak for itself - let us know how our all-star team can help on your CRM project
About the Author
Jason Buss
Jason Buss
Jason is a senior application developer with Customer FX.

1 COMMENT

  1. You can also do the same without the subquery with a join from picklist to picklist (not that it would make a difference performance-wise for something as small as a result of picklist items)

    select p1.id, p1.text, p1.shorttext from picklist p1
    left outer join picklist p2 on (p1.picklistid = p2.itemid)
    where p2.picklistid = ‘PICKLISTLIST’ and p2.text = ‘Contact Types’

    -Ryan

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Infor CRM Sync for Exchange: Action Required by August 31, 2026

Using Infor CRM Sync for Exchange with Microsoft 365? Your Exchange administrator must update tenant settings by August 31, 2026 to prevent sync disruption.

[Webinar] What’s Coming Next for Infor CRM SLX and Why v10 Matters

See what’s coming next for Infor CRM SLX, including new marketing workflows, automation improvements, and reasons to consider upgrading to v10.

Disable Caching in Infor CRM SLX Web Client

In the rare case caching is causing issues in the Infor CRM SLX web client, it is possible to disable specific types of caching by making edits using Application Architect, and then deploying.

Exploring AI Options for Infor CRM v10

I've started taking a closer look at the AI capabilities built into Infor CRM v10. Over the next several posts, I'll share what I learn. From the built-in features and supported AI providers to implementation considerations, costs, and practical use cases.

Infor CRM SLX 10.0: Delegate Ownership Changes for “Everyone” Records

Learn how the new EveryoneOwnerAssignment secured action in Infor CRM SLX 10.0 allows designated users to change ownership of Everyone-owned records without requiring Administrator access.

Related Articles

Infor CRM Sync for Exchange: Action Required by August 31, 2026

Using Infor CRM Sync for Exchange with Microsoft 365? Your Exchange administrator must update tenant settings by August 31, 2026 to prevent sync disruption.

[Webinar] What’s Coming Next for Infor CRM SLX and Why v10 Matters

See what’s coming next for Infor CRM SLX, including new marketing workflows, automation improvements, and reasons to consider upgrading to v10.

Disable Caching in Infor CRM SLX Web Client

In the rare case caching is causing issues in the Infor CRM SLX web client, it is possible to disable specific types of caching by making edits using Application Architect, and then deploying.

Exploring AI Options for Infor CRM v10

I've started taking a closer look at the AI capabilities built into Infor CRM v10. Over the next several posts, I'll share what I learn. From the built-in features and supported AI providers to implementation considerations, costs, and practical use cases.

Related Videos