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.
davebyko wrote:
"I actually do not have publisher so is this task name something I may not be seeing?"
If you have publisher, the task= value is the Task name. Without publisher (your case), the task= value is the folder\qvwname.qvw.
So yes, you are doing it correctly.
-Rob
Hi Rob,
I have a similar setting: no publisher but I need a button with EDX-reload. I managed to work it out WITH publisher and taskname (qmsedx.exe -task=test) but if I try WITHOUT publisher (qmsedx.exe -task="edxloadtest.qvw") it throws error: "Failed to start the task due to the following error:TaskNotFound".
What am I doing wrong?
UPDATE: Found the solution. Since I had installed Publisher before, the "Reload"-Tab in Documents was missing. So I guess the whole reload engine was disabled. I had to uninstall QV and delete all folders (especially the ones with the LEF-files). After reinstalling and licensing only QV 11 Server without Publisher it showed me the Reload-Tab in Documents and I was able to set Reload Schedule "On an External Event". Now it works with a button calling
qmsedx.exe -task="edxloadtest.qvw"
Hi all,
I am executing the EDX task from the remote PC,
I am using my system to run the task, but i am not in QlikView EDX group to run the task.
but i have one username and password which is in EDX group. so how can i run the task using this username and password?
where i can add the credentials of this to execute the EDX task?
can i add it in qmsedx.exe.config file?
can anyone suggest me?
Hi all,
I need to pass more than one parameter, how do I insert the line of script over a "variable name"?
Thanks
Hi all,
I need to pass more than one parameter, how do I insert the line I need to pass more than one parameter, how do I insert the line of script over the "variable name"?
Thanks,
Hi all,
I need to pass more than one parameter, how do I insert the line I need to pass more than one parameter, how do I insert the line of script over the "variable name"?
Thanks,
Hi,
I have managed to successfully use the EDX command line options detailed in this thread and Doc 2650 to reload Qlikview documents but only as long as I do not attempt to pass any variables into the Qlikview Documents.
If I attempt to pass any variables and use them in the document, the reload fails.
The log file clearly indicates that the variable is not being passed in (is a blank)
I have had a good look on the forums and could find very little about passing variables (and everything I could find that went into any detail involved C# coding as opposed to the command line tool described in this thread)
The treads about C# coding indicates that the variable values have to input as a string – i.e. <string>values</string> -
I have tried doing so from the command line, and also introducing a trailing semicolon, as well as enclosing both the variable name and variable values in quotes and double quotes, but have not managed to get the command line to pass a variable to the Qlikview document so far.
I am using a command line similar to the following (changed server name and paths):
\\MyFileLoc\QMSEDX.exe -task="DevMount/test_EDX.qvw" -qms=http://MyQVServer:4799/QMS/Service -password=password -variablename=vDateTime -variablevalues=201211231000 -verbosity=3
My actual requirement was to pass more than one variable: one for date and two for time (hour and min) , but have read elsewhere that only one variable is supported – hence concatenated date and time.
What I attempted do within the reload script is to split up the variable into date and time
The QV script I used is:
SET ThousandSep=',';
SET DecimalSep='.';
SET MoneyThousandSep=',';
SET MoneyDecimalSep='.';
SET MoneyFormat='£#,##0.00;-£#,##0.00';
SET TimeFormat='hh:mm:ss';
SET DateFormat='DD/MM/YYYY';
SET TimestampFormat='DD/MM/YYYY hh:mm:ss[.fff]';
SET MonthNames='Jan;Feb;Mar;Apr;May;Jun;Jul;Aug;Sep;Oct;Nov;Dec';
SET DayNames='Mon;Tue;Wed;Thu;Fri;Sat;Sun';
//Let VDateTime =TRIM($(VDateTime));
LET vDate = left($(VDateTime),8);
LET vHour = mid($(VDateTime),9,2);
LET vMin = right($(VDateTime),2);
and the log file is:
23/11/2012 11:40:42: Execution started.
23/11/2012 11:40:42: QlikView Version:11.00.11414.0
23/11/2012 11:40:42: CPU Target x64
23/11/2012 11:40:42: Operating System Windows Server 2008 R2 Enterprise Service Pack 1 (64 bit edition)
23/11/2012 11:40:42: Wow64 mode Not using Wow64
23/11/2012 11:40:42: MDAC Version 6.1.7601.17514
23/11/2012 11:40:42: MDAC Full Install Version 6.1.7601.17514
23/11/2012 11:40:42: PreferredCompression 2
23/11/2012 11:40:42: EnableParallelReload 1
23/11/2012 11:40:42: ParallelizeQvdLoads 1
23/11/2012 11:40:42: AutoSaveAfterReload 0
23/11/2012 11:40:42: BackupBeforeReload 0
23/11/2012 11:40:42: EnableFlushLog 0
23/11/2012 11:40:42: SaveInfoWhenSavingFile 0
23/11/2012 11:40:42: UserLogfileCharset 0
23/11/2012 11:40:42: OdbcLoginTimeout -1
23/11/2012 11:40:42: OdbcConnectionTimeout -1
23/11/2012 11:40:42: ScriptWantsDbWrite false
23/11/2012 11:40:42: ScriptWantsExe true
23/11/2012 11:40:42: LogFile CodePage Used: 1252
23/11/2012 11:40:42: 0002 SET ThousandSep=','
23/11/2012 11:40:42: 0003 SET DecimalSep='.'
23/11/2012 11:40:42: 0004 SET MoneyThousandSep=','
23/11/2012 11:40:42: 0005 SET MoneyDecimalSep='.'
23/11/2012 11:40:42: 0006 SET MoneyFormat='£#,##0.00;-£#,##0.00'
23/11/2012 11:40:42: 0007 SET TimeFormat='hh:mm:ss'
23/11/2012 11:40:42: 0008 SET DateFormat='DD/MM/YYYY'
23/11/2012 11:40:42: 0009 SET TimestampFormat='DD/MM/YYYY hh:mm:ss[.fff]'
23/11/2012 11:40:42: 0010 SET MonthNames='Jan;Feb;Mar;Apr;May;Jun;Jul;Aug;Sep;Oct;Nov;Dec'
23/11/2012 11:40:42: 0011 SET DayNames='Mon;Tue;Wed;Thu;Fri;Sat;Sun'
23/11/2012 11:40:42: 0014 LET vDate = left(,8)
23/11/2012 11:40:42: Error: Script line error:
23/11/2012 11:40:42: General Script Error
23/11/2012 11:40:42: Execution Failed
23/11/2012 11:40:42: Execution finished.
Does anyone have an example command line entry that works with a parameter/variable being passed into a Qlikview document, or pointers on how to achieve it using the command line EDX tool?
Also, if there is a method that does work to pass variables, any suggestions on how to use the option to pass multiple semicolon separated values for the variable, to effectively pass multiple parameters would also be really useful (can do away with concatenating and then splitting out which I have had to do above).
Many Thanks,
Alex.
Pauljin, You are the MAN! We used your example to implement EDX out here and it worked perfectly! Thanks a lot!
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 03.12.2012 21:09:20.
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 Pauljin
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:
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:
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.