<?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: DynamicUpdateCommand: Top 10 Tips, Tricks, and Gotchas in QlikView</title>
    <link>https://community.qlik.com/t5/QlikView/DynamicUpdateCommand-Top-10-Tips-Tricks-and-Gotchas/m-p/287168#M106833</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Anybody know if dynamic update will work on access point or not ? &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 07 Nov 2014 12:59:49 GMT</pubDate>
    <dc:creator>Anonymous</dc:creator>
    <dc:date>2014-11-07T12:59:49Z</dc:date>
    <item>
      <title>DynamicUpdateCommand: Top 10 Tips, Tricks, and Gotchas</title>
      <link>https://community.qlik.com/t5/QlikView/DynamicUpdateCommand-Top-10-Tips-Tricks-and-Gotchas/m-p/287165#M106830</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;We are a heavy user of QlikView's dynamic update functionality (i.e. DynamicUpdateCommand), and rely on it to create user defined dimension values (I won't go into the process of how users define a new dimension value, only how it is saved).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Dynamic Update is a very powerful QlikView feature since it allows document data updates in real time, which are made available to all QlikView document users.&amp;nbsp; What follows is a list of tips, tricks, and gotchas:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;Since QV9 SR4 it is possible to use QlikView desktop (as opposed to the QlikOCX) to perform dynamic updates on the server.&amp;nbsp; This is preferred, since it is easily possible to disable Macro security warnings, by opening User Preferences (Ctrl-Alt-U) and under the Security tab, setting the "Module" option under "Always Override Security"&lt;/LI&gt;&lt;LI&gt;Use a message queuing service such as MSMQ to ensure that dynamic updates are performed one at a time.&amp;nbsp; If you are using MSMQ Triggers, ensure the MSMQ Trigger service is running under the same Windows NT account as the QlikView services are running under.&lt;/LI&gt;&lt;LI&gt;When INSERTing batches of data via DynamicUpdateCommand, experiment to determien the optimal batch size.&amp;nbsp; In our tests (for the batches we're INSERTing) we have found 5,000 rows is the optimal size.&lt;/LI&gt;&lt;LI&gt;Between INSERTing batches, ensure you Sleep for an adequate amount of time.&amp;nbsp; This sleep time should be proportional to the size of the document.&amp;nbsp; I.e. the bigger the document footprint, the longer the sleep interval time.&amp;nbsp; That said, I've found that 5 seconds appears to be sufficient for most document sizes.&amp;nbsp; If the sleep interval time is too short, this can cause problems with very large documents, since client connections can be lost and the time it takes to re-open the doc is longer than the interval, which in turn causes the connection to be lost.&amp;nbsp; This can repeat itself until all DynamicUpdateCommand batches have completed.&lt;/LI&gt;&lt;LI&gt;DO NOT use WaitForIdle before or between DynamicUpdateCommand.&amp;nbsp; This command has been too undpredictable for us.&amp;nbsp; Better to use an explicit sleep interval, measured in seconds (see the last point).&lt;/LI&gt;&lt;LI&gt;Avoid DELETing large amounts of data via a single DynamicUpdateCommand.&amp;nbsp; It's more efficient to use an UPDATE statement (in conjunction with data islands) to achieve the same goal.&lt;/LI&gt;&lt;LI&gt;I have encountered situations where data was INSERTed via DynamicUpdateCommand, but was not available through the OLE Automation commands (e.g. GetSelectedValues).&amp;nbsp; If you need to know selected values, it's better to use the "P" function in set expressions to achive this goal.&lt;/LI&gt;&lt;LI&gt;In the controlling desktop app (responsible for DynamicUpdateCommand), ensure you first create and move to a blank sheet in the document before calling DynamicUpdateCommand.&amp;nbsp; This will ensure that Chart re-calcs do not occur, and in general, that QlikView is not forced to do any work that's not required.&amp;nbsp; If you forget to do this, your charts will re-calc between batches, and in effect the process will be competing with itself for resources.&lt;/LI&gt;&lt;LI&gt;Be aware that all field "Selection" triggers and the "AnySelection" trigger will fire each time DynamicUpdateCommand is called.&amp;nbsp; Depending on where the clients are within the document, this can lead to unexpected behaviour.&amp;nbsp; This is one of the biggest "gotchas" I've discovered.&lt;/LI&gt;&lt;LI&gt;In the controlling desktop app (responsible for performing the DynamicUpdateCommand), try to avoid firing "Select" triggers resulting in Macro execution (e.g VBScript macros).&amp;nbsp; You can accomplish this by placing the macro name within a conditional expression, that does not fire when you're on the blank sheet you have [presumably] created.&amp;nbsp; NB: It is not possible to explicitly remove triggers from a server loaded document.&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Good luck!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 10 May 2011 13:41:43 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/DynamicUpdateCommand-Top-10-Tips-Tricks-and-Gotchas/m-p/287165#M106830</guid>
      <dc:creator />
      <dc:date>2011-05-10T13:41:43Z</dc:date>
    </item>
    <item>
      <title>DynamicUpdateCommand: Top 10 Tips, Tricks, and Gotchas</title>
      <link>https://community.qlik.com/t5/QlikView/DynamicUpdateCommand-Top-10-Tips-Tricks-and-Gotchas/m-p/287166#M106831</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Really interesting article, do you have a simple example?&lt;BR /&gt;What about the "desktop app", how you maintain it in execution in order to process dynamicupdate commands?&lt;/P&gt;&lt;P&gt;Thank you, Regards.&lt;/P&gt;&lt;P&gt;corrado&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 20 Nov 2011 17:32:25 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/DynamicUpdateCommand-Top-10-Tips-Tricks-and-Gotchas/m-p/287166#M106831</guid>
      <dc:creator />
      <dc:date>2011-11-20T17:32:25Z</dc:date>
    </item>
    <item>
      <title>DynamicUpdateCommand: Top 10 Tips, Tricks, and Gotchas</title>
      <link>https://community.qlik.com/t5/QlikView/DynamicUpdateCommand-Top-10-Tips-Tricks-and-Gotchas/m-p/287167#M106832</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello nhepburn!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'm in process of implementing the dynamic update functionality - how big is your succesfull installation? How many users and what data quantity are we talking about? Is it stable?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Have you done it through an App utilizing the OCX functionality?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks in advance! &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 07 Dec 2011 14:40:22 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/DynamicUpdateCommand-Top-10-Tips-Tricks-and-Gotchas/m-p/287167#M106832</guid>
      <dc:creator />
      <dc:date>2011-12-07T14:40:22Z</dc:date>
    </item>
    <item>
      <title>Re: DynamicUpdateCommand: Top 10 Tips, Tricks, and Gotchas</title>
      <link>https://community.qlik.com/t5/QlikView/DynamicUpdateCommand-Top-10-Tips-Tricks-and-Gotchas/m-p/287168#M106833</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Anybody know if dynamic update will work on access point or not ? &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 07 Nov 2014 12:59:49 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/DynamicUpdateCommand-Top-10-Tips-Tricks-and-Gotchas/m-p/287168#M106833</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2014-11-07T12:59:49Z</dc:date>
    </item>
  </channel>
</rss>

