Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Hi,
Our client has a requirement to delete the document CALS automatically from QEMC.
For Ex: We have 20 Document CALS assigned and 20 users assigned for a document. But one user has last logged in 15 days back and they want to delete the user without manual intervention and assign that to a new user who will be using the Document. Similarly in a certain time period if the user is not logged on then that Document CAL should be free. Any automatic way for this?
Thanks in Advance.
Hi Uma,
If you are happy with .NET development have a look into the QMS interface.
Also you could see if there is anything in the QlikView Power Tools that would help.
Thanks
Mark
// Here is some code that might give you a start:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Diagnostics;
namespace cal_manager
{
class Program
{
static void Main(string[] args)
{
//Console.WriteLine("Document CAL Manager");
qms_interface edx_int = new qms_interface();
//command - list \ delete
//doc
if(args.Length>=2)
{
string doc_command = args[0];
string doc_folder = args[1];
string doc_name = args[2];
switch(doc_command)
{
//Delete document cals older than 24 hours old
case "removeall":
case "delete":
{
Console.WriteLine("The following document cals have been deleted:");
Console.WriteLine("docs = " + edx_int.check_document_cals(doc_command, doc_name).ToString());
}
break;
//List document cals
case "list":
{
Console.WriteLine("list of document cals over 24 hours old:"+doc_name);
Console.WriteLine("docs = " + edx_int.check_document_cals(doc_command,doc_name).ToString());
}
break;
//Check the current doc cal usage
case "manage":
//parameters: mange docname free_cal threshold cal_change
{//string doc_name, int cal_threshold, int cal_change)
if (args.Length == 6)
{
int free_cal_threshold = int.Parse(args[3]);
int cal_change = int.Parse(args[4]);
int max_cal_allocation = int.Parse(args[5]);
Console.WriteLine("manage document cals assigned:" + doc_name);
Console.WriteLine("docs = " + edx_int.manage_document_cals(doc_folder, doc_name, free_cal_threshold, cal_change,max_cal_allocation).ToString());
}
else
{
Console.WriteLine("Not enough parameters");
}
}
break;
}
}
else
{
Console.WriteLine("Not enough parameters");
}
//Console.WriteLine("Please Enter to continue");
//Console.ReadLine();
}
//Create a log for this application in the windows event log
public static void log_message(String log_message)
{
string sSource;
string sLog;
string sEvent;
sSource = "CAL Management App";
sLog = "Application";
sEvent = log_message;
if (!EventLog.SourceExists(sSource))
EventLog.CreateEventSource(sSource, sLog);
EventLog.WriteEntry(sSource, sEvent);
//EventLog.WriteEntry(sSource, sEvent,
// EventLogEntryType.Warning, 234);
}
}
}