I recently encountered an issue where a user (in this case Admin) logging into the SalesLogix 7.5 LAN client would have the application crash once the user attempted to navigate to the Accounts area in SalesLogix. I discovered the reason for this was multiple entries for the user in the USEROPTIONS table. This table stores various attributes about each user’s options in the SalesLogix client. Things like how large the middle pain is, what the last active tab is, what the default group is for each main view can be found in this area. In my case the admin user had multiple entries defining the same attributes. For instance, looking at the definition of the Middle view tab resulted in 5 duplicate entries:
I created a query that found the duplicate rows for my specific user and then retained only the last one modified. I simply updated the USERID field for the other duplicate rows to be an invalid USERID. Here is that query:
update useroptions set userid=’ADMINXXX’ where optionid in (
select optionid from useroptions a left join
(select category, max(modifydate) as moddate from useroptions where Name = ‘SYSTEM|ACCOUNT DETAILS’ and userid=’ADMIN’ group by category) as t1
on a.category=t1.category and a.modifydate=t1.moddate
where a.userid=’Admin’ and a.Name = ‘SYSTEM|ACCOUNT DETAILS’ and t1.category is null)
After running this query I was then able to log back into the client and navigate around normally. If you use this query be sure to change the necessary criteria to look for the user ID you need and change the update portion to set the value to what you would like. I was unable to determine how these duplicate rows were added but it appears they were introduced over time, probably by upgrades. If you encounter a problem like this where the SalesLogix client shuts down when ever you navigate to a given area, try a query of the USEROPTIONS table to see if there are duplicates. This problem only affects LAN clients as the web client does not use these options.
select userid, category, name, count(userid) from useroptions group by userid, category, name
Above is a query that will show if there are duplicate entries by user for the various attributes stored in the USEROPTIONS table.