Do not input private or sensitive data. View Qlik Privacy & Cookie Policy.
Skip to main content

Announcements
Qlik Open Lakehouse is Now Generally Available! Discover the key highlights and partner resources here.
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Qv.exe /r non interactive (avoid dialogs)

Hi all,

I have a w2k8 scheduled  task that performs a dashboard synchonization.

The task executes something like:

qv.exe /r /nosecurity "c:\mydashboard.qvw"

The problem comes here. The load script imports data from sources and sometimes these sources can be not available.

What happens? Easy, the reload task remains stalled because of a prompt dialog is displayed and no asnwer is provided. The way to know that this happened is killing the task, opening the dasboard log and executing the reload in a windows session.

My question is: is there any way to reload the dashboard using qv.exe in a 'noninteractive way' in order to avoid any promp dialog?

I know that I can avoid any script error....but this is dangerous.

Regards,

JOS

1 Solution

Accepted Solutions
Not applicable
Author

Hi Jos,

The answer is ErrorMode =2, setting ErrorMode will ensure that job exists instead of hanging and waiting user response, when there is failure (non-interactive)

Have a read of Error Variable...

Regards
Kulbir

View solution in original post

5 Replies
matt_crowther
Specialist
Specialist

This may or may not work but you can turn off Warnings from within the script, all you need to do is to add:

Set ErrorMode =1;

Place it after the date format 'Sets' at the start of the script.

Search for 'Error Variables' in the Help file.

Fingers crossed,

Matt - Visual Analytics Ltd

Qlikview Design Blog: http://QVDesign.wordpress.com

Not applicable
Author

Hi Jos,

The answer is ErrorMode =2, setting ErrorMode will ensure that job exists instead of hanging and waiting user response, when there is failure (non-interactive)

Have a read of Error Variable...

Regards
Kulbir

Not applicable
Author

It might be seen as rather dangerous to use ErrorMode but hanging up and waiting for a response and stopping other reloads is arguably even worse!

It is possible to make it less so though.

I have spreadsheets that contain the email address of the developer(s) and also of the key user/administrators of the document. When the document is reloaded in batch (using the /r switch) I also pass the named pair of a variable VRELOAD so I can detect this in the script.

Here is the code - note the comments re the alerts (jpeg attached) and OnPostReload actions.

LET vDocumentName = capitalize(trim(replace(upper(DocumentName()), '.QVW', ' ')));
SET vRelPath = '..\'; // path to server folders
SET vUserPath = 'J:\pathname\'; // path to user maintained folders

// If any errors in batch reload then ignore them and let the script finish - as ScriptErrorCount <> 0 an alert will fire
// to email the developers. A separate alert fires to email the (data) administrators confirming the reload and the counts
// of script and other errors.
// Note OnPostReload action (which is always executed even if the script had errors) sets VRELOAD to 0 and ErrorMode to 1
IF VRELOAD = 1 THEN

SET ErrorMode = 0; // batch - ignore any failure and alert is triggered at end

[tDevelopers]:
LOAD concat(distinct [Developer Email], ';') as Developers
FROM $(vRelPath)Developer.xls (biff, embedded labels, table is [$(vDocumentName)$]);
LET vDevelopers = peek('Developers', 0, 'tDevelopers');
DROP TABLE [tDevelopers];

[tAdministrators]:
LOAD concat(distinct [Email address], ';') as Administrators
FROM $(vUserPath)Distribution Lists.xls (biff, embedded labels, table is [$(vDocumentName)$]);
LET vAdministrators = peek('Administrators', 0, 'tAdministrators');
DROP TABLE [tAdministrators];
 
ELSE

SET ErrorMode = 1; // interactive - halt on any failure

END IF

Regards,

Gordon

Not applicable
Author

set ErrorMode =2 is good enought for me...thanks all you

Not applicable
Author

Hello,

I have the same problem and when I try to run a batch that reload the data

Qv.exe hangs.

Did I set Error Mode inside the load Script ?

Regards

Oronzo