Skip to main content
Announcements
Have questions about Qlik Connect? Join us live on April 10th, at 11 AM ET: SIGN UP NOW
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Qlikview 11 EDX

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.

56 Replies
rwunderlich
Partner Ambassador/MVP
Partner Ambassador/MVP

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

Not applicable
Author

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"

Not applicable
Author

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?

Not applicable
Author

Hi all,

I need to pass more than one parameter, how do I insert the line of script over a "variable name"?

Thanks

Not applicable
Author

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,

Not applicable
Author

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,

Not applicable
Author

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.

Not applicable
Author

Pauljin, You are the MAN! We used your example to implement EDX out here and it worked perfectly! Thanks a lot!

Not applicable
Author

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.

Not applicable
Author

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.