Showing results for 
Search instead for 
Do you mean 
Community Home Request Access Read Blogs Share Your Ideas Search Community View My Settings
Reply
Employee
scankannan
Posts: 191
Registered: ‎03-13-2009
Accepted Solution

SalesLogix Admin Queries

Ok i am just trying to see if this is possible via SQL

 

In the SalesLogix admin there is a panel displaying x number of named users logged in out of a list of named users and x number of concurrent users logged  in out of a list of concurrent users. I wish to have the same thing displayed in a crystal report published as a pdf via Knowledge Sync? any pointers on the tables used apart from userinfo and licenses table. I am trying to understand how does the user get mapped to the name pool license and how does the user get mapped to the concurrent pool license as the users in saleslogix use one single connection pool via the SLX OLEDB Provider

 

Any thoughts on building this  query?

 

Regards

Kannan

Please use plain text.
Silver Contributor
apfingstl
Posts: 1,255
Registered: ‎04-08-2009

Re: SalesLogix Admin Queries

As far as I know this information is not stored in the database.

I think I heart something like there is a licensing service which collects this information.

But I am not sure if and where this is stored.

 

Alexander

Please use plain text.
Gold Super Contributor
RJLedger
Posts: 3,007
Registered: ‎03-19-2009

Re: SalesLogix Admin Queries

Correct - there is nothing in SalesLogix OOTB that tracks any of this stuff.

 

AFAIK there is no way to easily get it from the system w/out a "custom". 

--
RJ Ledger - rjledger@rjlSystems.net +1 603.369.3047 x101

".. Innovators in Mobility - Experts in Workflow Automation..."
http://www.rjlSystems.net - blog: www.rjlSystems.net/blog.html
Please use plain text.
Employee
scankannan
Posts: 191
Registered: ‎03-13-2009

Re: SalesLogix Admin Queries

yes i am aware its custom, question is it can be built if data is stored at the database level, if its via the provider i would assume one would have to build a custom provider extension, am i correct?

 

Regards

Kannan

Please use plain text.
Gold Super Contributor
RJLedger
Posts: 3,007
Registered: ‎03-19-2009

Re: SalesLogix Admin Queries

A - the data is not in the SalesLogix db

 

B - AFAIK the info exposed via the provider extension "libraries" does not expose anything like what you are looking for.

 

What's needed is a new SalesLogix "stored procedure" to let us get at the info in real time. This has been a feature/wish request for years (back from when 6.0 was in beta).

--
RJ Ledger - rjledger@rjlSystems.net +1 603.369.3047 x101

".. Innovators in Mobility - Experts in Workflow Automation..."
http://www.rjlSystems.net - blog: www.rjlSystems.net/blog.html
Please use plain text.
Employee
pzeimet
Posts: 78
Registered: ‎06-25-2009

Re: SalesLogix Admin Queries

This information is only available from the License Manager running on the SlxServer machine.

It can be done, but you would need to write a server component to do the following.

 

 

1) First you need to get an instance of the System object and connect to the SlxServer.
    a) Create OLE Object 'SlxSystem.SlxServer'
    b) Call method SetConnection on instance created above.  Pass string parameter to method as follows:
        'Data Source=<Server>;Port=<Port>'
        <Server> is the machine name the SlxServer is running on.
        <Port> is the port number the SlxServer is listening on.  By default this is 1706.
2) Use the System obj above to get an instance of the License Manager.
    a) Call Method GetInterface('SlxLicenseMgr.SlxLicense','553D6249-C4A6-40B6-9118-B937021CD9DA')
    b) The method call above will return an OLEVariant representing an instance of the License Manager Object.
3) Once you have an instace of the License Manager Object, you can get a list of the logged in users.
    a) Call Method LoggedInUsers(<DB Alias>) on License Manager Instance.
        <DB Alias> is the alias given to the connection via the OleDBConfigMgr.  This is also the Initial Catalog in the SalesLogix provider connection.
    b) The result of the call above will be a variant array of User IDs. 

    c) You can use this list to query the UserSecurity table for the break down by UserType.

 

 

Paul Zeimet

Development Manager

Sage SalesLogix

Paul Zeimet
Development Manager
Infor CRM
Please use plain text.
Copper Contributor
wilsonat
Posts: 7
Registered: ‎10-12-2009

Re: SalesLogix Admin Queries

Does this method of connecting to the License Manager work for 7.2.1? I'm attempting to connect using a custom C# application, but the call to LoggedInUsers fails with a "Attempted to read or write protected memory. This is often an indication that other memory is corrupt." exception.

 

Here's my code:

 

            var slxServer = (ISlxServer) new CSlxServerClass();
            slxServer.SetConnection(providerName);
           
            var licenseMgr = (ISlxLicense)slxServer.GetInterface("SlxLicenseMgr.SlxLicense", "553D6249-C4A6-40B6-9118-B937021CD9DA");
            var users = licenseMgr.LoggedInUsers(instanceName);

Please use plain text.
Employee
pzeimet
Posts: 78
Registered: ‎06-25-2009

Re: SalesLogix Admin Queries

Looking at your code, I have a couple suggestions:

1) make sure the value of providerName is of the correct format?

2) make sure licenseMgr has a value after the call to GetInterface?

 

You could also call the method through invoke as follows:

 

object licenseMgr = slxServer.GetInterface("SlxLicenseMgr.SlxLicense", "553D6249-C4A6-40B6-9118-B937021CD9DA");

 

if (licenseMgr != null)

{

  Object[] args = {instanceName};

  object users = licenseMgr.GetType().InvokeMember("LoggedInUsers",BindingFlags.InvokeMethod, null, licenseMgr, args);

}

Paul Zeimet
Development Manager
Infor CRM
Please use plain text.
Copper Contributor
wilsonat
Posts: 7
Registered: ‎10-12-2009

Re: SalesLogix Admin Queries

As suggested, I modified my code to use late-bound invocation instead of calling the LoggedInUsers method directly, and it worked perfectly! Thank you for the excellent sample code.
Please use plain text.
Bronze Super Contributor
DanCarvin
Posts: 153
Registered: ‎04-08-2009

Re: SalesLogix Admin Queries

If you want to build a Crystal Report that displays the data in a SLX Admin screen I would first go to that screen, start SLX Profiler, then refresh the admin screen.   You should then be able to find the queries that collect the data you need and use those as your guide while designing the report.

 

 

Please use plain text.