<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Qliksense Reload Notifications in App Development</title>
    <link>https://community.qlik.com/t5/App-Development/Qliksense-Reload-Notifications/m-p/1026843#M15591</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;You are right, I think this is a missing functionality too.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 03 Feb 2016 08:16:42 GMT</pubDate>
    <dc:creator>undergrinder</dc:creator>
    <dc:date>2016-02-03T08:16:42Z</dc:date>
    <item>
      <title>Qliksense Reload Notifications</title>
      <link>https://community.qlik.com/t5/App-Development/Qliksense-Reload-Notifications/m-p/1026840#M15588</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;A quick question for the community.&amp;nbsp; Recently we have had reloads fail and nobody noticed until the app seemed wrong.&amp;nbsp; The cause was that the reload apps became corrupt (a separate issue).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;What I want to know is how do you get the system to notify an admin when a reload fails?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 02 Feb 2016 02:50:54 GMT</pubDate>
      <guid>https://community.qlik.com/t5/App-Development/Qliksense-Reload-Notifications/m-p/1026840#M15588</guid>
      <dc:creator>shanemichelon</dc:creator>
      <dc:date>2016-02-02T02:50:54Z</dc:date>
    </item>
    <item>
      <title>Re: Qliksense Reload Notifications</title>
      <link>https://community.qlik.com/t5/App-Development/Qliksense-Reload-Notifications/m-p/1026841#M15589</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Shane,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You can check that at QMC-&amp;gt;Tasks.&lt;/P&gt;&lt;P&gt;I think there isn't solution for system notifying, but you can develop one based on log file.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;G.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 02 Feb 2016 09:08:43 GMT</pubDate>
      <guid>https://community.qlik.com/t5/App-Development/Qliksense-Reload-Notifications/m-p/1026841#M15589</guid>
      <dc:creator>undergrinder</dc:creator>
      <dc:date>2016-02-02T09:08:43Z</dc:date>
    </item>
    <item>
      <title>Re: Qliksense Reload Notifications</title>
      <link>https://community.qlik.com/t5/App-Development/Qliksense-Reload-Notifications/m-p/1026842#M15590</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thankyou undergrinder.&amp;nbsp; Because notifications are a no-brainer in this kind of system, I assumed that I was simply missing the information on how to set it up.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Qlik, please take note and add this obvious omission to an upcoming release.&amp;nbsp; Even SQL Server Reporting can send notifications in the event of a task failure.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 02 Feb 2016 22:21:18 GMT</pubDate>
      <guid>https://community.qlik.com/t5/App-Development/Qliksense-Reload-Notifications/m-p/1026842#M15590</guid>
      <dc:creator>shanemichelon</dc:creator>
      <dc:date>2016-02-02T22:21:18Z</dc:date>
    </item>
    <item>
      <title>Re: Qliksense Reload Notifications</title>
      <link>https://community.qlik.com/t5/App-Development/Qliksense-Reload-Notifications/m-p/1026843#M15591</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;You are right, I think this is a missing functionality too.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 03 Feb 2016 08:16:42 GMT</pubDate>
      <guid>https://community.qlik.com/t5/App-Development/Qliksense-Reload-Notifications/m-p/1026843#M15591</guid>
      <dc:creator>undergrinder</dc:creator>
      <dc:date>2016-02-03T08:16:42Z</dc:date>
    </item>
    <item>
      <title>Re: Qliksense Reload Notifications</title>
      <link>https://community.qlik.com/t5/App-Development/Qliksense-Reload-Notifications/m-p/1026844#M15592</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Shane&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Well, the approach of checking the QMC was already mentioned. And - a message, when failure is the result of a reload task, would certainly be helpful. However - depending on how many data you're touching within an app you won't know exactly where a task has failed. Unless, of course, you use for each "data job" it's own app.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;To solve this and also to overcome the missing messagerie on failed reload tasks, I use a simple meta data generator for each script worksheet within an app.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Put at the beginning of each script worksheet something like that:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LET vReloadStartTime = Now();&lt;BR /&gt;LET vTableName = '##TABLENAME##';&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;..... do something with your data, e.g. load data from your source and store this afterwards into a QVD ....&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Now let's wrap up for the script worksheet&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;LET vNoOfRows = NoOfRows('$(vTableName)');&lt;BR /&gt;LET vReloadEndTime = Now();&lt;BR /&gt;LET vReloadDuration = interval('$(vReloadEndTime)' - '$(vReloadStartTime)', 'hh:mm:ss');&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LoadStatistics:&lt;BR /&gt;LOAD * INLINE [&lt;BR /&gt; Tablename, NumberOfRows, ReloadStartTime, ReloadEndTime, ReloadDuration&lt;BR /&gt; $(vTableName), $(vNoOfRows), $(vReloadStartTime), $(vReloadEndTime), $(vReloadDuration)&lt;BR /&gt;];&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Then -&lt;/P&gt;&lt;P&gt;Make sure that you add one last script worksheet within all your apps with the following&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #008000; font-size: 8pt; font-family: Courier New;"&gt;//Write qvd files&lt;BR /&gt; &lt;/SPAN&gt;&lt;SPAN style="; color: #0000ff; font-size: 8pt; font-family: Courier New;"&gt;&lt;STRONG&gt;LET&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="font-size: 8pt; font-family: Courier New;"&gt; &lt;/SPAN&gt;&lt;STRONG style=": ; color: #808080; font-size: 8pt; font-family: Courier New;"&gt;&lt;EM&gt;vNoOfTables&lt;/EM&gt;&lt;/STRONG&gt;&lt;SPAN style="font-size: 8pt; font-family: Courier New;"&gt; = &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; font-size: 8pt; font-family: Courier New;"&gt;NoOfTables&lt;/SPAN&gt;&lt;SPAN style="font-size: 8pt; font-family: Courier New;"&gt;();&lt;BR /&gt; &lt;BR /&gt; &lt;/SPAN&gt;&lt;SPAN style="; color: #0000ff; font-size: 8pt; font-family: Courier New;"&gt;&lt;STRONG&gt;FOR&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="font-size: 8pt; font-family: Courier New;"&gt; &lt;/SPAN&gt;&lt;STRONG style=": ; color: #808080; font-size: 8pt; font-family: Courier New;"&gt;&lt;EM&gt;i&lt;/EM&gt;&lt;/STRONG&gt;&lt;SPAN style="font-size: 8pt; font-family: Courier New;"&gt; = 0 &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; font-size: 8pt; font-family: Courier New;"&gt;to&lt;/SPAN&gt;&lt;SPAN style="font-size: 8pt; font-family: Courier New;"&gt; &lt;/SPAN&gt;&lt;STRONG style=": ; color: #808080; font-size: 8pt; font-family: Courier New;"&gt;&lt;EM&gt;$(vNoOfTables)&lt;/EM&gt;&lt;/STRONG&gt;&lt;SPAN style="font-size: 8pt; font-family: Courier New;"&gt; - 1&lt;BR /&gt; &lt;/SPAN&gt;&lt;SPAN style="; color: #0000ff; font-size: 8pt; font-family: Courier New;"&gt;&lt;STRONG&gt;LET&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="font-size: 8pt; font-family: Courier New;"&gt; &lt;/SPAN&gt;&lt;STRONG style=": ; color: #808080; font-size: 8pt; font-family: Courier New;"&gt;&lt;EM&gt;vTableName&lt;/EM&gt;&lt;/STRONG&gt;&lt;SPAN style="font-size: 8pt; font-family: Courier New;"&gt; = &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; font-size: 8pt; font-family: Courier New;"&gt;TableName&lt;/SPAN&gt;&lt;SPAN style="font-size: 8pt; font-family: Courier New;"&gt;(&lt;/SPAN&gt;&lt;STRONG style=": ; color: #808080; font-size: 8pt; font-family: Courier New;"&gt;&lt;EM&gt;$(i)&lt;/EM&gt;&lt;/STRONG&gt;&lt;SPAN style="font-size: 8pt; font-family: Courier New;"&gt;);&lt;BR /&gt; &lt;BR /&gt; &lt;/SPAN&gt;&lt;SPAN style="; color: #0000ff; font-size: 8pt; font-family: Courier New;"&gt;&lt;STRONG&gt;LET&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="font-size: 8pt; font-family: Courier New;"&gt; &lt;/SPAN&gt;&lt;STRONG style=": ; color: #808080; font-size: 8pt; font-family: Courier New;"&gt;&lt;EM&gt;vNoOfRows&lt;/EM&gt;&lt;/STRONG&gt;&lt;SPAN style="font-size: 8pt; font-family: Courier New;"&gt; = &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; font-size: 8pt; font-family: Courier New;"&gt;NoOfRows&lt;/SPAN&gt;&lt;SPAN style="font-size: 8pt; font-family: Courier New;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; font-size: 8pt; font-family: Courier New;"&gt;TableName&lt;/SPAN&gt;&lt;SPAN style="font-size: 8pt; font-family: Courier New;"&gt;(&lt;/SPAN&gt;&lt;STRONG style=": ; color: #808080; font-size: 8pt; font-family: Courier New;"&gt;&lt;EM&gt;$(i)&lt;/EM&gt;&lt;/STRONG&gt;&lt;SPAN style="font-size: 8pt; font-family: Courier New;"&gt;));&lt;BR /&gt; &lt;/SPAN&gt;&lt;SPAN style="; color: #0000ff; font-size: 8pt; font-family: Courier New;"&gt;&lt;STRONG&gt;LET&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="font-size: 8pt; font-family: Courier New;"&gt; &lt;/SPAN&gt;&lt;STRONG style=": ; color: #808080; font-size: 8pt; font-family: Courier New;"&gt;&lt;EM&gt;vOutfile&lt;/EM&gt;&lt;/STRONG&gt;&lt;SPAN style="font-size: 8pt; font-family: Courier New;"&gt; = '$(vTableName).qvd';&lt;BR /&gt; &lt;/SPAN&gt;&lt;SPAN style="; color: #0000ff; font-size: 8pt; font-family: Courier New;"&gt;&lt;STRONG&gt;STORE&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="font-size: 8pt; font-family: Courier New;"&gt; [$(vTableName)] &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; font-size: 8pt; font-family: Courier New;"&gt;INTO&lt;/SPAN&gt;&lt;SPAN style="font-size: 8pt; font-family: Courier New;"&gt; [..\02_Data\$(vOutfile)] (&lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; font-size: 8pt; font-family: Courier New;"&gt;qvd&lt;/SPAN&gt;&lt;SPAN style="font-size: 8pt; font-family: Courier New;"&gt;);&lt;BR /&gt; &lt;/SPAN&gt;&lt;SPAN style="; color: #0000ff; font-size: 8pt; font-family: Courier New;"&gt;&lt;STRONG&gt;NEXT&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="font-size: 8pt; font-family: Courier New;"&gt;;&lt;BR /&gt; &lt;BR /&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #008000; font-size: 8pt; font-family: Courier New;"&gt;// drop tables&lt;BR /&gt; &lt;/SPAN&gt;&lt;SPAN style="; color: #0000ff; font-size: 8pt; font-family: Courier New;"&gt;&lt;STRONG&gt;FOR&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="font-size: 8pt; font-family: Courier New;"&gt; &lt;/SPAN&gt;&lt;STRONG style=": ; color: #808080; font-size: 8pt; font-family: Courier New;"&gt;&lt;EM&gt;i&lt;/EM&gt;&lt;/STRONG&gt;&lt;SPAN style="font-size: 8pt; font-family: Courier New;"&gt; = 0 &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; font-size: 8pt; font-family: Courier New;"&gt;to&lt;/SPAN&gt;&lt;SPAN style="font-size: 8pt; font-family: Courier New;"&gt; &lt;/SPAN&gt;&lt;STRONG style=": ; color: #808080; font-size: 8pt; font-family: Courier New;"&gt;&lt;EM&gt;$(vNoOfTables)&lt;/EM&gt;&lt;/STRONG&gt;&lt;SPAN style="font-size: 8pt; font-family: Courier New;"&gt;&lt;BR /&gt; &lt;/SPAN&gt;&lt;SPAN style="; color: #0000ff; font-size: 8pt; font-family: Courier New;"&gt;&lt;STRONG&gt;LET&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="font-size: 8pt; font-family: Courier New;"&gt; &lt;/SPAN&gt;&lt;STRONG style=": ; color: #808080; font-size: 8pt; font-family: Courier New;"&gt;&lt;EM&gt;vTableName&lt;/EM&gt;&lt;/STRONG&gt;&lt;SPAN style="font-size: 8pt; font-family: Courier New;"&gt; = &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; font-size: 8pt; font-family: Courier New;"&gt;TableName&lt;/SPAN&gt;&lt;SPAN style="font-size: 8pt; font-family: Courier New;"&gt;(&lt;/SPAN&gt;&lt;STRONG style=": ; color: #808080; font-size: 8pt; font-family: Courier New;"&gt;&lt;EM&gt;$(vNoOfTables)&lt;/EM&gt;&lt;/STRONG&gt;&lt;SPAN style="font-size: 8pt; font-family: Courier New;"&gt;-&lt;/SPAN&gt;&lt;STRONG style=": ; color: #808080; font-size: 8pt; font-family: Courier New;"&gt;&lt;EM&gt;$(i)&lt;/EM&gt;&lt;/STRONG&gt;&lt;SPAN style="font-size: 8pt; font-family: Courier New;"&gt;);&lt;BR /&gt; &lt;BR /&gt; &lt;/SPAN&gt;&lt;SPAN style="; color: #0000ff; font-size: 8pt; font-family: Courier New;"&gt;&lt;STRONG&gt;IF&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="font-size: 8pt; font-family: Courier New;"&gt; '$(vTableName)' &amp;lt;&amp;gt; 'LoadStatistics' &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; font-size: 8pt; font-family: Courier New;"&gt;THEN&lt;/SPAN&gt;&lt;SPAN style="font-size: 8pt; font-family: Courier New;"&gt; &lt;BR /&gt; &lt;/SPAN&gt;&lt;SPAN style="; color: #0000ff; font-size: 8pt; font-family: Courier New;"&gt;&lt;STRONG&gt;DROP&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="font-size: 8pt; font-family: Courier New;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; font-size: 8pt; font-family: Courier New;"&gt;TABLES&lt;/SPAN&gt;&lt;SPAN style="font-size: 8pt; font-family: Courier New;"&gt; &lt;/SPAN&gt;&lt;STRONG style=": ; color: #808080; font-size: 8pt; font-family: Courier New;"&gt;&lt;EM&gt;$(vTableName)&lt;/EM&gt;&lt;/STRONG&gt;&lt;SPAN style="font-size: 8pt; font-family: Courier New;"&gt;;&lt;BR /&gt; &lt;/SPAN&gt;&lt;SPAN style="; color: #0000ff; font-size: 8pt; font-family: Courier New;"&gt;&lt;STRONG&gt;ENDIF&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="font-size: 8pt; font-family: Courier New;"&gt;&lt;BR /&gt; &lt;BR /&gt; &lt;/SPAN&gt;&lt;SPAN style="; color: #0000ff; font-size: 8pt; font-family: Courier New;"&gt;&lt;STRONG&gt;NEXT&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="font-size: 8pt; font-family: Courier New;"&gt;;&lt;BR /&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;Amongst storing all the tables within your app this also stores a nice piece of Load Statistics into an "outfile"/LoadStatistics.qvd. The content of this outfile you can then use for a special app to monitor your data loads (the reloading of this app should always be triggered as the last one when you have daily load tasks). You can even use this kind of meta data within your apps to show the user the status of the loaded data in their apps.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best regards, Chris&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 23 Mar 2016 16:37:02 GMT</pubDate>
      <guid>https://community.qlik.com/t5/App-Development/Qliksense-Reload-Notifications/m-p/1026844#M15592</guid>
      <dc:creator />
      <dc:date>2016-03-23T16:37:02Z</dc:date>
    </item>
  </channel>
</rss>

