Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
There was a discussion about how to get EDX remote task execution feature in Qlikview 11.
http://community.qlik.com/docs/DOC-2650
Author did include a lot of artifacts which explained the entire new procedure. Unfortunately some of the users were not familiar with Microsoft C# projects and they were having confusion how to make use of these tools. I tried to reply there , but the thread was closed. Intension of this post is to help users who are struggling to replace their old EDX task.
In the abovementioned post you can find an attachment called_CommandLine_v1.exe. Extract this exe to any location of your choice. You will get following files after the extraction
QMSEDX.exe.config & QMSEDX.exe.
Both of these files are essential for executing the task
Following is the syntax for using the exe file
/// Commandline call:
/// qmsedx -task=name [-qms=qmsaddress] [-password=pwd] [-variablename=vname] [-variablevalues=vvalues] [-timeout=timeout] [-pollinterval=interval] [-verbosity=verbosity]
/// Arguments:
/// -task [REQUIRED]: The name or id of the task to execute.
/// -qms [OPTIONAL]: The address of the qms. Default is the local host.
/// -password (-pwd) [OPTIONAL]: The password required to execute the task, if set.
/// -variablename (-vn) [OPTIONAL]: The name of the variable to pass on to the task, if set.
/// -variablevalues (-vv) [OPTIONAL]: A semicolon separated list of values of the variable to pass on to the task.
/// -timeout (-to) [OPTIONAL]: How many seconds to wait for the task to finish. Default value is one minute.
/// -pollinterval (-pi) [OPTIONAL]: How often to check the status of the task. Default value is every five seconds.
/// -verbosity [OPTIONAL]: The level of output, 0-5. 0 will not produce any output and 5 is the most verbose.
Example
I copied both these files to a server and created a .bat file with following code
C:\Users\Username\Desktop\qmsedx -task="DEV SAP BW ScriptBuilder" -password=123.
(In order to create a bat file, just write your argument in the notepad and save it with extn .bat)
Then i executed it using command line and the task executed in my publisher. Read the whitepaper that is attached in the previous post for more information
Although the EDX task execution feature went away with 11, it is still easy to execute the task from an external system.
Hi All,
I missed a piece of information so adding it as well
What if I have to execute the .bat file from a button that I create on a qvw file. I have copied the exe on my QlikView Server and I am writing a small Macro to execute the exe. I keep running into an error. I have tried to execute the EXE in command Line from the server and the task was executing perfectly fine. The following is the code I am using to execute exe on the server (which should trigger the task):
sub QmsEdxCmd
dim strTaskName
'dim strTaskPassword
dim strServer
dim strCommand
'strTaskName= ActiveDocument.Evaluate("vTask")
strTaskName= ActiveDocument.Variables("vTask").GetContent.String
'MsgBox(strTaskName)
'strTaskPassword= ActiveDocument.Variables("vPassword").GetContent.String
strServer = "http://<servername>:4799/QMS/Service"
strCommand = "C:\ProgramData\QlikTech\QMSEDX\qmsedx.exe -task="&strTaskName&" -qms="&strServer
'MsgBox(strCommand)
'-password="&strTaskPassword"
Set WshShell = CreateObject("WScript.Shell")
'WshShell.Run(strCommand),0,false
WshShell.Run "cmd /K C:\ProgramData\QlikTech\QMSEDX\QMSEDX.exe -task=TASK_APIGuide"
WshShell.Echo "Task Executed!!!"
end sub
Following is the error message that I get when I try to click the button via Access Point:
Macro Parse Failed. Functionality was lost
QmsEdxCmd
Error: Permission Denied
I have checked my permissions and made sure that I am in the servers Admin Group as well as in the QlikView EDX group.
If I change the last part of the code from
Set WshShell = CreateObject("WScript.Shell")
'WshShell.Run(strCommand),0,false
WshShell.Run "cmd /K C:\ProgramData\QlikTech\QMSEDX\QMSEDX.exe -task=TASK_APIGuide"
WshShell.Echo "Task Executed!!!"
TO
Set WshShell = CreateObject("WScript.Shell")
WshShell.Run(strCommand,0,false)
WshShell.Echo "Task Executed!!!"
I get the following error message via Access Point:
Macro Parse Failed. Functionality was lost
QmsEdxCmd
Error:
(Nothing mentioned in the Error)
I am not sure what wrong am I doing but seems like I am missing a very critical piece of the puzzle. Any help would be appreciated on this.
Hi nsagar30,
as far as I know, macros are executed on the client. So you have to make sure, that the client has direct access to the QMSEDX.exe !!! You could copy QMSEDX.exe to all Clients or you use a shared folder. I solved it like this
// Reload-Parameter
SET vEDXApplicationPath='\\SERVER\Documents\Applikation\Produktiv\QMSEDX.exe';
SET vEDXTaskname='Produktiv/Cockpit.qvw';
SET vEDXServer='http://SERVER:4799/QMS/Service';
SET vEDXVerbosity=5;
SET vEDXpi=2;
SET vEDXTimeout=60;
SET vEDXParameters=' -task="$(vEDXTaskname)" -qms=$(vEDXServer) -verbosity=$(vEDXVerbosity) -pi=$(vEDXpi) -timeout=$(vEDXTimeout)';
Regards
Matthias
I am out of the office until 12/24/2012.
I am out of the office I will respond to your matter on my return.
For urgent matters please contact the following
For Historical FX Settlement monthly Report - Please contact Rene Gornig
For RMF Weekly Report - Please contact George Fernandez
For escalation Jannette Lobemeier & Nick-RCM Price
Thanks
Note: This is an automated response to your message "[Deployment and
Management (Server/Publisher/AJAX/IE/Web Parts)] - Re: Qlikview 11 EDX"
sent on 19.12.2012 17:42:32.
This is the only notification you will receive while this person is away.--
Informationen (einschließlich Pflichtangaben) zu einzelnen, innerhalb der EU tätigen Gesellschaften und Zweigniederlassungen des Konzerns Deutsche Bank finden Sie unter http://www.deutsche-bank.de/de/content/pflichtangaben.htm. Diese E-Mail enthält vertrauliche und/ oder rechtlich geschützte Informationen. Wenn Sie nicht der richtige Adressat sind oder diese E-Mail irrtümlich erhalten haben, informieren Sie bitte sofort den Absender und vernichten Sie diese E-Mail. Das unerlaubte Kopieren sowie die unbefugte Weitergabe dieser E-Mail ist nicht gestattet.
Please refer to http://www.db.com/en/content/eu_disclosures.htm for information (including mandatory corporate particulars) on selected Deutsche Bank branches and group companies registered or incorporated in the European Union. This e-mail may contain confidential and/or privileged information. If you are not the intended recipient (or have received this e-mail in error) please notify the sender immediately and delete this e-mail. Any unauthorized copying, disclosure or distribution of the material in this e-mail is strictly forbidden.rs) on selected Deutsche Bank branches and group companies registered or incorporated in the European Union. This e-mail may contain confidential and/or privileged information. If you are not the intended recipient (or have received this e-mail in error) please notify the sender immediately and delete this e-mail. Any unauthorized copying, disclosure or distribution of the material in this e-mail is strictly forbidden.
Hi,
I am trying to do the same thing on QV11; however I get an error message when I click the button in my qvw file, the following is my code, it'll be great if you can take a look and let me know what's wrong with it or probably share your code.
sub QmsEdxCmd
dim strTaskName
'dim strTaskPassword
dim strServer
dim strCommand
strTaskName= ActiveDocument.Variables("vTask").GetContent.String
'strTaskPassword= ActiveDocument.Variables("vPassword").GetContent.String
strServer = "http://win-q5gscfalk54:4799/QMS/Service"
strCommand = "\\win-q5gscfalk54\C:\ProgramData\QlikTech\QMSEDX\qmsedx.exe -task="&strTaskName
'-qms="&strServer
'-password="&strTaskPassword"
Set WshShell = CreateObject("WScript.Shell")
WshShell.Run(strCommand),0,false
end sub
Hello Matthias! I have to centralize QMSEDX.exe to be called by clients from the AccessPoint.
Your example works for me when everything is local. Now when I call QMSEDX.exe another server (PC) in the same domain throws error. The QMSEDX.exe is shared.
For this test I have turned off the firewall and antivirus.
Any idea what might be happening?
Any help is useful.
Thank you very much for your time!
Hi All,
I was able to execute the .exe from my machine while the .exe is hosted on the server. Please make sure:
1) Share the folder where .exe is hosted.
2) For QlikView 11 please ensure port 4799 is open and you are able to do a telnet to it as that's where I saw issues at my end and once the port was opened I was successfully able to make a connection and execute the executable.
Thanks,
Nitin
solution:
Matthias option worked! My problem was that the test was making on a server outside the domain.
Now I get a new problem is that the edx recharge works with Plugin but Ajax says "Access Denied."
I'll be watching this issue but I think it should come for a security issue on port 80.
Thank you all! Especially Matthias!
Hi Adrian,
I guess Ajax won't let you execute any external programs (QMSEDX.exe) as it does only support limited macro functionality. I'm not sure so please check the limitations of Ajax compared to Full Client / PlugIn.
Regards
Matthias
That is correct. You could write a VB script and give to the people that needs it.
Bill
Hi,
I got it working in Dev Box where App Server and Publisher server is in the same Box, I changed the config file correctly. I am using http://community.qlik.com/docs/DOC-2650 code for the setup.
In Stage we have diff servers for App and Publisher. I am asked to set EDX in Publisher server. But I am getting the Error "There was no endpoint listening at http://localhost:4799/QMS/Service that could accept the message.". I am able to ping the App Server from Publisher server properly. And I am using the full App Server path with the correct Port Number in the config file. BTW, the port # I have given in the config file is a diif one than 4799 according to the Port # in our Server.
What could be the issue?
Bestin