Skip to main content Skip to complementary content
Close announcements banner

GetCALConfiguration Method

Overloads

GetCALConfiguration(Guid, CALConfigurationScope)

Gets the current session/document and named CAL configuration from a QVS.

GetCALConfiguration(Guid, CALConfigurationScope)

Gets the current session/document and named CAL configuration from a QVS.

Declaration

      CALConfiguration GetCALConfiguration(Guid qvsID, CALConfigurationScope scope)
    

Parameters

Type Name Description
System.Guid qvsID

The QVS ID.

CALConfigurationScope scope

The scope.

Returns

Type Description
CALConfiguration

If successful, the CAL configuration is returned.

Remarks

security

Requires membership of local groups QlikView Management API and QlikView Administrator.

Examples

The following code example retrieves the CAL information from a QVS and prints information to the console.

The service key injection is assumed to be handled behind the scenes. For an example of how to inject the service key, see Samples.

            
using System;
using System.Collections.Generic;
using System.Linq;
using QMSAPI;

class Program
{
    static void Main(string[] args)
    {
        try
        {
           // create a QMS API client
           IQMS apiClient = new QMSClient();

           //retrieve a time limited service key
           ServiceKeyClientMessageInspector.ServiceKey = apiClient.GetTimeLimitedServiceKey();
           ServiceInfo qvsService = apiClient.GetServices(ServiceTypes.QlikViewServer).First();

           CALConfiguration config = apiClient.GetCALConfiguration(qvsService.ID,CALConfigurationScope.All);
           if(config != null)
           {
               //Document CALs
               Console.WriteLine("Document CALs\n");
               Console.WriteLine("# assigned document CALs:" + config.DocumentCALs.Assigned);
               Console.WriteLine("# in license document CALs:" + config.DocumentCALs.InLicense);
               Console.WriteLine("# limit document CALs:" + config.DocumentCALs.Limit);

               //Named CALs
               Console.WriteLine("\n\nNamed CALs\n");
               Console.WriteLine("Identification mode:" + config.NamedCALs.IdentificationMode);
               Console.WriteLine("# assigned named CALs:" + config.NamedCALs.Assigned);
               Console.WriteLine("# in license named CALs:" + config.NamedCALs.InLicense);
               Console.WriteLine("# limit document CALs:" + config.NamedCALs.Limit);
               config.NamedCALs.AssignedCALs.ForEach(
                   assignedCal => Console.WriteLine(String.Format("User:{0}\nLast used:{1}", assignedCal.UserName, assignedCal.LastUsed))
                   );

               config.NamedCALs.LeasedCALs.ForEach(
                   leasedCal => Console.WriteLine(String.Format("User:{0}\nLast used:{1}", leasedCal.UserName, leasedCal.LastUsed))
                   ); 

               //Session CALs
               Console.WriteLine("\n\nSession CALs\n");
               Console.WriteLine("# available session CALs:" + config.SessionCALs.Available);
               Console.WriteLine("# in license session CALs:" + config.SessionCALs.InLicense);
               Console.WriteLine("# limit session CALs:" + config.SessionCALs.Limit);
           }
        }
        catch (Exception ex)
        {
            Console.WriteLine("An exception occurred: " + ex.Message);
        }
        // wait for user to press any key
        Console.ReadLine();
    }
}
  

Exceptions

Type Condition
System.Exception

Thrown if there were any problems retrieving the CAL configuration.

Did this page help you?

If you find any issues with this page or its content – a typo, a missing step, or a technical error – let us know how we can improve!

Join the Analytics Modernization Program

Remove banner from view

Modernize without compromising your valuable QlikView apps with the Analytics Modernization Program. Click here for more information or reach out: ampquestions@qlik.com