Discussion Board for collaboration related to QlikView App Development.
I want to introduce a button for reload. For this , I wrote a macro that executes the operation...'ActiveDocument.Reload'.
But, since it didn't work, I checked the boxes 'Allow macro execution on server' and 'Allow unsafe macro execution on server'.
But, even after this, its not working. Do I have to write an edx for this?
Please suggest some ideas. I use qlikview version 9.00 SR7
Thanks and Regards,
Since I got stuck while trying to do it via EDX, I tried executing a batch file .
I used this:
"C:\Program Files\QlikView\Publisher\Distribution Service\QlikviewDistributionService.exe" -r="C:\QlikViewMount\RN60-ConsolidatedCostofProgrammingReport.qvw"
I think it works.
I tried to integrate this into a button and launch it via Internet Explorer. But, it gives me 'access denied' error.
I tried changing properties of file 'cmd.exe' by adding the user name to Security tab and granting full access to the user.
But, it still shows me the same error. I have attached a screenshot showing the error.
Kindly suggest ideas.
Thanks and Regards,
I tried a number of methods including macro, batch file and EDX .
All of them would throw some issues when server and client were on different machines.
So, finally, we spawned a separate server side task,
and with some C# , created a dashboard with a 'Reload' button (so, it was a one time job).
On click of the button, a request would be sent to the server side task which would invoke
the batch file with report name as parameter.
And, reload was working fine !
(We had to resort to this roundabout way as we are using Qlikview version 9 and we were doubtful whether an upgrade to version 11(in which reload option is present) would not support some drilldown functionality that we had already implemented).
The contents of the batch file :
"C:\Program Files\QlikView\Publisher\Distribution Service\QlikviewDistributionService.exe" -r="C:\QlikViewMount\%1"
Additionally, listing some C# code we used..
private AxQlikOCX axQlikOCX1;
this.axQlikOCX1 = new AxQlikOCXLib.AxQlikOCX();
2) To fetch the report name :
string reportPath = axQlikOCX1.ActiveDocument.Name.Split('\\');
string reportName = reportPath[reportPath.Length - 1];
3) To refresh the report :
Can you provide a step by step process to the method you have specified so that it will be useful when we try. As far from my understanding i have copied the code in pink under a bat file and using lauch action i have called this bat file. But it dint work for me. I would be helpful if you provide screenshots to explain your method for applying reload button. Also please let me know wat is QlikViewMount which you have mentioned to be pasted in bat file.
Place the batch file on the server.
The code under points 1,2 and 3 go into a .cs file. This, I integrated it
with our product's GUI.
Also, the button is on the dashboard and not on the qlikview report.
So, on click of the button, a server side task calls this batch file with report name as parameter.
Much of the client side configuration is specific to our product. So, I don't know if screenshots would be helpful!
But, if you are able to come up with a setup enabling you to remotely execute the batch file, the C# code would be the same.
'QlikViewMount' is the mount point on the server, where you place all the reports. You have an option to set the path if you open Qlikview Management console on the server.
A simpler option would be to create a network drive on the local that maps to the location your report is placed on the server and then execute reload.
Then , you can avoid any other coding.
We used the QlikOCXLib.dll , an API provided by qlikview. I believe its licensed.
You will need a client server setup for communicating with the batch file .
Our product framework already provided that. Sorry, I cannot attach that !
If you have a remote communication setup, I could help you with the other steps.