

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Vbs script execution not working properly
Hello experts,
I have a vbscript which opens a qvw file and activates all sheets and close it. I'm doing this for Pre-caching my qvw application in the server.
Problem i'm encountering is when I run the vbs manually or through a bat file, the script works fine. But when I create a supporting task in QMC as mentioned below, vbs is not executed but the supporting task completed successfully.
Supporting task Command line : E:\Qlik\SourceDocs\QDF\5.Config\Pre_Cache.vbs
Can anyone please help me here.
Thanks,
Shan S
- « Previous Replies
-
- 1
- 2
- Next Replies »

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Do you have a log from the task to share?
Do you do some logging in your VBS-script? If so could you share?


- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello Petter,
1. Attached the log for the supporting task.
2. I don't have any logging in the vbscript. Its very simple one which is running as expected when i run it manually from the Qlik server.
Thanks,
Shan S

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
From the log I can see that it is a .bat file that obviously kicks of the vbs script. Be aware that bat files only returns the error code of the last command executed. So even though the task log says that it completed successfully doesn't mean that your VBS script executed sucessfully.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Can you share the bat file and the vbs file too?


- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Please find the scripts below.
Bat file:
Start E:\QlikShare\SourceDocs\QDF\5.Config\Pre_Caching.vbs
VBS file:
set x = CreateObject("QlikTech.Qlikview")
set doc = x.OpenDoc("E:\QlikShare\UserDocs\Application.qvw","","")
set ActiveDocument = doc
loop_through_objects(ActiveDocument)
ActiveDocument.Save
ActiveDocument.CloseDoc
x.Quit
SUB loop_through_objects(ActiveDocument)
For s = 0 to ActiveDocument.NoOfSheets - 1
ActiveDocument.ActivateSheet s
Next
End SUB
Thanks,
Shan S


- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
For me it's not quite clear if your routine should be executed by a macro-trigger or per EXECUTE statement. Macro execution doesn't work per qmc-tasks but an EXECUTE will work - but it need some security settings which changed between the last releases. If you searched for it you should find various postings here within the community.
Beside them I don't believe that your approach of pre-caching will work because you opened the application within the desktop client and not on the server. AFAIK they don't share their resources.
Do you use the preload-option within the qmc: Re: cache warmer? Another but far more complex approach might be to adapt the logic from here: Quick tips #15 - Pre-caching with JMeter.
- Marcus


- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello Marcus,
Thanks for your reply.
1. I'm not sure what you're referring to macro-trigger and Execute statement.
2. Yes, as you mentioned when I execute this script in desktop client, its not sharing its resources. Is there any way to execute this script in the access point directly.
3. Yes, pre-load is enabled for this app.
4. Let me try this JMeter one and get back to you.
- Shan S


- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Maybe you could find an (automated) way that the desktop client opened the application on the server - third item from the top in menu "file" - if not I think you will need the JMeter approach.
- Marcus


- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Marcus - Below script allows me to open the app in the server through desktop client and activates all sheets successfully, but I don't see the timestamp of SHARED file got updated.
Now my question is whether the app got cached or NOT, is there any other way by which I can confirm that the app is cached? Please advice.
Script:
set x = CreateObject("QlikTech.Qlikview")
set doc = x.OpenDoc("qvp://SERVERNAME/USERDOCS/Application.qvw")
Msgbox "successfully open the app"
loop_through_objects(doc)
doc.CloseDoc
x.Quit
SUB loop_through_objects(doc)
For s = 0 to doc.NoOfSheets - 1
doc.ActivateSheet s
Next
End SUB
Thanks,
Shan S

- « Previous Replies
-
- 1
- 2
- Next Replies »