56 Replies Latest reply: Oct 14, 2014 3:31 AM by Koen Frankhuizen RSS

Qlikview 11 EDX

Pauljin Kochupyloth

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.

  • Qlikview 11 EDX
    Brian Garland

    I've got this working via a buuton in my .QVW but it only works for me (I'm the server admin so I have full rights). It doesn't work for other users when they open the .QVW from the Accesspoint. I've added those users to the server groups QlikView EDX and QlikView Management API, but it's still no go.

    • Qlikview 11 EDX
      Brian Garland

      Got it. I just didn't have security set up on the share where the .bat file is located.

      • Qlikview 11 EDX
        aylinbis

        Hello,

         

         

        i have the same problem like bgarland :

         

        "I've got this working via a buuton in my .QVW but it only works for me (I'm the server admin so I have full rights). It doesn't work for other users when they open the .QVW from the Accesspoint. I've added those users to the server groups QlikView EDX and QlikView Management API, but it's still no go."

         

         

        His solution was:

        "Got it. I just didn't have security set up on the share where the .bat file is located."

         

         

        So my question is, how the security should be set. Can you explain it in more detail please?  Thank you!

         

        Best regards,Aylin

        • Qlikview 11 EDX
          Alexander Ekstrand

          Hi,

           

          I have setup a solution similar to what you suggested.

          We had the exact setup previously with a button, reading the parameters from a settings file on the server during the qvw load.

           

          What I have done,

          • created a VBA application  copying the QMSEDX.exe to local machine and executing of clients local machine,because QMSEDX.exe need to be executed on local machine to work.
          • Changing the parameters in the settings file on server, pointing to this xlsm instead of the http request.
          • re-using same shares as previously.

           

          This as I'm not confortable with programming in .NET - sadly I don't have the skills - yet.

      • Re: Qlikview 11 EDX
        nsagar30

        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

  • Re: Qlikview 11 EDX
    Alexander Ekstrand

    Hi,

     

    Could someone help me

    on execution of the batch file I get "Failed to start the task due to the following error:OtherError"

     

    What am I doing wrong?

     

    Qlikview EDX group is set up on server.

    I have applied the qms url part of parameter.

     

     

    Actually  - my bad I got it working now...

    misplaced a . in the batch file

     

     

     

    Thanks,

    Alex

  • Re: Qlikview 11 EDX
    minority

    Hi,

     

    I'm trying to implement EDX on QVS11 without Publisher license.

     

    In the white paper, it mentioned that I need to pass the name of qvw file instead of the task if there is no publisher license. I tried to enter the qvw file in the bat file but it said: Task not found.

     

    My syntax in bat file:

    D:\QVforFun\EDX\QMSEDX_CommandLine\qmsedx -task="Reload Check - Every 25th.qvw" -password=" "

     

    pause

     

    I also tried using task name as shown on QMC but received the same error.

     

    May I know what should be the syntax?

     

    Do I need to change anything in QMSEDX.exe.config file? I can see that it has a HOSTNAME in the endpoint address. Should HOSTNAME be replaced by my server name?

     

    Please help.

     

    Thanks!

    • Re: Qlikview 11 EDX
      Alexander Ekstrand

      Hi minority,

       

      I had some problems getting this to work at first.

      Are you running this on the server where you have qlikview server installed?

      Have you created the Qlikview EDX group on the server?

       

      Syntax looks ok

       

      If you are running from a remote PC on your network try adding the -qms"http://<yourservername>:4799/QMS/SERVICE" parameter

       

      default is localhost

       

       

      Kind regards,

      Alexander

      • Re: Qlikview 11 EDX
        minority

        Hi Alex,

         

        I'm running on my local laptop, windows 7 with QVS 11 installed.

        I've assigned my login to QlikView EDX group. It's already in Qlikview Administrator group too.

         

        Did you modify QMSEDX.exe.config file?

         

        Thanks!

    • Qlikview 11 EDX
      Rob Wunderlich

      If the qvw resides in a mounted folder, you have to include the folder name as well.

       

      -task='mountedFolderName/myqvw.qvw"

       

      -Rob

  • Re: Qlikview 11 EDX
    Alexander Ekstrand

    Hi Minority,

     

    I have not changed the config, but I think it's picking its default values from here, which would be local host.

    We have an dedicated server for Publisher, so I added the -qms parameter.

     

    Also you could try adding a dummy password on the task.

    I have not tried without a password.

     

    There is one thing actually, change the taskname in QVS, remove all spaces. I had issues getting it to work using spaces in the taskname.

     

    Kind regards,

    Alexander

  • Re: Qlikview 11 EDX
    Sylvain Gaudicheau

    My FeedBack :

    _I had to unlock the port 4799 on the server machine (even distant machine)

    _I do not need to create the 2 groups: “QlikView Management API”, “QlikView EDX” (Domain admin).

     

    And thank you.

  • Qlikview 11 EDX
    rubyagar

    Hi,

     

    Great work!!

     

    I am trying to do the similar thing. But i am not sure what is going wrong??

     

    Getting following error:

     

    Device is not ready.

     

    Can someone help me?

     

    Thanks,

    Ruby

  • Qlikview 11 EDX
    David Bykowski

    Hi All,

     

    I've spent a good amount of time searching on how to implement EDX for QlikView 11 and this post along with the whitepaper seem like the best sources of info.  However, I'm still having issues getting this to work.  I have been trying to get the following line to run from a .bat file from our QlikView Server:

     

    E:\ProgramData\QlikTech\Documents\Loader\EDX\qmsedx -task="E:\ProgramData\QlikTech\Documents\Loader\DailySalesLoader2.qvw" -password=123

     

    I'm getting the error "TaskNotFound".  I've taken all of the following steps to try and get around this error without any luck:

         - removed all spaces from the qvw path and filename

         - ensured I have QlikView Administrator privelegdes as well as having these priveledges on the document folder           and the folder the .bat file is located in

         - ensured that port 4799 is open on our server

         - select reload on external event in qmc with password 123

     

    I'm at a loss as to what to do next - any help is appreciated!

    • Qlikview 11 EDX
      rubyagar

      Hi,

       

      You are giving the actual document name in task :

       

      task="E:\ProgramData\QlikTech\Documents\Loader\DailySalesLoader2.qvw

       

      Instead of this give the task name used in QMC like:

       

      -task="Reload of QVD_Loaders\task1.qvw"

       

      Thanks,

      Ruby

    • Re: Qlikview 11 EDX
      Rob Wunderlich

      Don't use the full file path in the task value. Just the "server path". For example:

       

      - if the document is in the root folder:

      task="DailySalesLoader2.qvw"

       

      - if the document is in the mounted folder named "Loader".

      task="Loader\DailySalesLoader2.qvw"

       

      -Rob

      http://robwunderlich.com

    • Re: Qlikview 11 EDX
      Pauljin Kochupyloth

      Hi

      Please take a look at the usage of the qmsedx. Here I could see that you are trying to reference the qvw. The task parameter should reference the name of the task in the publisher. Not the qvw location&name .

      '

      • Qlikview 11 EDX
        David Bykowski

        Hi,

        I actually do not have publisher so is this task name something I may not be seeing?  When I look in the QMC and select a task and show task details - under task details, there is a Name and Document.  When I use the Name as the task 'Reload of DialySalesLoader2.qvw', I get the TaskNotFound error returned.  When I use the Document given under task details 'Loader/DailySalesLoader2.qvw', the reload is successfully initiated. 

        • Re: Qlikview 11 EDX
          Rob Wunderlich

          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

          • Re: Qlikview 11 EDX
            matthias.dix

            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"

    • Qlikview 11 EDX
      Kumar Gauraw

      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?

  • Qlikview 11 EDX
    David Bykowski

    Ruby & Rob - 

    I really appreciate the fast response.  I ended up using

    -task="Loader/DailySalesLoader2.qvw"

     

    I noticed that if you select a task in the status tab of qmc and show task details, this is the exact path/doc given under 'document'.

     

    Thanks for the help!

  • Re: Qlikview 11 EDX
    Tiago Juncioni

    Hi all,

     

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

     

     

    Thanks

  • Re: Qlikview 11 EDX
    Tiago Juncioni

    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,

  • Re: Qlikview 11 EDX
    Tiago Juncioni

    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,

  • Re: Qlikview 11 EDX
    AlexN

    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.

    • Re: Qlikview 11 EDX
      AlexN

      Hi

      has anone managed to get this working (triggering reloads via EDX using QMSEDX.exe) while passing variables in from command line?

      example:

      \\MyFileLoc\QMSEDX.exe -task="DevMount/test_EDX.qvw" -qms=http://MyQVServer:4799/QMS/Service -password=password -variablename=vDateTime -variablevalues=201211231000 -verbosity=3

      For me, the variable alwas show up as as empty/null and I dont seem to be able to use it in within the the qlikview document.

      Any advice or pointers world be appreciated.

      thanks,

      Alex.

  • Re: Qlikview 11 EDX
    Amit Deshpande

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

    • Re: Qlikview 11 EDX
      anurag_apte

      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.

  • Re: Qlikview 11 EDX
    sammi100

    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.

  • Re: Qlikview 11 EDX
    nsagar30

    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.

    • Re: Qlikview 11 EDX
      matthias.dix

      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)';

       

      19-12-2012 17-38-28.png

      Regards

       

      Matthias

      • Re: Qlikview 11 EDX
        anurag_apte

        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.

      • Re: Qlikview 11 EDX
        Adrian Gonzalez

        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!

         

        error.png

        • Re: Qlikview 11 EDX
          nsagar30

          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

      • Re: Qlikview 11 EDX
        Adrian Gonzalez

        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!

  • Re: Qlikview 11 EDX
    BestinJacob

    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

    • Re: Qlikview 11 EDX
      BestinJacob

      RESOLVED: The issue was that the port# in EDX command line which should be 4799 always and I gave it using -qms=xxxxxxxx:4799/QMS/SERVICE. I had given the QEMC port# (which is different than 4799) in the EDX command line which caused the issue.

       

      I would like to know what is the significance of 4799, though.

      • Re: Qlikview 11 EDX
        S V

        Hi Jacob,

         

        We have a similar kind of situation to reload the dashboard using an EDX Trigger.

         

        We are trying to use WsHttpBinding and using the QMSAPIURL in appsettings (https://server:4799/QMS/Service)

         

        But we are getting an error:

        The remote certificate is invalid according to the validation procedure.

        Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

        Exception Details: System.Security.Authentication.AuthenticationException: The remote certificate is invalid according to the validation procedure

         

         

        Can you please help us by posting the sample web.config.

         

        Thanks

        Sai

    • Re: Qlikview 11 EDX
      S V

      Hi Bestin,

       

      Below is the code we used in our Web.Config. Please look into the code and let me know if i need to change any settings.

       

      <bindings>

            <wsHttpBinding>

              <binding name="WSHttpBinding_IQMS" closeTimeout="00:01:00" openTimeout="00:01:00"

                receiveTimeout="00:10:00" sendTimeout="00:01:00" bypassProxyOnLocal="false"

                transactionFlow="false" hostNameComparisonMode="StrongWildcard"

                maxBufferPoolSize="524288" maxReceivedMessageSize="65536" messageEncoding="Text"

                textEncoding="utf-8" useDefaultWebProxy="true" allowCookies="false">

                <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"

                  maxBytesPerRead="4096" maxNameTableCharCount="16384" />

                <reliableSession ordered="true" inactivityTimeout="00:10:00"

                  enabled="false" />

                <security mode="Transport">

                  <!--<transport clientCredentialType="Ntlm" proxyCredentialType="None" realm=""/>-->

       

                  <transport clientCredentialType="Certificate" proxyCredentialType="None"

                    realm="" /> <message clientCredentialType="UserName" algorithmSuite="Default"/><!--

                  <message clientCredentialType="Windows" negotiateServiceCredential="true" />-->

                </security>

              </binding>

              <binding name="WSHttpBinding_IQTService" closeTimeout="00:01:00"

                openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"

                bypassProxyOnLocal="false" transactionFlow="false" hostNameComparisonMode="StrongWildcard"

                maxBufferPoolSize="524288" maxReceivedMessageSize="65536" messageEncoding="Text"

                textEncoding="utf-8" useDefaultWebProxy="true" allowCookies="false">

                <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"

                  maxBytesPerRead="4096" maxNameTableCharCount="16384" />

                <reliableSession ordered="true" inactivityTimeout="00:10:00"

                  enabled="false" />

                <security mode="Transport">

       

       

       

       

                 <transport clientCredentialType="Certificate" proxyCredentialType="None"

                    realm="" /> <message clientCredentialType="UserName" algorithmSuite="Default"/>

                  <!--  <transport clientCredentialType="Ntlm" proxyCredentialType="None" realm=""/><message clientCredentialType="Windows" negotiateServiceCredential="true" />-->

                </security>

              </binding>

            </wsHttpBinding>

          </bindings>

          <client>

            <endpoint address="https://server:4799/QMS/Service" binding="wsHttpBinding" behaviorConfiguration="ServiceKeyEndpointBehavior"

              bindingConfiguration="WSHttpBinding_IQMS" contract="QMSBackendService.IQMS"

              name="WSHttpBinding_IQMS" />

            <endpoint address="https://server:4799/ANY/Service" binding="wsHttpBinding" behaviorConfiguration="ServiceKeyEndpointBehavior"

              bindingConfiguration="WSHttpBinding_IQTService" contract="QMSBackendService.IQTService"

              name="WSHttpBinding_IQTService" />

          </client>

       

      Thanks

      Sai

  • Re: Qlikview 11 EDX
    AlexN

    Hi,

    has anone managed to get this working (triggering reloads via EDX using QMSEDX.exe) while passing variables in from command line?

    example:

    \\MyFileLoc\QMSEDX.exe -task="DevMount/test_EDX.qvw" -qms=http://MyQVServer:4799/QMS/Service -password=password -variablename=vDateTime -variablevalues=201211231000 -verbosity=3

    For me, the variable always show up as as empty/null and I dont seem to be able to use it within the the qlikview document.

    Any advice or pointers world be appreciated.

    thanks,

    Alex.

  • Re: Qlikview 11 EDX
    Pragya Agrawal

    Thanks all, specially

  • Re: Qlikview 11 EDX
    Juan Olivares

    Hi everyone, I'm late in this conversation, but I still having some problem with the qmsedx tool.  I try every sentence, every comments to do this work, but i receive the same error: "Task no found".

     

    If someone can help me please feel free and send me an email: jolivares@e-diesco.com

     

    I would apreciate you cooperation.  Thanks in advance.

    • Re: Qlikview 11 EDX
      patelsandy1981

      Hello everyone,

       

      I am new to EDX and API though I did go through all these posts but still not getting the clear picture and ideas about how to set up EDX for reload functionality.

       

      I did create the .bat file,task in the publisher and set up the password and load on external even trigger.

      Also add the button into qvd which allows to run the macro and call this event.

       

      though I am not sure what's the use of .bat file then?

       

      I am really confuse and don't know where to check if whatever have done is working or not.specially the .bat file and my macro code is also giving me an error.

      we have Qlikview 11 SR1 and publisher.

       

      Step by step guide to set up EDX event in Qlikview 11 with publisher would be appreciated. I don't know .Net or c# but do have some knoweldge about VBA.

       

      Thanks for the help in advance.

       

      Thanks,

      Sandip.

  • Re: Qlikview 11 EDX
    Koen Frankhuizen

    Hi all,

     

    Many thanks for all the extensive explanations above. I have got the EDX running -> it does trigger the event required. However after the task has succesfully been started, an error occurs 'when checking the task status':

     

    Successfully started task with id/name=TestEDX/TestEDX.qvw

    Checking the status of task TestEDX/TestEDX.qvw (id=cf4ff049-509e-4aaf-9fa3-81b5

    069cd22a execId=49ddf6ea-3c9c-43ec-87ef-212d3903a495)

    The task execution ended.

        Checking triggered task:

     

     

    Unhandled Exception: System.ServiceModel.FaultException: System.Exception: Could

    not find a result for the specified execution ID "c7222527-7a64-4a73-ba2d-e5938

    9f303bb"

     

     

    Server stack trace:

       at System.ServiceModel.Channels.ServiceChannel.HandleReply(ProxyOperationRunt

    ime operation, ProxyRpc& rpc)

       at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean on

    eway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan tim

    eout)

       at System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCall

    Message methodCall, ProxyOperationRuntime operation)

       at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)

     

     

    Exception rethrown at [0]:

       at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage req

    Msg, IMessage retMsg)

       at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgDa

    ta, Int32 type)

       at QMSEDX.QMSAPI.IQMS.GetEDXTaskStatus(Guid qdsID, Guid executionID)

       at QMSEDX.QMSAPI.QMSClient.GetEDXTaskStatus(Guid qdsID, Guid executionID)

       at QMSEDX.Program.<>c__DisplayClasse.<PollSingleTask>b__d()

       at System.Threading.SpinWait.SpinUntil(Func`1 condition, Int32 millisecondsTi

    meout)

       at QMSEDX.Program.PollSingleTask(IQMS client, Guid execId, Int32 pollInterval

    , Int32 timeout)

       at QMSEDX.Program.<>c__DisplayClassb.<MonitorTriggeredTasks>b__a(TaskExecutio

    nItem item)

       at System.Collections.Generic.List`1.ForEach(Action`1 action)

       at QMSEDX.Program.MonitorTriggeredTasks(IQMS client, List`1 executionItems)

       at QMSEDX.Program.TriggerAndMonitorTask()

       at QMSEDX.Program.Main(String[] args)

     

    Could anyone help me how to solve this?

  • Re: Qlikview 11 EDX
    Stefano Marson

    Hi to everybody,

     

    is it possible to invoke a batch file with:

     

    qmsedx -task=name [-qms=qmsaddress] [-password=pwd] [-variablename=vname] [-variablevalues=vvalues] [-timeout=timeout] [-pollinterval=interval] [-verbosity=verbosity] 


    from a UNIX server? I would like that batch file were executed on QV Server. Is it possible?

    Batch file reside in QV Server (vers. 11 SR6) file system.

     

    Thanks in advance

    Regards

     

    stefano

    • Re: Qlikview 11 EDX
      matthias.dix

      You might want to try using Windows Task Scheduler to run your qmsedx.exe

       

      You can remotly trigger these tasks from other Windows machines with

       

      schtasks /run /s <machine name> /tn <task name>

      C:\>schtasks /?

      SCHTASKS /parameter [arguments]

      Description:
        Enables an administrator to create, delete, query, change, run and
        end scheduled tasks on a local or remote system. Replaces AT.exe.

      Parameter List:
        /Create Creates a new scheduled task.
        /Delete Deletes the scheduled task(s).
        /Query Displays all scheduled tasks.
        /Change Changes the properties of scheduled task.
        /Run Runs the scheduled task immediately.
        /End Stops the currently running scheduled task.
        /? Displays this help message.

       

      The question is, how you can trigger these tasks from your UNIX-Server...

       

      Alternative:

      Maybe you can compile QMSEDX for UNIX and run it directly on your UNIX machine???

  • Re: Qlikview 11 EDX
    Aldo Liaks

    @Hi Guys,

     

    Running the batch file triggers the task, but the error below.

    Using QMSEDX Enhanced with the following syntax (No Publisher):

     

    C:\QlikView\11.EDX-Enhanced\QMSEDX -task="App-Reload-Apps/App-Start_Reload.qvw" -password="123"

    Pause

    EXIT /B %errorlevel%

     

    Having the error below.

    Any ideas?

    Thanks in advance,

    Aldo.

     

    C:\BI-QlikView\7.Batch_Files>\\172.17.0.24\c$\BI-QlikView\11.EDX-Enhanced\QMSEDX

    -task="App-Reload-Apps/App-Start_Reload.qvw" -password="123"

    Successfully started task with id/name=App-Reload-Apps/App-Start_Reload.qvw

    Checking the status of task App-Reload-Apps/App-Start_Reload.qvw (id=9f87040f-eb

    be-4a40-959f-0a7f384cebc4 execId=92357024-60ae-48f6-bd94-9345d012cd63)

    The task execution ended.

        Checking triggered task:

     

    Unhandled Exception: System.NullReferenceException: Object reference not set to

    an instance of an object.

       at QMSEDX.Program.<>c__DisplayClasse.<PollSingleTask>b__d()

       at System.Threading.SpinWait.SpinUntil(Func`1 condition, Int32 millisecondsTi

    meout)

       at QMSEDX.Program.PollSingleTask(IQMS client, Guid execId, Int32 pollInterval

    , Int32 timeout)

       at QMSEDX.Program.<>c__DisplayClassb.<MonitorTriggeredTasks>b__a(TaskExecutio

    nItem item)

       at System.Collections.Generic.List`1.ForEach(Action`1 action)

       at QMSEDX.Program.MonitorTriggeredTasks(IQMS client, List`1 executionItems)

       at QMSEDX.Program.TriggerAndMonitorTask()

       at QMSEDX.Program.Main(String[] args)

     

    C:\BI-QlikView\7.Batch_Files>Pause

    Press any key to continue . . .

  • Re: Qlikview 11 EDX
    Filippo Veronesi

    I'm finally managed to use qlikview edx command line tool.

    This is an example to run this in client machine:

    "C:\QMSEDX_CommandLine\qmsedx" -task="Magazzino/Locazioni.qvw" -qms=http://192.168.64.174:4799/QMS/Service -password=123

     

    To find the name of the task go to qmc under Status--> Tasks --> Select the Task and click on "Show task detail", in the "Document" section you find the name.

     

    Cheers!!