<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Developing for Dynamics GP</title><link>http://blogs.msdn.com/developingfordynamicsgp/default.aspx</link><description>by David Musgrave (Australia) and the Microsoft Dynamics GP Developer Support Team (USA)</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Removing Extender Data when deleting Transactions or Lines Revisited</title><link>http://blogs.msdn.com/developingfordynamicsgp/archive/2010/02/10/removing-extender-data-when-deleting-transactions-or-lines-revisited.aspx</link><pubDate>Wed, 10 Feb 2010 01:00:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9958085</guid><dc:creator>David Musgrave</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/developingfordynamicsgp/comments/9958085.aspx</comments><wfw:commentRss>http://blogs.msdn.com/developingfordynamicsgp/commentrss.aspx?PostID=9958085</wfw:commentRss><description>&lt;P&gt;&lt;A title="David Meego" href="http://blogs.msdn.com/DevelopingForDynamicsGP/" mce_href="http://blogs.msdn.com/DevelopingForDynamicsGP/"&gt;&lt;IMG border=0 hspace=10 alt="David Meego - Click for blog homepage" align=right src="http://blogs.msdn.com/photos/developingfordynamicsgp/images/8719549/original.aspx" width=94 height=94 mce_src="http://blogs.msdn.com/photos/developingfordynamicsgp/images/8719549/original.aspx"&gt;&lt;IMG border=0 align=right src="http://www.myworldmaps.net/map.ashx/00bb0d70-4fc5-45a1-8753-6af01cdb9beb/ping" width=1 height=1 mce_src="http://www.myworldmaps.net/map.ashx/00bb0d70-4fc5-45a1-8753-6af01cdb9beb/ping"&gt;&lt;/A&gt;Last week, I tackled the subject of orphaned records in the Extender tables when the parent records were deleted and the Extender data was left behind.&amp;nbsp; If you have not read this post the link is below:&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;A title="Removing Extender Data when deleting Transactions or Lines" href="http://blogs.msdn.com/developingfordynamicsgp/archive/2010/01/27/removing-extender-data-when-deleting-transactions-or-lines.aspx" mce_href="http://blogs.msdn.com/developingfordynamicsgp/archive/2010/01/27/removing-extender-data-when-deleting-transactions-or-lines.aspx"&gt;Removing Extender Data when deleting Transactions or Lines&lt;/A&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P mce_keep="true"&gt;If you read through the comments, you will see that Konrad Berger (an&amp;nbsp;Australian&amp;nbsp;Partner Consultant) mentions the idea of checking the&amp;nbsp;Open (or History) table to see if the transaction has been moved to the next stage (ie. posted) rather than deleted.&amp;nbsp; &lt;/P&gt;
&lt;P mce_keep="true"&gt;The concept&amp;nbsp;works because&amp;nbsp;most of the posting code in Microsoft Dynamics GP adds the records to the Open (or History) tables before it removed the old record from the Work table.&amp;nbsp; This&amp;nbsp;gives a SQL table trigger the ability to&amp;nbsp;tell the difference between a record being deleted by the user and a record being posted.&lt;/P&gt;
&lt;P mce_keep="true"&gt;So this post will take the triggers attached to the previous post and modify them to use this concept. The updated triggers are shown below and also are attached to this post.&amp;nbsp; These updated triggers can be used in a live system and do away with the need for the Visual Basic for Applications (VBA) code in the previous post.&lt;/P&gt;
&lt;DIV class=legend&gt;&lt;STRONG&gt;Extender Window Example - using IVTRF_1 &amp;amp; IVTRF_2&lt;/STRONG&gt;&lt;/DIV&gt;
&lt;DIV style="BORDER-BOTTOM: gray 1px solid; BORDER-LEFT: gray 1px solid; PADDING-BOTTOM: 4px; LINE-HEIGHT: 12pt; BACKGROUND-COLOR: #f4f4f4; MARGIN: 20px 0px 10px; PADDING-LEFT: 4px; WIDTH: 97.5%; PADDING-RIGHT: 4px; FONT-FAMILY: 'Courier New', courier, consolas, monospace; WHITE-SPACE: nowrap; MAX-HEIGHT: 200px; FONT-SIZE: 8pt; OVERFLOW: auto; BORDER-TOP: gray 1px solid; CURSOR: text; BORDER-RIGHT: gray 1px solid; PADDING-TOP: 4px" class=code&gt;&lt;FONT color=#0000ff size=2&gt;
&lt;P&gt;if&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;exists&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt; &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;(&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;select&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;*&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;from&lt;/FONT&gt;&lt;FONT size=2&gt; dbo&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT color=#008000 size=2&gt;sysobjects&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;where&lt;/FONT&gt;&lt;FONT size=2&gt; id &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff00ff size=2&gt;object_id&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;(&lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;N'[dbo].[IV10000_DELETE_IVTRF_1]'&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;)&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;and&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff00ff size=2&gt;OBJECTPROPERTY&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;(&lt;/FONT&gt;&lt;FONT size=2&gt;id&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;,&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;N'IsTrigger'&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;)&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt; 1&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;)&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;drop&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;trigger&lt;/FONT&gt;&lt;FONT size=2&gt; [dbo]&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;[IV10000_DELETE_IVTRF_1]&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;GO&lt;/P&gt;
&lt;P&gt;SET&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;QUOTED_IDENTIFIER&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;OFF&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;GO&lt;BR&gt;SET&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;ANSI_NULLS&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;OFF&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;GO&lt;/P&gt;
&lt;P&gt;CREATE&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;TRIGGER&lt;/FONT&gt;&lt;FONT size=2&gt; [IV10000_DELETE_IVTRF_1] &lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;ON&lt;/FONT&gt;&lt;FONT size=2&gt; [dbo]&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;[IV10000] &lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;FOR&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;DELETE&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;NOT&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;FOR&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;REPLICATION&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;AS&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;
&lt;P&gt;DECLARE&lt;/FONT&gt;&lt;FONT size=2&gt; @ExtenderID &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;char&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;(&lt;/FONT&gt;&lt;FONT size=2&gt;15&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;)&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;
&lt;P&gt;select&lt;/FONT&gt;&lt;FONT size=2&gt; @ExtenderID &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;'IVTRF_1'&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;
&lt;P&gt;SET&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;NOCOUNT&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;ON&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;
&lt;P&gt;BEGIN&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;DELETE&lt;/FONT&gt;&lt;FONT size=2&gt; A &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;FROM&lt;/FONT&gt;&lt;FONT size=2&gt; EXT00101 A &lt;/FONT&gt;&lt;FONT color=#008000 size=2&gt;-- Strings&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;JOIN&lt;/FONT&gt;&lt;FONT size=2&gt; EXT00100 B &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;ON&lt;/FONT&gt;&lt;FONT size=2&gt; A&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;PT_Window_ID &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt; B&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;PT_Window_ID &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;and&lt;/FONT&gt;&lt;FONT size=2&gt; A&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;PT_UD_Key &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt; B&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;PT_UD_Key&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;JOIN&lt;/FONT&gt;&lt;FONT size=2&gt; deleted C &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;ON&lt;/FONT&gt;&lt;FONT size=2&gt; B&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;Key_Strings_1 &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt; C&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;IVDOCNBR&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;WHERE&lt;/FONT&gt;&lt;FONT size=2&gt; B&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;PT_Window_ID &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt; @ExtenderID &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;and&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;not&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;exists(&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;select&lt;/FONT&gt;&lt;FONT size=2&gt; 1 &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;from&lt;/FONT&gt;&lt;FONT size=2&gt; IV30200 D&amp;nbsp;&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;where&lt;/FONT&gt;&lt;FONT size=2&gt; D&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;IVDOCTYP &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt; 3 &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;and&lt;/FONT&gt;&lt;FONT size=2&gt; D&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;DOCNUMBR &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt; C&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;IVDOCNBR&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;)&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;DELETE&lt;/FONT&gt;&lt;FONT size=2&gt; A &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;FROM&lt;/FONT&gt;&lt;FONT size=2&gt; EXT00102 A &lt;/FONT&gt;&lt;FONT color=#008000 size=2&gt;-- Dates&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;JOIN&lt;/FONT&gt;&lt;FONT size=2&gt; EXT00100 B &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;ON&lt;/FONT&gt;&lt;FONT size=2&gt; A&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;PT_Window_ID &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt; B&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;PT_Window_ID &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;and&lt;/FONT&gt;&lt;FONT size=2&gt; A&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;PT_UD_Key &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt; B&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;PT_UD_Key&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;JOIN&lt;/FONT&gt;&lt;FONT size=2&gt; deleted C &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;ON&lt;/FONT&gt;&lt;FONT size=2&gt; B&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;Key_Strings_1 &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt; C&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;IVDOCNBR&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;WHERE&lt;/FONT&gt;&lt;FONT size=2&gt; B&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;PT_Window_ID &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt; @ExtenderID &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;and&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;not&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;exists(&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;select&lt;/FONT&gt;&lt;FONT size=2&gt; 1 &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;from&lt;/FONT&gt;&lt;FONT size=2&gt; IV30200 D&amp;nbsp;&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;where&lt;/FONT&gt;&lt;FONT size=2&gt; D&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;IVDOCTYP &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt; 3 &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;and&lt;/FONT&gt;&lt;FONT size=2&gt; D&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;DOCNUMBR &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt; C&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;IVDOCNBR&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;)&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;DELETE&lt;/FONT&gt;&lt;FONT size=2&gt; A &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;FROM&lt;/FONT&gt;&lt;FONT size=2&gt; EXT00103 A &lt;/FONT&gt;&lt;FONT color=#008000 size=2&gt;-- Numbers&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;JOIN&lt;/FONT&gt;&lt;FONT size=2&gt; EXT00100 B &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;ON&lt;/FONT&gt;&lt;FONT size=2&gt; A&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;PT_Window_ID &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt; B&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;PT_Window_ID &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;and&lt;/FONT&gt;&lt;FONT size=2&gt; A&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;PT_UD_Key &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt; B&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;PT_UD_Key&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;JOIN&lt;/FONT&gt;&lt;FONT size=2&gt; deleted C &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;ON&lt;/FONT&gt;&lt;FONT size=2&gt; B&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;Key_Strings_1 &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt; C&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;IVDOCNBR&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;WHERE&lt;/FONT&gt;&lt;FONT size=2&gt; B&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;PT_Window_ID &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt; @ExtenderID &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;and&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;not&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;exists(&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;select&lt;/FONT&gt;&lt;FONT size=2&gt; 1 &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;from&lt;/FONT&gt;&lt;FONT size=2&gt; IV30200 D &lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; where&lt;/FONT&gt;&lt;FONT size=2&gt; D&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;IVDOCTYP &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt; 3 &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;and&lt;/FONT&gt;&lt;FONT size=2&gt; D&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;DOCNUMBR &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt; C&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;IVDOCNBR&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;)&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;DELETE&lt;/FONT&gt;&lt;FONT size=2&gt; A &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;FROM&lt;/FONT&gt;&lt;FONT size=2&gt; EXT00104 A &lt;/FONT&gt;&lt;FONT color=#008000 size=2&gt;-- Times&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;JOIN&lt;/FONT&gt;&lt;FONT size=2&gt; EXT00100 B &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;ON&lt;/FONT&gt;&lt;FONT size=2&gt; A&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;PT_Window_ID &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt; B&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;PT_Window_ID &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;and&lt;/FONT&gt;&lt;FONT size=2&gt; A&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;PT_UD_Key &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt; B&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;PT_UD_Key&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;JOIN&lt;/FONT&gt;&lt;FONT size=2&gt; deleted C &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;ON&lt;/FONT&gt;&lt;FONT size=2&gt; B&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;Key_Strings_1 &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt; C&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;IVDOCNBR&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;WHERE&lt;/FONT&gt;&lt;FONT size=2&gt; B&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;PT_Window_ID &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt; @ExtenderID &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;and&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;not&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;exists(&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;select&lt;/FONT&gt;&lt;FONT size=2&gt; 1 &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;from&lt;/FONT&gt;&lt;FONT size=2&gt; IV30200 D &lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; where&lt;/FONT&gt;&lt;FONT size=2&gt; D&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;IVDOCTYP &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt; 3 &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;and&lt;/FONT&gt;&lt;FONT size=2&gt; D&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;DOCNUMBR &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt; C&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;IVDOCNBR&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;)&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;DELETE&lt;/FONT&gt;&lt;FONT size=2&gt; B &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;FROM&lt;/FONT&gt;&lt;FONT size=2&gt; EXT00100 B &lt;/FONT&gt;&lt;FONT color=#008000 size=2&gt;-- Mapping&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;JOIN&lt;/FONT&gt;&lt;FONT size=2&gt; deleted C &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;ON&lt;/FONT&gt;&lt;FONT size=2&gt; B&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;Key_Strings_1 &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt; C&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;IVDOCNBR&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;WHERE&lt;/FONT&gt;&lt;FONT size=2&gt; B&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;PT_Window_ID &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt; @ExtenderID &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;and&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;not&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;exists(&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;select&lt;/FONT&gt;&lt;FONT size=2&gt; 1 &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;from&lt;/FONT&gt;&lt;FONT size=2&gt; IV30200 D &lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; where&lt;/FONT&gt;&lt;FONT size=2&gt; D&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;IVDOCTYP &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt; 3 &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;and&lt;/FONT&gt;&lt;FONT size=2&gt; D&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;DOCNUMBR &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt; C&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;IVDOCNBR&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;)&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;
&lt;P&gt;END&lt;/P&gt;
&lt;P&gt;GO&lt;BR&gt;SET&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;QUOTED_IDENTIFIER&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;OFF&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;GO&lt;BR&gt;SET&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;ANSI_NULLS&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;ON&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;GO&lt;/P&gt;
&lt;P&gt;if&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;exists&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt; &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;(&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;select&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;*&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;from&lt;/FONT&gt;&lt;FONT size=2&gt; dbo&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT color=#008000 size=2&gt;sysobjects&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;where&lt;/FONT&gt;&lt;FONT size=2&gt; id &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff00ff size=2&gt;object_id&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;(&lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;N'[dbo].[IV10001_DELETE_IVTRF_2]'&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;)&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;and&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff00ff size=2&gt;OBJECTPROPERTY&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;(&lt;/FONT&gt;&lt;FONT size=2&gt;id&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;,&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;N'IsTrigger'&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;)&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt; 1&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;)&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;drop&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;trigger&lt;/FONT&gt;&lt;FONT size=2&gt; [dbo]&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;[IV10001_DELETE_IVTRF_2]&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;GO&lt;/P&gt;
&lt;P&gt;SET&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;QUOTED_IDENTIFIER&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;OFF&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;GO&lt;BR&gt;SET&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;ANSI_NULLS&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;OFF&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;GO&lt;/P&gt;
&lt;P&gt;CREATE&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;TRIGGER&lt;/FONT&gt;&lt;FONT size=2&gt; [IV10001_DELETE_IVTRF_2] &lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;ON&lt;/FONT&gt;&lt;FONT size=2&gt; [dbo]&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;[IV10001] &lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;FOR&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;DELETE&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;NOT&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;FOR&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;REPLICATION&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;AS&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;
&lt;P&gt;DECLARE&lt;/FONT&gt;&lt;FONT size=2&gt; @ExtenderID &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;char&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;(&lt;/FONT&gt;&lt;FONT size=2&gt;15&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;)&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;
&lt;P&gt;select&lt;/FONT&gt;&lt;FONT size=2&gt; @ExtenderID &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;'IVTRF_2'&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;
&lt;P&gt;SET&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;NOCOUNT&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;ON&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;
&lt;P&gt;BEGIN&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;DELETE&lt;/FONT&gt;&lt;FONT size=2&gt; A &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;FROM&lt;/FONT&gt;&lt;FONT size=2&gt; EXT00101 A &lt;/FONT&gt;&lt;FONT color=#008000 size=2&gt;-- Strings&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;JOIN&lt;/FONT&gt;&lt;FONT size=2&gt; EXT00100 B &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;ON&lt;/FONT&gt;&lt;FONT size=2&gt; A&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;PT_Window_ID &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt; B&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;PT_Window_ID &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;and&lt;/FONT&gt;&lt;FONT size=2&gt; A&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;PT_UD_Key &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt; B&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;PT_UD_Key&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;JOIN&lt;/FONT&gt;&lt;FONT size=2&gt; deleted C &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;ON&lt;/FONT&gt;&lt;FONT size=2&gt; B&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;Key_Strings_1 &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt; C&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;IVDOCNBR &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;and&lt;/FONT&gt;&lt;FONT size=2&gt; B&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;Key_Strings_2 &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt; C&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;LNSEQNBR&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;WHERE&lt;/FONT&gt;&lt;FONT size=2&gt; B&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;PT_Window_ID &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt; @ExtenderID &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;and&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;not&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;exists(&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;select&lt;/FONT&gt;&lt;FONT size=2&gt; 1 &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;from&lt;/FONT&gt;&lt;FONT size=2&gt; IV30300 D &lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; where&lt;/FONT&gt;&lt;FONT size=2&gt; D&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;DOCTYPE &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt; 3 &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;and&lt;/FONT&gt;&lt;FONT size=2&gt; D&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;DOCNUMBR &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt; C&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;IVDOCNBR &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;and&lt;/FONT&gt;&lt;FONT size=2&gt; D&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;LNSEQNBR &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt; C&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;LNSEQNBR&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;)&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;DELETE&lt;/FONT&gt;&lt;FONT size=2&gt; A &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;FROM&lt;/FONT&gt;&lt;FONT size=2&gt; EXT00102 A &lt;/FONT&gt;&lt;FONT color=#008000 size=2&gt;-- Dates&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;JOIN&lt;/FONT&gt;&lt;FONT size=2&gt; EXT00100 B &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;ON&lt;/FONT&gt;&lt;FONT size=2&gt; A&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;PT_Window_ID &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt; B&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;PT_Window_ID &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;and&lt;/FONT&gt;&lt;FONT size=2&gt; A&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;PT_UD_Key &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt; B&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;PT_UD_Key&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;JOIN&lt;/FONT&gt;&lt;FONT size=2&gt; deleted C &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;ON&lt;/FONT&gt;&lt;FONT size=2&gt; B&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;Key_Strings_1 &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt; C&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;IVDOCNBR &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;and&lt;/FONT&gt;&lt;FONT size=2&gt; B&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;Key_Strings_2 &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt; C&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;LNSEQNBR&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;WHERE&lt;/FONT&gt;&lt;FONT size=2&gt; B&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;PT_Window_ID &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt; @ExtenderID &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;and&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;not&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;exists(&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;select&lt;/FONT&gt;&lt;FONT size=2&gt; 1 &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;from&lt;/FONT&gt;&lt;FONT size=2&gt; IV30300 D &lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; where&lt;/FONT&gt;&lt;FONT size=2&gt; D&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;DOCTYPE &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt; 3 &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;and&lt;/FONT&gt;&lt;FONT size=2&gt; D&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;DOCNUMBR &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt; C&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;IVDOCNBR &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;and&lt;/FONT&gt;&lt;FONT size=2&gt; D&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;LNSEQNBR &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt; C&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;LNSEQNBR&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;)&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;DELETE&lt;/FONT&gt;&lt;FONT size=2&gt; A &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;FROM&lt;/FONT&gt;&lt;FONT size=2&gt; EXT00103 A &lt;/FONT&gt;&lt;FONT color=#008000 size=2&gt;-- Numbers&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;JOIN&lt;/FONT&gt;&lt;FONT size=2&gt; EXT00100 B &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;ON&lt;/FONT&gt;&lt;FONT size=2&gt; A&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;PT_Window_ID &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt; B&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;PT_Window_ID &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;and&lt;/FONT&gt;&lt;FONT size=2&gt; A&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;PT_UD_Key &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt; B&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;PT_UD_Key&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;JOIN&lt;/FONT&gt;&lt;FONT size=2&gt; deleted C &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;ON&lt;/FONT&gt;&lt;FONT size=2&gt; B&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;Key_Strings_1 &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt; C&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;IVDOCNBR &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;and&lt;/FONT&gt;&lt;FONT size=2&gt; B&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;Key_Strings_2 &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt; C&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;LNSEQNBR&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;WHERE&lt;/FONT&gt;&lt;FONT size=2&gt; B&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;PT_Window_ID &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt; @ExtenderID &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;and&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;not&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;exists(&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;select&lt;/FONT&gt;&lt;FONT size=2&gt; 1 &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;from&lt;/FONT&gt;&lt;FONT size=2&gt; IV30300 D &lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; where&lt;/FONT&gt;&lt;FONT size=2&gt; D&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;DOCTYPE &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt; 3 &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;and&lt;/FONT&gt;&lt;FONT size=2&gt; D&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;DOCNUMBR &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt; C&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;IVDOCNBR &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;and&lt;/FONT&gt;&lt;FONT size=2&gt; D&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;LNSEQNBR &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt; C&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;LNSEQNBR&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;)&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;DELETE&lt;/FONT&gt;&lt;FONT size=2&gt; A &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;FROM&lt;/FONT&gt;&lt;FONT size=2&gt; EXT00104 A &lt;/FONT&gt;&lt;FONT color=#008000 size=2&gt;-- Times&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;JOIN&lt;/FONT&gt;&lt;FONT size=2&gt; EXT00100 B &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;ON&lt;/FONT&gt;&lt;FONT size=2&gt; A&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;PT_Window_ID &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt; B&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;PT_Window_ID &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;and&lt;/FONT&gt;&lt;FONT size=2&gt; A&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;PT_UD_Key &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt; B&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;PT_UD_Key&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;JOIN&lt;/FONT&gt;&lt;FONT size=2&gt; deleted C &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;ON&lt;/FONT&gt;&lt;FONT size=2&gt; B&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;Key_Strings_1 &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt; C&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;IVDOCNBR &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;and&lt;/FONT&gt;&lt;FONT size=2&gt; B&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;Key_Strings_2 &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt; C&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;LNSEQNBR&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;WHERE&lt;/FONT&gt;&lt;FONT size=2&gt; B&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;PT_Window_ID &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt; @ExtenderID &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;and&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;not&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;exists(&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;select&lt;/FONT&gt;&lt;FONT size=2&gt; 1 &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;from&lt;/FONT&gt;&lt;FONT size=2&gt; IV30300 D &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;where&lt;/FONT&gt;&lt;FONT size=2&gt; D&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;DOCTYPE &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt; 3 &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;and&lt;/FONT&gt;&lt;FONT size=2&gt; D&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;DOCNUMBR &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt; C&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;IVDOCNBR &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;and&lt;/FONT&gt;&lt;FONT size=2&gt; D&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;LNSEQNBR &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt; C&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;LNSEQNBR&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;)&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;DELETE&lt;/FONT&gt;&lt;FONT size=2&gt; B &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;FROM&lt;/FONT&gt;&lt;FONT size=2&gt; EXT00100 B &lt;/FONT&gt;&lt;FONT color=#008000 size=2&gt;-- Mapping&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;JOIN&lt;/FONT&gt;&lt;FONT size=2&gt; deleted C &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;ON&lt;/FONT&gt;&lt;FONT size=2&gt; B&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;Key_Strings_1 &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt; C&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;IVDOCNBR &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;and&lt;/FONT&gt;&lt;FONT size=2&gt; B&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;Key_Strings_2 &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt; C&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;LNSEQNBR&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;WHERE&lt;/FONT&gt;&lt;FONT size=2&gt; B&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;PT_Window_ID &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt; @ExtenderID &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;and&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;not&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;exists(&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;select&lt;/FONT&gt;&lt;FONT size=2&gt; 1 &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;from&lt;/FONT&gt;&lt;FONT size=2&gt; IV30300 D &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;where&lt;/FONT&gt;&lt;FONT size=2&gt; D&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;DOCTYPE &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt; 3 &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;and&lt;/FONT&gt;&lt;FONT size=2&gt; D&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;DOCNUMBR &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt; C&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;IVDOCNBR &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;and&lt;/FONT&gt;&lt;FONT size=2&gt; D&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;LNSEQNBR &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt; C&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;LNSEQNBR&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;)&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;
&lt;P&gt;END&lt;/P&gt;
&lt;P&gt;GO&lt;BR&gt;SET&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;QUOTED_IDENTIFIER&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;OFF&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;GO&lt;BR&gt;SET&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;ANSI_NULLS&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;ON&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;GO&lt;/FONT&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;/DIV&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;DIV class=legend&gt;&lt;STRONG&gt;Extender Detail Window Example - using IV TRANSFER FORM&lt;/STRONG&gt;&lt;/DIV&gt;
&lt;DIV style="BORDER-BOTTOM: gray 1px solid; BORDER-LEFT: gray 1px solid; PADDING-BOTTOM: 4px; LINE-HEIGHT: 12pt; BACKGROUND-COLOR: #f4f4f4; MARGIN: 20px 0px 10px; PADDING-LEFT: 4px; WIDTH: 97.5%; PADDING-RIGHT: 4px; FONT-FAMILY: 'Courier New', courier, consolas, monospace; WHITE-SPACE: nowrap; MAX-HEIGHT: 200px; FONT-SIZE: 8pt; OVERFLOW: auto; BORDER-TOP: gray 1px solid; CURSOR: text; BORDER-RIGHT: gray 1px solid; PADDING-TOP: 4px" class=code&gt;&lt;FONT color=#0000ff size=2&gt;
&lt;P&gt;if&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;exists&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt; &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;(&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;select&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;*&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;from&lt;/FONT&gt;&lt;FONT size=2&gt; dbo&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT color=#008000 size=2&gt;sysobjects&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;where&lt;/FONT&gt;&lt;FONT size=2&gt; id &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff00ff size=2&gt;object_id&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;(&lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;N'[dbo].[IV10001_DELETE_IV_TRANS_FORM]'&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;)&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;and&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff00ff size=2&gt;OBJECTPROPERTY&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;(&lt;/FONT&gt;&lt;FONT size=2&gt;id&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;,&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;N'IsTrigger'&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;)&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt; 1&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;)&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;drop&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;trigger&lt;/FONT&gt;&lt;FONT size=2&gt; [dbo]&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;[IV10001_DELETE_IV_TRANS_FORM]&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;GO&lt;/P&gt;
&lt;P&gt;SET&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;QUOTED_IDENTIFIER&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;OFF&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;GO&lt;BR&gt;SET&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;ANSI_NULLS&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;OFF&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;GO&lt;/P&gt;
&lt;P&gt;CREATE&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;TRIGGER&lt;/FONT&gt;&lt;FONT size=2&gt; [IV10001_DELETE_IV_TRANS_FORM] &lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;ON&lt;/FONT&gt;&lt;FONT size=2&gt; [dbo]&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;[IV10001] &lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;FOR&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;DELETE&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;NOT&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;FOR&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;REPLICATION&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;AS&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;
&lt;P&gt;DECLARE&lt;/FONT&gt;&lt;FONT size=2&gt; @ExtenderID &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;char&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;(&lt;/FONT&gt;&lt;FONT size=2&gt;15&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;)&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;
&lt;P&gt;select&lt;/FONT&gt;&lt;FONT size=2&gt; @ExtenderID &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;'IV TRANS FORM'&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;
&lt;P&gt;SET&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;NOCOUNT&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;ON&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;
&lt;P&gt;BEGIN&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;DELETE&lt;/FONT&gt;&lt;FONT size=2&gt; A &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;FROM&lt;/FONT&gt;&lt;FONT size=2&gt; EXT00181 A &lt;/FONT&gt;&lt;FONT color=#008000 size=2&gt;-- Strings&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;JOIN&lt;/FONT&gt;&lt;FONT size=2&gt; EXT00185 B &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;ON&lt;/FONT&gt;&lt;FONT size=2&gt; A&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;PT_Window_ID &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt; B&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;PT_Window_ID &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;and&lt;/FONT&gt;&lt;FONT size=2&gt; A&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;PT_UD_Key &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt; B&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;PT_UD_Key&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;JOIN&lt;/FONT&gt;&lt;FONT size=2&gt; deleted C &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;ON&lt;/FONT&gt;&lt;FONT size=2&gt; B&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;Key_Strings_1 &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt; C&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;IVDOCNBR &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;and&lt;/FONT&gt;&lt;FONT size=2&gt; B&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;Key_Strings_2 &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt; C&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;LNSEQNBR&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;WHERE&lt;/FONT&gt;&lt;FONT size=2&gt; B&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;PT_Window_ID &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt; @ExtenderID &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;and&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;not&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;exists(&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;select&lt;/FONT&gt;&lt;FONT size=2&gt; 1 &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;from&lt;/FONT&gt;&lt;FONT size=2&gt; IV30300 D &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;where&lt;/FONT&gt;&lt;FONT size=2&gt; D&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;DOCTYPE &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt; 3 &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;and&lt;/FONT&gt;&lt;FONT size=2&gt; D&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;DOCNUMBR &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt; C&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;IVDOCNBR &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;and&lt;/FONT&gt;&lt;FONT size=2&gt; D&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;LNSEQNBR &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt; C&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;LNSEQNBR&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;)&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;DELETE&lt;/FONT&gt;&lt;FONT size=2&gt; A &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;FROM&lt;/FONT&gt;&lt;FONT size=2&gt; EXT00182 A &lt;/FONT&gt;&lt;FONT color=#008000 size=2&gt;-- Dates&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;JOIN&lt;/FONT&gt;&lt;FONT size=2&gt; EXT00185 B &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;ON&lt;/FONT&gt;&lt;FONT size=2&gt; A&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;PT_Window_ID &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt; B&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;PT_Window_ID &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;and&lt;/FONT&gt;&lt;FONT size=2&gt; A&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;PT_UD_Key &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt; B&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;PT_UD_Key&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;JOIN&lt;/FONT&gt;&lt;FONT size=2&gt; deleted C &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;ON&lt;/FONT&gt;&lt;FONT size=2&gt; B&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;Key_Strings_1 &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt; C&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;IVDOCNBR &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;and&lt;/FONT&gt;&lt;FONT size=2&gt; B&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;Key_Strings_2 &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt; C&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;LNSEQNBR&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;WHERE&lt;/FONT&gt;&lt;FONT size=2&gt; B&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;PT_Window_ID &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt; @ExtenderID &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;and&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;not&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;exists(&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;select&lt;/FONT&gt;&lt;FONT size=2&gt; 1 &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;from&lt;/FONT&gt;&lt;FONT size=2&gt; IV30300 D &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;where&lt;/FONT&gt;&lt;FONT size=2&gt; D&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;DOCTYPE &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt; 3 &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;and&lt;/FONT&gt;&lt;FONT size=2&gt; D&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;DOCNUMBR &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt; C&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;IVDOCNBR &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;and&lt;/FONT&gt;&lt;FONT size=2&gt; D&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;LNSEQNBR &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt; C&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;LNSEQNBR&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;)&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;DELETE&lt;/FONT&gt;&lt;FONT size=2&gt; A &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;FROM&lt;/FONT&gt;&lt;FONT size=2&gt; EXT00183 A &lt;/FONT&gt;&lt;FONT color=#008000 size=2&gt;-- Numbers&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;JOIN&lt;/FONT&gt;&lt;FONT size=2&gt; EXT00185 B &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;ON&lt;/FONT&gt;&lt;FONT size=2&gt; A&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;PT_Window_ID &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt; B&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;PT_Window_ID &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;and&lt;/FONT&gt;&lt;FONT size=2&gt; A&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;PT_UD_Key &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt; B&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;PT_UD_Key&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;JOIN&lt;/FONT&gt;&lt;FONT size=2&gt; deleted C &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;ON&lt;/FONT&gt;&lt;FONT size=2&gt; B&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;Key_Strings_1 &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt; C&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;IVDOCNBR &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;and&lt;/FONT&gt;&lt;FONT size=2&gt; B&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;Key_Strings_2 &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt; C&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;LNSEQNBR&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;WHERE&lt;/FONT&gt;&lt;FONT size=2&gt; B&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;PT_Window_ID &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt; @ExtenderID &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;and&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;not&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;exists(&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;select&lt;/FONT&gt;&lt;FONT size=2&gt; 1 &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;from&lt;/FONT&gt;&lt;FONT size=2&gt; IV30300 D &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;where&lt;/FONT&gt;&lt;FONT size=2&gt; D&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;DOCTYPE &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt; 3 &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;and&lt;/FONT&gt;&lt;FONT size=2&gt; D&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;DOCNUMBR &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt; C&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;IVDOCNBR &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;and&lt;/FONT&gt;&lt;FONT size=2&gt; D&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;LNSEQNBR &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt; C&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;LNSEQNBR&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;)&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;DELETE&lt;/FONT&gt;&lt;FONT size=2&gt; A &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;FROM&lt;/FONT&gt;&lt;FONT size=2&gt; EXT00184 A &lt;/FONT&gt;&lt;FONT color=#008000 size=2&gt;-- Times&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;JOIN&lt;/FONT&gt;&lt;FONT size=2&gt; EXT00185 B &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;ON&lt;/FONT&gt;&lt;FONT size=2&gt; A&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;PT_Window_ID &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt; B&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;PT_Window_ID &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;and&lt;/FONT&gt;&lt;FONT size=2&gt; A&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;PT_UD_Key &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt; B&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;PT_UD_Key&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;JOIN&lt;/FONT&gt;&lt;FONT size=2&gt; deleted C &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;ON&lt;/FONT&gt;&lt;FONT size=2&gt; B&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;Key_Strings_1 &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt; C&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;IVDOCNBR &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;and&lt;/FONT&gt;&lt;FONT size=2&gt; B&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;Key_Strings_2 &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt; C&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;LNSEQNBR&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;WHERE&lt;/FONT&gt;&lt;FONT size=2&gt; B&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;PT_Window_ID &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt; @ExtenderID &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;and&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;not&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;exists(&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;select&lt;/FONT&gt;&lt;FONT size=2&gt; 1 &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;from&lt;/FONT&gt;&lt;FONT size=2&gt; IV30300 D &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;where&lt;/FONT&gt;&lt;FONT size=2&gt; D&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;DOCTYPE &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt; 3 &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;and&lt;/FONT&gt;&lt;FONT size=2&gt; D&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;DOCNUMBR &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt; C&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;IVDOCNBR &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;and&lt;/FONT&gt;&lt;FONT size=2&gt; D&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;LNSEQNBR &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt; C&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;LNSEQNBR&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;)&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;DELETE&lt;/FONT&gt;&lt;FONT size=2&gt; A &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;FROM&lt;/FONT&gt;&lt;FONT size=2&gt; EXT00180 A &lt;/FONT&gt;&lt;FONT color=#008000 size=2&gt;-- Lines&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;JOIN&lt;/FONT&gt;&lt;FONT size=2&gt; EXT00185 B &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;ON&lt;/FONT&gt;&lt;FONT size=2&gt; A&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;PT_Window_ID &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt; B&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;PT_Window_ID &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;and&lt;/FONT&gt;&lt;FONT size=2&gt; A&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;PT_UD_Key &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt; B&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;PT_UD_Key&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;JOIN&lt;/FONT&gt;&lt;FONT size=2&gt; deleted C &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;ON&lt;/FONT&gt;&lt;FONT size=2&gt; B&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;Key_Strings_1 &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt; C&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;IVDOCNBR &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;and&lt;/FONT&gt;&lt;FONT size=2&gt; B&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;Key_Strings_2 &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt; C&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;LNSEQNBR&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;WHERE&lt;/FONT&gt;&lt;FONT size=2&gt; B&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;PT_Window_ID &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt; @ExtenderID &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;and&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;not&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;exists(&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;select&lt;/FONT&gt;&lt;FONT size=2&gt; 1 &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;from&lt;/FONT&gt;&lt;FONT size=2&gt; IV30300 D &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;where&lt;/FONT&gt;&lt;FONT size=2&gt; D&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;DOCTYPE &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt; 3 &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;and&lt;/FONT&gt;&lt;FONT size=2&gt; D&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;DOCNUMBR &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt; C&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;IVDOCNBR &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;and&lt;/FONT&gt;&lt;FONT size=2&gt; D&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;LNSEQNBR &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt; C&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;LNSEQNBR&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;)&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;DELETE&lt;/FONT&gt;&lt;FONT size=2&gt; B &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;FROM&lt;/FONT&gt;&lt;FONT size=2&gt; EXT00185 B &lt;/FONT&gt;&lt;FONT color=#008000 size=2&gt;-- Line Mapping&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;JOIN&lt;/FONT&gt;&lt;FONT size=2&gt; deleted C &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;ON&lt;/FONT&gt;&lt;FONT size=2&gt; B&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;Key_Strings_1 &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt; C&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;IVDOCNBR &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;and&lt;/FONT&gt;&lt;FONT size=2&gt; B&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;Key_Strings_2 &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt; C&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;LNSEQNBR&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;WHERE&lt;/FONT&gt;&lt;FONT size=2&gt; B&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;PT_Window_ID &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt; @ExtenderID &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;and&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;not&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;exists(&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;select&lt;/FONT&gt;&lt;FONT size=2&gt; 1 &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;from&lt;/FONT&gt;&lt;FONT size=2&gt; IV30300 D &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;where&lt;/FONT&gt;&lt;FONT size=2&gt; D&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;DOCTYPE &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt; 3 &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;and&lt;/FONT&gt;&lt;FONT size=2&gt; D&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;DOCNUMBR &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt; C&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;IVDOCNBR &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;and&lt;/FONT&gt;&lt;FONT size=2&gt; D&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;LNSEQNBR &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt; C&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;LNSEQNBR&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;)&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;
&lt;P&gt;END&lt;/P&gt;
&lt;P&gt;GO&lt;BR&gt;SET&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;QUOTED_IDENTIFIER&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;OFF&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;GO&lt;BR&gt;SET&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;ANSI_NULLS&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;ON&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;GO&lt;/P&gt;&lt;/FONT&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;/DIV&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;You will need to test the triggers for your window to be sure that the concept of checking the Open (or History) table does work for the particular posting code. You should also have the Table Link or SQL Trigger to cleanup when the records are removed from History. &lt;/P&gt;
&lt;P mce_keep="true"&gt;Hope you find this useful. Thanks Konrad for the idea.&lt;/P&gt;
&lt;P&gt;David&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9958085" width="1" height="1"&gt;</description><enclosure url="http://blogs.msdn.com/developingfordynamicsgp/attachment/9958085.ashx" length="1492" type="application/x-zip-compressed" /><category domain="http://blogs.msdn.com/developingfordynamicsgp/archive/tags/Extender/default.aspx">Extender</category><category domain="http://blogs.msdn.com/developingfordynamicsgp/archive/tags/Application/default.aspx">Application</category><category domain="http://blogs.msdn.com/developingfordynamicsgp/archive/tags/SQL/default.aspx">SQL</category></item><item><title>Microsoft Dynamics GP Source Code Program for Asia Pacific</title><link>http://blogs.msdn.com/developingfordynamicsgp/archive/2010/02/09/microsoft-dynamics-gp-source-code-program-for-asia-pacific.aspx</link><pubDate>Tue, 09 Feb 2010 01:00:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9960188</guid><dc:creator>David Musgrave</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/developingfordynamicsgp/comments/9960188.aspx</comments><wfw:commentRss>http://blogs.msdn.com/developingfordynamicsgp/commentrss.aspx?PostID=9960188</wfw:commentRss><description>&lt;P&gt;&lt;A title="David Meego" href="http://blogs.msdn.com/DevelopingForDynamicsGP/" mce_href="http://blogs.msdn.com/DevelopingForDynamicsGP/"&gt;&lt;IMG border=0 hspace=10 alt="David Meego - Click for blog homepage" align=right src="http://blogs.msdn.com/photos/developingfordynamicsgp/images/8719549/original.aspx" width=94 height=94 mce_src="http://blogs.msdn.com/photos/developingfordynamicsgp/images/8719549/original.aspx"&gt;&lt;IMG border=0 align=right src="http://www.myworldmaps.net/map.ashx/00bb0d70-4fc5-45a1-8753-6af01cdb9beb/ping" width=1 height=1 mce_src="http://www.myworldmaps.net/map.ashx/00bb0d70-4fc5-45a1-8753-6af01cdb9beb/ping"&gt;&lt;/A&gt;I have some fantastic news for developing partners in the Asia Pacific region. The Microsoft Dynamics GP Source Code Program is finally available for Asia Pacific.&lt;/P&gt;
&lt;P&gt;Before Microsoft acquired Great Plains, there was a source code program available for partners worldwide.&amp;nbsp; When Microsoft completed its acquisition of Great Plains the program was suspended.&amp;nbsp; Existing Source Code partners would continue to have access to source code, but no new partners could sign up.&lt;/P&gt;
&lt;P&gt;Eventually, the program was restarted. Initially only available to North American partners, but later it was also opened to Partners in the LATAM (Latin American) and EMEA (Europe, Middle East &amp;amp;&amp;nbsp;Africa) regions.&amp;nbsp; Partners in the Asia Pacific region had not been able to get access.... until now.&lt;/P&gt;
&lt;P&gt;If you wonder what the benefits of having access to the Source Code is, please have a read of my previous post on the topic:&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;A title="Do I need access to Microsoft Dynamics GP Source Code?" href="http://blogs.msdn.com/developingfordynamicsgp/archive/2009/01/26/do-i-need-access-to-microsoft-dynamics-gp-source-code.aspx" mce_href="http://blogs.msdn.com/developingfordynamicsgp/archive/2009/01/26/do-i-need-access-to-microsoft-dynamics-gp-source-code.aspx"&gt;Do I need access to Microsoft Dynamics GP Source Code?&lt;/A&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P mce_keep="true"&gt;&lt;BR&gt;Here is the PartnerSource link for the documentation for the program:&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Source Code Program for Microsoft Dynamics GP - Asia Pacific&lt;/STRONG&gt;&lt;BR&gt;&lt;A title=https://mbs.microsoft.com/partnersource/worldwide/asiapacific/partneressentials/mspp/SourceCodeProgramGP_APAC href="https://mbs.microsoft.com/partnersource/worldwide/asiapacific/partneressentials/mspp/SourceCodeProgramGP_APAC" target=_blank mce_href="https://mbs.microsoft.com/partnersource/worldwide/asiapacific/partneressentials/mspp/SourceCodeProgramGP_APAC"&gt;https://mbs.microsoft.com/partnersource/worldwide/asiapacific/partneressentials/mspp/SourceCodeProgramGP_APAC&lt;/A&gt;&amp;nbsp;&lt;IMG style="WIDTH: 15px; HEIGHT: 18px" title="Secure Link" alt="Secure Link" src="http://blogs.msdn.com/photos/developingfordynamicsgp/images/8771197/original.aspx" width=15 height=18 mce_src="http://blogs.msdn.com/photos/developingfordynamicsgp/images/8771197/original.aspx"&gt;&lt;/P&gt;
&lt;P&gt;If you have any questions, email &lt;A href="mailto:gpsource@microsoft.com"&gt;gpsource@microsoft.com&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;I am really excited as this is something I have been pushing for for a number of years and it is finally here.&lt;/P&gt;
&lt;P mce_keep="true"&gt;David&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9960188" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/developingfordynamicsgp/archive/tags/Dexterity/default.aspx">Dexterity</category><category domain="http://blogs.msdn.com/developingfordynamicsgp/archive/tags/Visual+Studio+Tools/default.aspx">Visual Studio Tools</category><category domain="http://blogs.msdn.com/developingfordynamicsgp/archive/tags/Source+Code+Program/default.aspx">Source Code Program</category><category domain="http://blogs.msdn.com/developingfordynamicsgp/archive/tags/News/default.aspx">News</category></item><item><title>See you at Microsoft Dynamics Convergence 2010</title><link>http://blogs.msdn.com/developingfordynamicsgp/archive/2010/02/08/see-you-at-microsoft-dynamics-convergence-2010.aspx</link><pubDate>Mon, 08 Feb 2010 01:00:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9959327</guid><dc:creator>David Musgrave</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/developingfordynamicsgp/comments/9959327.aspx</comments><wfw:commentRss>http://blogs.msdn.com/developingfordynamicsgp/commentrss.aspx?PostID=9959327</wfw:commentRss><description>&lt;P&gt;&lt;A title="David Meego" href="http://blogs.msdn.com/DevelopingForDynamicsGP/" mce_href="http://blogs.msdn.com/DevelopingForDynamicsGP/"&gt;&lt;IMG border=0 hspace=10 alt="David Meego - Click for blog homepage" align=right src="http://blogs.msdn.com/photos/developingfordynamicsgp/images/8719549/original.aspx" width=94 height=94 mce_src="http://blogs.msdn.com/photos/developingfordynamicsgp/images/8719549/original.aspx"&gt;&lt;IMG border=0 align=right src="http://www.myworldmaps.net/map.ashx/00bb0d70-4fc5-45a1-8753-6af01cdb9beb/ping" width=1 height=1 mce_src="http://www.myworldmaps.net/map.ashx/00bb0d70-4fc5-45a1-8753-6af01cdb9beb/ping"&gt;&lt;/A&gt;&lt;A title="Microsoft Dynamics Convergence 2010" href="http://www.microsoft.com/dynamics/convergence/atlanta10/" target=_blank mce_href="http://www.microsoft.com/dynamics/convergence/atlanta10/"&gt;&lt;IMG style="WIDTH: 480px; HEIGHT: 136px" title="Microsoft Dynamics Convergence 2010" border=0 alt="Microsoft Dynamics Convergence 2010" src="http://blogs.msdn.com/photos/developingfordynamicsgp/images/9950641/original.aspx" width=480 height=136 mce_src="http://blogs.msdn.com/photos/developingfordynamicsgp/images/9950641/original.aspx"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;Fantastic News. I am going to my first Convergence conference and, even better,&amp;nbsp;I will&amp;nbsp;be presenting 2&amp;nbsp;concurrent sessions with my partner in crime, &lt;A title="Mariano Gomez, The Dynamics GP Blogster" href="http://dynamicsgpblogster.blogspot.com/" target=_blank mce_href="http://dynamicsgpblogster.blogspot.com/"&gt;Mariano Gomez&lt;/A&gt;.&amp;nbsp; &lt;/P&gt;
&lt;P mce_keep="true"&gt;Back in November, Mariano and I presented together at the &lt;A title="Microsoft Dynamics GP Technical Conference 2009 Wrap Up" href="http://blogs.msdn.com/developingfordynamicsgp/archive/2009/11/18/microsoft-dynamics-gp-technical-conference-2009-wrap-up.aspx" mce_href="http://blogs.msdn.com/developingfordynamicsgp/archive/2009/11/18/microsoft-dynamics-gp-technical-conference-2009-wrap-up.aspx"&gt;Microsoft Dynamics GP Technical Conference 2009&lt;/A&gt; and it was a huge success.&lt;/P&gt;
&lt;P mce_keep="true"&gt;So now, we get a chance to do it again at the&amp;nbsp;&lt;A title="Microsoft Dynamics Convergence 2010" href="http://www.microsoft.com/dynamics/convergence/atlanta10/" target=_blank mce_href="http://www.microsoft.com/dynamics/convergence/atlanta10/"&gt;Microsoft Dynamics Convergence 2010&lt;/A&gt;. Details on&amp;nbsp;our sessions will be posted later.&lt;/P&gt;
&lt;P mce_keep="true"&gt;Please see the video below for details of some of the great volunteering opportunities that will be happening at&amp;nbsp;Convergence.&amp;nbsp;&lt;/P&gt;
&lt;OBJECT width=480 height=295&gt;&lt;PARAM NAME="movie" VALUE="http://www.youtube.com/v/9gWgaw_CXZM&amp;amp;hl=en_US&amp;amp;fs=1&amp;amp;"&gt;&lt;PARAM NAME="allowFullScreen" VALUE="true"&gt;&lt;PARAM NAME="allowscriptaccess" VALUE="always"&gt;
&lt;embed src="http://www.youtube.com/v/9gWgaw_CXZM&amp;hl=en_US&amp;fs=1&amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="295"&gt;&lt;/embed&gt;&lt;/OBJECT&gt;
&lt;P mce_keep="true"&gt;This is going to be a fantastic opportunity to catch up with members of the Dynamics GP community.&amp;nbsp; Mark Polino will be back presenting his &lt;A title="50 Tips at Convergence 2010 " href="http://msdynamicsgp.blogspot.com/2010/02/50-tips-at-convergence-2010.html" target=_blank mce_href="http://msdynamicsgp.blogspot.com/2010/02/50-tips-at-convergence-2010.html"&gt;Tips session&lt;/A&gt;.&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;Check out Mariano's &lt;A title="See you at Microsoft Dynamics Convergence 2010 " href="http://dynamicsgpblogster.blogspot.com/2010/02/see-you-at-microsoft-dynamics.html" target=_blank mce_href="http://dynamicsgpblogster.blogspot.com/2010/02/see-you-at-microsoft-dynamics.html"&gt;announcement post&lt;/A&gt;&amp;nbsp;on his blog.&lt;/P&gt;
&lt;P mce_keep="true"&gt;Looking forward to seeing&amp;nbsp;you in Atlanta (24&lt;SUP&gt;th&lt;/SUP&gt; - 27&lt;SUP&gt;th&lt;/SUP&gt; April 2010).&lt;/P&gt;
&lt;P mce_keep="true"&gt;David&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9959327" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/developingfordynamicsgp/archive/tags/Conference/default.aspx">Conference</category><category domain="http://blogs.msdn.com/developingfordynamicsgp/archive/tags/Blogsphere/default.aspx">Blogsphere</category><category domain="http://blogs.msdn.com/developingfordynamicsgp/archive/tags/News/default.aspx">News</category></item><item><title>Fixing missing Note Index values</title><link>http://blogs.msdn.com/developingfordynamicsgp/archive/2010/02/05/fixing-missing-note-index-values.aspx</link><pubDate>Fri, 05 Feb 2010 01:00:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9958605</guid><dc:creator>David Musgrave</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/developingfordynamicsgp/comments/9958605.aspx</comments><wfw:commentRss>http://blogs.msdn.com/developingfordynamicsgp/commentrss.aspx?PostID=9958605</wfw:commentRss><description>&lt;P&gt;&lt;A title="David Meego" href="http://blogs.msdn.com/DevelopingForDynamicsGP/" mce_href="http://blogs.msdn.com/DevelopingForDynamicsGP/"&gt;&lt;IMG border=0 hspace=10 alt="David Meego - Click for blog homepage" align=right src="http://blogs.msdn.com/photos/developingfordynamicsgp/images/8719549/original.aspx" width=94 height=94 mce_src="http://blogs.msdn.com/photos/developingfordynamicsgp/images/8719549/original.aspx"&gt;&lt;IMG border=0 align=right src="http://www.myworldmaps.net/map.ashx/00bb0d70-4fc5-45a1-8753-6af01cdb9beb/ping" width=1 height=1 mce_src="http://www.myworldmaps.net/map.ashx/00bb0d70-4fc5-45a1-8753-6af01cdb9beb/ping"&gt;&lt;/A&gt;A recent &lt;A title="The Note ID has not been set" href="http://www.microsoft.com/Businesssolutions/Community/Newsgroups/dgbrowser/en-us/default.mspx?dg=microsoft.public.greatplains&amp;amp;mid=ff17ed19-ace9-457f-85f9-7ca91385236e" target=_blank mce_href="http://www.microsoft.com/Businesssolutions/Community/Newsgroups/dgbrowser/en-us/default.mspx?dg=microsoft.public.greatplains&amp;amp;mid=ff17ed19-ace9-457f-85f9-7ca91385236e"&gt;newsgroup post&lt;/A&gt; asked about how to fix the error message shown below from occurring when clicking the Attach button on the Note window for a record level note.&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;FONT color=red&gt;"The note ID has not been set."&amp;nbsp;&lt;/FONT&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P mce_keep="true"&gt;The cause of the message is that the 'Note Index' value for the Transaction or Master record has not been set and so remains at zero.&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;The post &lt;A title="Understanding Notes and the Note Index field" href="http://blogs.msdn.com/developingfordynamicsgp/archive/2009/06/03/understanding-notes-and-the-note-index-field.aspx" mce_href="http://blogs.msdn.com/developingfordynamicsgp/archive/2009/06/03/understanding-notes-and-the-note-index-field.aspx"&gt;Understanding Notes and the Note Index field&lt;/A&gt;&amp;nbsp;explains how the Note Index is used and where the next Note Index comes from.&amp;nbsp; It also explains how cross linked notes can occur.&amp;nbsp; This post will discuss missing Note Index values and how they can occur.&amp;nbsp; &lt;/P&gt;
&lt;P mce_keep="true"&gt;The usual cause is because the data has been imported in some way and the import process did not populate the 'Note Index' field.&amp;nbsp;Depending on what the import process actually is, you might need to log this issue with support so that it can be fixed.&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;Also, If you can make this problem occur for a master record or transaction newly entered via the user interface, then there is a bug in the code for that window and you will need to log this issue with the developer.&lt;/P&gt;
&lt;P mce_keep="true"&gt;So, once there is data with a missing Note Index value, how can we fix it.... The answer is "easily".&lt;/P&gt;
&lt;P mce_keep="true"&gt;My friend, Robert Cavill, provided me with a script he had created which can scan a table for missing 'Note Index' values. The script updates the table with the next Note Index for the company. It does so by using the existing DynamicsGP stored procedure: &lt;FONT style="FONT-FAMILY: 'Courier New', courier, consolas, monospace; FONT-SIZE: 9pt"&gt;smGetNextNoteIndex&lt;/FONT&gt;. This &lt;STRONG&gt;AssignNoteIndex.sql&lt;/STRONG&gt; script is attached to the bottom of this post. You just need to specify the table name to process by editing the value at the top of the script.&lt;/P&gt;
&lt;P mce_keep="true"&gt;Before using &lt;STRONG&gt;AssignNoteIndex.sql&lt;/STRONG&gt;, I would suggest running the script in the Knowledge Base (KB) article &lt;A title="Cross-linked or incorrect notes indexes in Microsoft Great Plains (KB 872678)" href="https://mbs.microsoft.com/knowledgebase/KBDisplay.aspx?scid=kb;en-us;872678" target=_blank mce_href="https://mbs.microsoft.com/knowledgebase/KBDisplay.aspx?scid=kb;en-us;872678"&gt;Cross-linked or incorrect notes indexes in Microsoft Great Plains (KB 872678)&lt;/A&gt;&amp;nbsp;&lt;IMG style="WIDTH: 15px; HEIGHT: 18px" title="Secure Link" alt="Secure Link" src="http://blogs.msdn.com/photos/developingfordynamicsgp/images/8771197/original.aspx" width=15 height=18 mce_src="http://blogs.msdn.com/photos/developingfordynamicsgp/images/8771197/original.aspx"&gt;. This will ensure that the Note Index values used are higher than any existing values.&amp;nbsp; The &lt;STRONG&gt;FindMaxNoteIndex.sql&lt;/STRONG&gt; script from this KB is also attached to the bottom of this post.&lt;/P&gt;
&lt;P mce_keep="true"&gt;Should you make regular use of the sample company Fabrikam (TWO database), I would also suggest running the &lt;STRONG&gt;FindMaxNoteIndex.sql&lt;/STRONG&gt; script on this database as well. This is especially worthwhile if you have third party products that have added sample data.&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;STRONG&gt;The&amp;nbsp;AssignNoteIndex.sql script and the FindMaxNoteIndex.sql script are available from the attachment at the bottom of this post.&amp;nbsp; They can be executed against&amp;nbsp;any company database.&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;For other posts on the topic of Notes and OLE Attachments see the following posts:&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;A title="Understanding Notes and the Note Index field" href="http://blogs.msdn.com/developingfordynamicsgp/archive/2009/06/03/understanding-notes-and-the-note-index-field.aspx" mce_href="http://blogs.msdn.com/developingfordynamicsgp/archive/2009/06/03/understanding-notes-and-the-note-index-field.aspx"&gt;Understanding Notes and the Note Index field&lt;/A&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A title="OLE Attachments and Record Notes" href="http://blogs.msdn.com/developingfordynamicsgp/archive/2009/10/02/ole-attachments-and-record-notes.aspx" mce_href="http://blogs.msdn.com/developingfordynamicsgp/archive/2009/10/02/ole-attachments-and-record-notes.aspx"&gt;OLE Attachments and Record Notes&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A title="All about the Dexterity OLE Container" href="http://blogs.msdn.com/developingfordynamicsgp/archive/2008/11/29/all-about-the-dexterity-ole-container.aspx" mce_href="http://blogs.msdn.com/developingfordynamicsgp/archive/2008/11/29/all-about-the-dexterity-ole-container.aspx"&gt;All about the Dexterity OLE Container&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A title="Copying Record Notes and OLE Attachments between Companies" href="http://blogs.msdn.com/developingfordynamicsgp/archive/2009/10/05/copying-record-notes-and-ole-attachments-between-companies.aspx" mce_href="http://blogs.msdn.com/developingfordynamicsgp/archive/2009/10/05/copying-record-notes-and-ole-attachments-between-companies.aspx"&gt;Copying Record Notes and OLE Attachments between Companies&lt;/A&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;I hope you find these scripts useful.&lt;/P&gt;
&lt;P&gt;David&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9958605" width="1" height="1"&gt;</description><enclosure url="http://blogs.msdn.com/developingfordynamicsgp/attachment/9958605.ashx" length="1927" type="application/x-zip-compressed" /><category domain="http://blogs.msdn.com/developingfordynamicsgp/archive/tags/Application/default.aspx">Application</category><category domain="http://blogs.msdn.com/developingfordynamicsgp/archive/tags/SQL/default.aspx">SQL</category><category domain="http://blogs.msdn.com/developingfordynamicsgp/archive/tags/Exception/default.aspx">Exception</category><category domain="http://blogs.msdn.com/developingfordynamicsgp/archive/tags/Notes+_2600_amp_3B00_+OLE+Attachments/default.aspx">Notes &amp;amp; OLE Attachments</category></item><item><title>The "Right" Way to Maximize the Growing Number of Online Resources for Microsoft Dynamics GP</title><link>http://blogs.msdn.com/developingfordynamicsgp/archive/2010/02/04/the-right-way-to-maximize-the-growing-number-of-online-resources-for-microsoft-dynamics-gp.aspx</link><pubDate>Thu, 04 Feb 2010 01:00:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9957345</guid><dc:creator>David Musgrave</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/developingfordynamicsgp/comments/9957345.aspx</comments><wfw:commentRss>http://blogs.msdn.com/developingfordynamicsgp/commentrss.aspx?PostID=9957345</wfw:commentRss><description>&lt;P&gt;&lt;A title="David Meego" href="http://blogs.msdn.com/DevelopingForDynamicsGP/" mce_href="http://blogs.msdn.com/DevelopingForDynamicsGP/"&gt;&lt;IMG border=0 hspace=10 alt="David Meego - Click for blog homepage" align=right src="http://blogs.msdn.com/photos/developingfordynamicsgp/images/8719549/original.aspx" width=94 height=94 mce_src="http://blogs.msdn.com/photos/developingfordynamicsgp/images/8719549/original.aspx"&gt;&lt;IMG border=0 align=right src="http://www.myworldmaps.net/map.ashx/00bb0d70-4fc5-45a1-8753-6af01cdb9beb/ping" width=1 height=1 mce_src="http://www.myworldmaps.net/map.ashx/00bb0d70-4fc5-45a1-8753-6af01cdb9beb/ping"&gt;&lt;/A&gt;My friend &lt;A title="Victoria Yudin" href="http://victoriayudin.com/" target=_blank mce_href="http://victoriayudin.com/"&gt;Victoria Yudin&lt;/A&gt; (MVP) has written a great article which has been posted on the &lt;A title=MSDynamicsWorld.com href="http://msdynamicsworld.com/" target=_blank mce_href="http://msdynamicsworld.com/"&gt;MSDynamicsWorld.com&lt;/A&gt;&amp;nbsp;site.&lt;/P&gt;
&lt;P&gt;The article: &lt;A title='The "Right" Way to Maximize the Growing Number of Online Resources for Microsoft Dynamics GP' href="http://msdynamicsworld.com/story/accounting/right-way-maximize-growing-number-online-resources-microsoft-dynamics-gp" target=_blank mce_href="http://msdynamicsworld.com/story/accounting/right-way-maximize-growing-number-online-resources-microsoft-dynamics-gp"&gt;The "Right" Way to Maximize the Growing Number of Online Resources for Microsoft Dynamics GP&lt;/A&gt;, discusses the best methods&amp;nbsp;to get help from the online resources and Microsoft Dynamics GP community.&amp;nbsp; The main tips she mentions are:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;Be specific and thorough in describing your problem. &lt;/LI&gt;
&lt;LI&gt;Try to find the answer yourself first. &lt;/LI&gt;
&lt;LI&gt;Be a smart "buyer".&lt;/LI&gt;
&lt;LI&gt;Be considerate. &lt;/LI&gt;&lt;/OL&gt;
&lt;P mce_keep="true"&gt;However, you will need to read her article to get the details.&amp;nbsp; It is well worth the time. You can also check out Victoria's post from her blog:&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P mce_keep="true"&gt;&lt;A title="Maximizing Dynamics GP online&amp;nbsp;resources" href="http://victoriayudin.com/2010/02/02/maximizing-dynamics-gp-online-resources/" rel=bookmark target=_blank mce_href="http://victoriayudin.com/2010/02/02/maximizing-dynamics-gp-online-resources/"&gt;Maximizing Dynamics GP online&amp;nbsp;resources&lt;/A&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P mce_keep="true"&gt;&lt;STRONG&gt;Note:&lt;/STRONG&gt; To read the entire article, you will need to sign up for a free account, if you don't have one already. &lt;/P&gt;
&lt;P&gt;I am a firm believer in&amp;nbsp;helping people help themselves.&amp;nbsp; I am happy to point people in&amp;nbsp;the right direction after they have done their own research on a topic.&amp;nbsp; This way they learn how to find the answers themselves and get&amp;nbsp;a much better understanding of the problem and the subsequent solution.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thank you&amp;nbsp;Victoria.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;David&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9957345" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/developingfordynamicsgp/archive/tags/General/default.aspx">General</category><category domain="http://blogs.msdn.com/developingfordynamicsgp/archive/tags/Blogsphere/default.aspx">Blogsphere</category></item><item><title>Limitations of Dexterity Table Triggers</title><link>http://blogs.msdn.com/developingfordynamicsgp/archive/2010/02/03/limitations-of-dexterity-table-triggers.aspx</link><pubDate>Wed, 03 Feb 2010 01:00:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9899435</guid><dc:creator>David Musgrave</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/developingfordynamicsgp/comments/9899435.aspx</comments><wfw:commentRss>http://blogs.msdn.com/developingfordynamicsgp/commentrss.aspx?PostID=9899435</wfw:commentRss><description>&lt;P&gt;&lt;A title="David Meego" href="http://blogs.msdn.com/DevelopingForDynamicsGP/" mce_href="http://blogs.msdn.com/DevelopingForDynamicsGP/"&gt;&lt;IMG border=0 hspace=10 alt="David Meego - Click for blog homepage" align=right src="http://blogs.msdn.com/photos/developingfordynamicsgp/images/8719549/original.aspx" width=94 height=94 mce_src="http://blogs.msdn.com/photos/developingfordynamicsgp/images/8719549/original.aspx"&gt;&lt;IMG border=0 align=right src="http://www.myworldmaps.net/map.ashx/00bb0d70-4fc5-45a1-8753-6af01cdb9beb/ping" width=1 height=1 mce_src="http://www.myworldmaps.net/map.ashx/00bb0d70-4fc5-45a1-8753-6af01cdb9beb/ping"&gt;&lt;/A&gt;&lt;STRONG&gt;"Why doesn't my Dexterity table trigger fire when the table is changed."&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;I have heard this question&lt;A title="David Meego" href="http://blogs.msdn.com/DevelopingForDynamicsGP/" mce_href="http://blogs.msdn.com/DevelopingForDynamicsGP/"&gt;&lt;IMG border=0 align=right src="http://www.myworldmaps.net/map.ashx/00bb0d70-4fc5-45a1-8753-6af01cdb9beb/ping" width=1 height=1 mce_src="http://www.myworldmaps.net/map.ashx/00bb0d70-4fc5-45a1-8753-6af01cdb9beb/ping"&gt;&lt;/A&gt;&amp;nbsp;asked a number of times and so I thought I would highlight some of the possible reasons for the trigger failing to fire.&amp;nbsp; Some of the reasons can be resolved by coding, while other reasons are a limitation in the way Dexterity table triggers work and cannot be resolved from inside Dexterity.&lt;/P&gt;
&lt;P mce_keep="true"&gt;Dexterity&amp;nbsp;triggers are client side triggers which work from inside the current instance of the Dexterity application.&amp;nbsp;They can only "see" what happens in the&amp;nbsp;that instance of the application.&amp;nbsp;&amp;nbsp;A Dexterity table trigger does not involve anything at the database level, there will not be a SQL Server trigger registered.&lt;/P&gt;
&lt;P mce_keep="true"&gt;Dexterity table triggers are registered against a particular table and can be set as application wide (by using a 0 for the second parameter below)&amp;nbsp;or restricted to a single form. You can register multiple triggers to have triggers restricted to multiple forms.&amp;nbsp; They are registered for specific table event(s).&lt;/P&gt;
&lt;P mce_keep="true"&gt;The syntax for the registration of Dexterity table triggers is shown below:&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;STRONG&gt;Trigger_RegisterDatabase(anonymous&lt;/STRONG&gt;(&lt;STRONG&gt;table&lt;/STRONG&gt; &lt;I&gt;table_name&lt;/I&gt;), &lt;STRONG&gt;form&lt;/STRONG&gt; &lt;I&gt;form_name&lt;/I&gt; , &lt;I&gt;table_operations&lt;/I&gt;, &lt;STRONG&gt;script&lt;/STRONG&gt; &lt;I&gt;processing_procedure &lt;/I&gt;{, &lt;I&gt;tag&lt;/I&gt;}&lt;STRONG&gt;)&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;where&amp;nbsp;&lt;EM&gt;table_operations&lt;/EM&gt; can be any of the following operations (add the constants together&amp;nbsp;when more than one operation is needed): &lt;BR&gt;&amp;nbsp;&lt;BR&gt;TRIGGER_ON_DB_READ&amp;nbsp; &amp;nbsp;(1)&lt;BR&gt;TRIGGER_ON_DB_READ_LOCK&amp;nbsp; &amp;nbsp;(2)&lt;BR&gt;TRIGGER_ON_DB_ADD&amp;nbsp; &amp;nbsp;(4)&lt;BR&gt;TRIGGER_ON_DB_UPDATE&amp;nbsp;&amp;nbsp; (8)&lt;BR&gt;TRIGGER_ON_DB_DELETE&amp;nbsp; &amp;nbsp;(16)&lt;BR&gt;&amp;nbsp;&lt;BR&gt;&lt;STRONG&gt;Note:&lt;/STRONG&gt; the value of the constant is shown above in parenthesis.&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P mce_keep="true"&gt;For&amp;nbsp;trigger to fire, the table event&amp;nbsp;must:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;Be a&amp;nbsp;successful&amp;nbsp;table event (no errors at the database level).&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;Occur using a table buffer which has the trigger registered against it.&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;Be one of the operations defined when the trigger was registered.&lt;/DIV&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P mce_keep="true"&gt;
&lt;P&gt;For tables not in the Dynamics.dic, you will need to use cross dictionary triggers using the &lt;STRONG&gt;Trigger_RegisterDatabaseByName()&lt;/STRONG&gt; function.&lt;/P&gt;
&lt;HR style="WIDTH: 100%; HEIGHT: 2px"&gt;

&lt;P mce_keep="true"&gt;So based on the information above,&amp;nbsp;the following situations could&amp;nbsp;cause a table change to occur without the table&amp;nbsp;trigger firing:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;The table change is made by an external (non-Dexterity) application. This can be any external program such as eConnect, Integration Manager, Business Portal, directly at the table level by a SQL Administrator&amp;nbsp;or a&amp;nbsp;third party customisation.&lt;BR&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;The table change is made&amp;nbsp;from within the Dexterity application by a non-Dexterity method.&amp;nbsp; This could be a call to a&amp;nbsp;SQL&amp;nbsp;stored procedure, use of pass through SQL scripts or even access via customisation written using Visual Studio Tools or Visual Basic for Applications (VBA) and ActiveX Data&amp;nbsp;Objects (ADO). Any method which does not use Dexterity commands with a table buffer.&lt;BR&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;The Dexterity customisation with the table trigger is not installed on the application instance running.&lt;BR&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;The table event is using Dexterity commands, but is using a different table buffer to the one against which the trigger is registered.&lt;BR&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;The table event is using Dexterity commands on the same table buffer, for different operations for which the trigger is registered.&lt;BR&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;The table event is using a different table definition to the one against which the trigger is registered. In Dexterity it is possible to have duplicated table definitions referring to the same physical table. This could be to facilitate opening the table twice at the same time or could be because a customisation needs access to a table in a 3&lt;SUP&gt;rd&lt;/SUP&gt; party product and it was better to duplicate the table rather than use pass through sanScript via the execute()&amp;nbsp;function.&lt;/DIV&gt;&lt;/LI&gt;&lt;/OL&gt;
&lt;P mce_keep="true"&gt;The first two of the reasons are situations where a Dexterity table trigger is not going to work as Dexterity just never "sees" the table&amp;nbsp;change being made. The only method available for these situations is to use&amp;nbsp;a trigger at the SQL Server level.&lt;/P&gt;
&lt;P mce_keep="true"&gt;The third reason is easily solved by installing the customisation chunk file on all workstations.&amp;nbsp; It was only in this list to highlight the importance of all workstations having all the same dictionaries installed.&lt;/P&gt;
&lt;P mce_keep="true"&gt;The fourth reason is important, but can be coded around.&amp;nbsp; Using an unrestricted (no form specified) table trigger is not recommended as it could cause the trigger to fire at unexpected times. (For example: when posting, running table maintenance or history removal.) So most developers use one or more table triggers restricted to specific forms.&amp;nbsp; However, those triggers will only fire if the table event occurs in the specified form's table buffer.&amp;nbsp; If the code on that form uses a function or procedure to perform the table event and the form's table buffer is not passed as a parameter, a separate instance of the table buffer will be created for the scope of the function or procedure.&amp;nbsp; As this separate table buffer is not the same as the form's table buffer, a form restricted table trigger will not fire.&amp;nbsp;In this situation it might require an unrestricted table trigger to be used.&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;STRONG&gt;Note:&lt;/STRONG&gt; If using an unrestricted table trigger, it is good practice to make sure it will not fire at unexpected times.&amp;nbsp; It is possible to use additional triggers to enable and disable the trigger using the tag value captured when the table trigger was registered.&amp;nbsp; For example, the trigger could be disabled immediately after registration and then enabled just before the function or procedure described above is executed and then disabled again afterwards.&amp;nbsp; This is a similar method to the &lt;A title="Using the Dexterity Three Trigger Technique Part 1" href="http://blogs.msdn.com/developingfordynamicsgp/archive/2009/03/27/using-the-dexterity-three-trigger-technique-part-1.aspx" mce_href="http://blogs.msdn.com/developingfordynamicsgp/archive/2009/03/27/using-the-dexterity-three-trigger-technique-part-1.aspx"&gt;Three Trigger Technique&lt;/A&gt;.&lt;/P&gt;
&lt;P mce_keep="true"&gt;The fifth reason is not so common, but can also be changed in the code.&amp;nbsp;It is most likely to&amp;nbsp;happen&amp;nbsp;when using a read trigger.&amp;nbsp; The get table command does not apply a lock and so is covered by the TRIGGER_ON_DB_READ operation.&amp;nbsp; The change table and edit table commands do apply locks and so are covered by the&amp;nbsp;TRIGGER_ON_DB_READ_LOCK operation.&amp;nbsp; If you wish to capture any read event (with or without a lock) you need to use TRIGGER_ON_DB_READ + TRIGGER_ON_DB_READ_LOCK.&amp;nbsp; The Add, Update and Delete events are self explanatory.&lt;/P&gt;
&lt;P mce_keep="true"&gt;The sixth reason is also rare, but can happen.&amp;nbsp;There are times, let's say for reporting on data from a 3&lt;SUP&gt;rd&lt;/SUP&gt; party product where we need to be able to access a table from another dictionary as though it is in our dictionary. In this case the methods using execute() and pass through sanScript are not going to work.&amp;nbsp; So we can create a Combined Dictionary (&lt;A title="How to combine the Dynamics.dic core dictionary and an extracted dictionary by using Dexterity Utilities in Microsoft Dynamics GP (KB 930350)" href="https://mbs.microsoft.com/knowledgebase/KBDisplay.aspx?scid=kb;en-us;930350" target=_blank mce_href="https://mbs.microsoft.com/knowledgebase/KBDisplay.aspx?scid=kb;en-us;930350"&gt;&lt;FONT color=#006ff7&gt;KB 930350&lt;/FONT&gt;&lt;/A&gt;&amp;nbsp;&lt;IMG style="WIDTH: 15px; HEIGHT: 18px" title="Secure Link" alt="Secure Link" src="http://blogs.msdn.com/photos/developingfordynamicsgp/images/8771197/original.aspx" width=15 height=18 mce_src="http://blogs.msdn.com/photos/developingfordynamicsgp/images/8771197/original.aspx"&gt;) and transfer the table definition (without referenced resources) to our dictionary.&amp;nbsp; This technique works well for accessing the data, but if we make any changes using our duplicate table definition, the trigger on the original table will not see it.&amp;nbsp; You would need to also register a cross dictionary trigger on the duplicate table.&lt;/P&gt;
&lt;P mce_keep="true"&gt;Let me know if this is helpful.&lt;/P&gt;
&lt;P&gt;David&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;04-Feb-2010:&lt;/STRONG&gt; Added additional reason (Duplicate table definitions) for table triggers to fail.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9899435" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/developingfordynamicsgp/archive/tags/Dexterity/default.aspx">Dexterity</category><category domain="http://blogs.msdn.com/developingfordynamicsgp/archive/tags/Triggers/default.aspx">Triggers</category><category domain="http://blogs.msdn.com/developingfordynamicsgp/archive/tags/Best+Practice/default.aspx">Best Practice</category></item><item><title>Dexterity Training in Orlando (May 10th to 14th 2010)</title><link>http://blogs.msdn.com/developingfordynamicsgp/archive/2010/02/02/dexterity-training-in-orlando-may-10th-to-14th-2010.aspx</link><pubDate>Tue, 02 Feb 2010 01:00:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9950649</guid><dc:creator>David Musgrave</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/developingfordynamicsgp/comments/9950649.aspx</comments><wfw:commentRss>http://blogs.msdn.com/developingfordynamicsgp/commentrss.aspx?PostID=9950649</wfw:commentRss><description>&lt;P&gt;&lt;A title=Dexterity href="http://blogs.msdn.com/DevelopingForDynamicsGP/" mce_href="http://blogs.msdn.com/DevelopingForDynamicsGP/"&gt;&lt;IMG border=0 hspace=10 alt="Dexterity - Click for blog homepage" align=right src="http://blogs.msdn.com/photos/developingfordynamicsgp/images/8895716/original.aspx" width=240 height=150 srchttp: blogs.msdn.com photos developingfordynamicsgp images 8895716 original.aspx? mce_src="http://blogs.msdn.com/photos/developingfordynamicsgp/images/8895716/original.aspx"&gt;&lt;IMG border=0 align=right src="http://www.myworldmaps.net/map.ashx/00bb0d70-4fc5-45a1-8753-6af01cdb9beb/ping" width=1 height=1 mce_src="http://www.myworldmaps.net/map.ashx/00bb0d70-4fc5-45a1-8753-6af01cdb9beb/ping"&gt;&lt;/A&gt;Another opportunity to learn the foundations of &lt;A title="Developing for Dynamics GP" href="http://blogs.msdn.com/DevelopingForDynamicsGP/" mce_href="http://blogs.msdn.com/DevelopingForDynamicsGP/"&gt;Developing for Dynamics GP&lt;/A&gt; is now available.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;Microsoft Dynamics GP's core application user interface is developed using the Dexterity development system.&amp;nbsp; Knowledge of Dexterity and therefore how Dynamics GP's internals work is fundamental to developing&amp;nbsp;customisations and products&amp;nbsp;that work with Dynamics GP.&lt;/P&gt;
&lt;P&gt;Even if you don't plan on developing with Dexterity and wish to use Visual Basic for Applications (VBA) or Visual Studio Tools for Microsoft Dynamics GP, this course is well worth attending.&amp;nbsp; Having an understanding of how the GP windows are constructed, how table buffers and ranges work, and how to call functions and procedures are just a few of the things that is useful to all developers regardless of the development tool used.&lt;/P&gt;
&lt;P&gt;&lt;A title="Leslie Vail's Dynamics Confessor Blog" href="http://dynamicsconfessions.blogspot.com/" target=_blank mce_href="http://dynamicsconfessions.blogspot.com/"&gt;Leslie Vail&lt;/A&gt; (MVP) will be instructing the 5 day Dexterity class to be held&amp;nbsp;in Orlando, Florida, USA&amp;nbsp;during the week starting on the 10&lt;SUP&gt;th&lt;/SUP&gt; of May 2010.&amp;nbsp; Leslie is an excellent trainer with awesome application and development knowledge and experience.&amp;nbsp; The course will be fun and extremely educational.&lt;/P&gt;
&lt;P&gt;The course is organised through the partner Integrated Business Group (&lt;A title="Integrated Business Group" href="http://www.ibgnet.com/" target=_blank mce_href="http://www.ibgnet.com/"&gt;&lt;FONT color=#006ff7&gt;http://www.ibgnet.com/&lt;/FONT&gt;&lt;/A&gt;). If you would like more information, contact&amp;nbsp;the training coordinator, Roxanna Alvarez, &lt;A title=mailto:ralvarez@ibgnet.com href="mailto:ralvarez@ibgnet.com" mce_href="mailto:ralvarez@ibgnet.com"&gt;&lt;FONT color=#006ff7&gt;ralvarez@ibgnet.com&lt;/FONT&gt;&lt;/A&gt; or at&amp;nbsp;+1 (407) 677-0370.&lt;/P&gt;
&lt;P&gt;This course is a must for anyone wanting to get started in the&amp;nbsp;Dynamics GP&amp;nbsp;development world.&amp;nbsp;See point 3 in my blog posting on&amp;nbsp;&lt;A title="How to get started with Dexterity" href="http://blogs.msdn.com/developingfordynamicsgp/archive/2008/08/11/how-to-get-started-with-dexterity.aspx" mce_href="http://blogs.msdn.com/developingfordynamicsgp/archive/2008/08/11/how-to-get-started-with-dexterity.aspx"&gt;&lt;FONT color=#006ff7&gt;How to get started with Dexterity&lt;/FONT&gt;&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;For more info see Leslie's blog post: &lt;A href="http://dynamicsconfessions.blogspot.com/2010/01/dexterity-class-may-10th-in-orlando.html"&gt;DEXTERITY class May 10th in Orlando&lt;/A&gt;&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;HR style="WIDTH: 100%; HEIGHT: 2px"&gt;

&lt;P&gt;If you enjoyed the troubleshooting session on the &lt;A title="Support Debugging Tool for Microsoft Dynamics GP" href="http://blogs.msdn.com/developingfordynamicsgp/archive/2008/07/30/support-debugging-tool-for-microsoft-dynamics-gp.aspx" mce_href="http://blogs.msdn.com/developingfordynamicsgp/archive/2008/07/30/support-debugging-tool-for-microsoft-dynamics-gp.aspx"&gt;Support Debugging Tool for Microsoft Dynamics GP&lt;/A&gt; at the &lt;A title="Microsoft Dynamics GP Technical Conference 2009" href="http://blogs.msdn.com/developingfordynamicsgp/archive/2009/11/18/microsoft-dynamics-gp-technical-conference-2009-wrap-up.aspx" mce_href="http://blogs.msdn.com/developingfordynamicsgp/archive/2009/11/18/microsoft-dynamics-gp-technical-conference-2009-wrap-up.aspx"&gt;Microsoft Dynamics GP Technical Conference 2009&lt;/A&gt;, let it be known that Leslie worked with Mariano and myself into the small hours of the morning to make the session as great as&amp;nbsp;it was.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thanks Leslie.&lt;/P&gt;
&lt;P&gt;David&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9950649" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/developingfordynamicsgp/archive/tags/Dexterity/default.aspx">Dexterity</category><category domain="http://blogs.msdn.com/developingfordynamicsgp/archive/tags/VBA/default.aspx">VBA</category><category domain="http://blogs.msdn.com/developingfordynamicsgp/archive/tags/Visual+Studio+Tools/default.aspx">Visual Studio Tools</category><category domain="http://blogs.msdn.com/developingfordynamicsgp/archive/tags/Training/default.aspx">Training</category></item><item><title>What causes an "All call stacks are in use" error?</title><link>http://blogs.msdn.com/developingfordynamicsgp/archive/2010/02/01/what-causes-an-all-call-stacks-in-use-error.aspx</link><pubDate>Mon, 01 Feb 2010 01:00:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9104551</guid><dc:creator>David Musgrave</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/developingfordynamicsgp/comments/9104551.aspx</comments><wfw:commentRss>http://blogs.msdn.com/developingfordynamicsgp/commentrss.aspx?PostID=9104551</wfw:commentRss><description>&lt;P&gt;&lt;A title="David Meego" href="http://blogs.msdn.com/DevelopingForDynamicsGP/" mce_href="http://blogs.msdn.com/DevelopingForDynamicsGP/"&gt;&lt;IMG border=0 hspace=10 alt="David Meego - Click for blog homepage" align=right src="http://blogs.msdn.com/photos/developingfordynamicsgp/images/8719549/original.aspx" width=94 height=94 mce_src="http://blogs.msdn.com/photos/developingfordynamicsgp/images/8719549/original.aspx"&gt;&lt;IMG border=0 align=right src="http://www.myworldmaps.net/map.ashx/00bb0d70-4fc5-45a1-8753-6af01cdb9beb/ping" width=1 height=1 mce_src="http://www.myworldmaps.net/map.ashx/00bb0d70-4fc5-45a1-8753-6af01cdb9beb/ping"&gt;&lt;/A&gt;As a Dexterity developer you might have come across the following error:&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;FONT color=red&gt;All call stacks are in use. Cannot start script.&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P mce_keep="true"&gt;This post will describe what call stacks are (from a Dexterity perspective), how they are used and what causes this error to be generated.&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;STRONG&gt;Note:&lt;/STRONG&gt; I will start by saying that this topic is covered very well in the Dexterity Programmer's Guide (Volume 2, Part 5, Chapter 24) and also in the Dexterity Help file (search for "Call Stacks", then click on "described").&amp;nbsp; Thanks to Steve Kubis and the Dexterity documentation team. &lt;/P&gt;
&lt;HR style="WIDTH: 100%; HEIGHT: 2px"&gt;

&lt;P mce_keep="true"&gt;A call stack is a mechanism for managing the processing of scripts.&amp;nbsp; In programming terms, a call stack is a Last In First Out (LIFO) data structure that stores the state of a script (variables, next command to execute, etc.).&amp;nbsp; When Script A calls a child Script B, the state of Script A is placed (or pushed) onto the call stack while Script B runs.&amp;nbsp; When Script B is completed, the state is restored (or popped) back from the call stack and Script A continues running from just after the call to Script B. &lt;/P&gt;
&lt;P mce_keep="true"&gt;When Dexterity calls global and form level functions and procedures, all the processing is handled on the single call stack.&amp;nbsp;&amp;nbsp; This can be visualised as a pile of paper sheets and as each new script runs a new sheet is placed onto the pile and then removed when that script is completed.&lt;/P&gt;
&lt;P mce_keep="true"&gt;However, under certain circumstance Dexterity can execute code which requires its own call stack.&amp;nbsp; To support this, the Dexterity system has eight (8) call stacks.&amp;nbsp; One call stack is dedicated to background processing which leaves seven (7) call stacks for foreground use.&lt;/P&gt;
&lt;P mce_keep="true"&gt;There are three types of processes which can start a new call stack being used:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;Procedures that are called automatically by Dexterity, such as the global procedures Security and Pathname.&lt;BR&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;RW Functions called by Report Writer calculated fields as User Defined Functions.&lt;BR&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;&lt;FONT style="FONT-FAMILY: 'Courier New', courier, consolas, monospace; FONT-SIZE: 9pt"&gt;run script&lt;/FONT&gt; commands which executes the script attached to the change event of the window field specified.&lt;/DIV&gt;&lt;/LI&gt;&lt;/OL&gt;
&lt;P mce_keep="true"&gt;The problem with running out of call stacks and generating a call stack&amp;nbsp;error is usually caused when developers over&amp;nbsp;use the &lt;FONT style="FONT-FAMILY: 'Courier New', courier, consolas, monospace; FONT-SIZE: 9pt"&gt;run script&lt;/FONT&gt; command. The two examples below will explain how the call stacks are used with the &lt;FONT style="FONT-FAMILY: 'Courier New', courier, consolas, monospace; FONT-SIZE: 9pt"&gt;run script&lt;/FONT&gt; command:&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P mce_keep="true"&gt;&lt;STRONG&gt;Example 1: Script A&lt;/STRONG&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;FONT style="FONT-FAMILY: 'Courier New', courier, consolas, monospace; FONT-SIZE: 9pt"&gt;run script 'B';&lt;BR&gt;run script 'C';&lt;/FONT&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P mce_keep="true"&gt;In example 1: when Script B is executed a second call stack is used. But once Script B is completed the call stack is no longer needed and the execution returns to the original call stack.&amp;nbsp; Then Script C is executed in the second call stack.&amp;nbsp; This sequential calling using the &lt;FONT style="FONT-FAMILY: 'Courier New', courier, consolas, monospace; FONT-SIZE: 9pt"&gt;run script&lt;/FONT&gt; command only uses one additional call stack and so does not cause the error condition.&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P mce_keep="true"&gt;&lt;STRONG&gt;Example 2: Script A&lt;/STRONG&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;FONT style="FONT-FAMILY: 'Courier New', courier, consolas, monospace; FONT-SIZE: 9pt"&gt;run script 'B';&lt;/FONT&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;STRONG&gt;Example 2: Script B&lt;/STRONG&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;FONT style="FONT-FAMILY: 'Courier New', courier, consolas, monospace; FONT-SIZE: 9pt"&gt;run script 'C';&lt;/FONT&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P mce_keep="true"&gt;In example 2: when Script B is executed a second call stack is used. Script B in turn executes Script C and so uses a third call stack.&amp;nbsp; This nested calling using the &lt;FONT style="FONT-FAMILY: 'Courier New', courier, consolas, monospace; FONT-SIZE: 9pt"&gt;run script&lt;/FONT&gt; command uses an additional call stack for each nested call.&amp;nbsp; As there are only seven call stacks available for foreground processing, you can only have six levels of nested &lt;FONT style="FONT-FAMILY: 'Courier New', courier, consolas, monospace; FONT-SIZE: 9pt"&gt;run script&lt;/FONT&gt; commands. &lt;/P&gt;
&lt;P mce_keep="true"&gt;The following diagram from the Dexterity manuals shows the Background call stack and the seven Foreground stacks.&amp;nbsp; Note how the seven stacks are all used because of six nested &lt;FONT style="FONT-FAMILY: 'Courier New', courier, consolas, monospace; FONT-SIZE: 9pt"&gt;run script&lt;/FONT&gt; commands.&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;IMG style="WIDTH: 554px; HEIGHT: 114px" title="Call Stacks in use" alt="Call Stacks in use" src="http://blogs.msdn.com/photos/developingfordynamicsgp/images/9956192/original.aspx" width=554 height=114 mce_src="http://blogs.msdn.com/photos/developingfordynamicsgp/images/9956192/original.aspx"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;If a 7&lt;SUP&gt;th&lt;/SUP&gt; nested &lt;FONT style="FONT-FAMILY: 'Courier New', courier, consolas, monospace; FONT-SIZE: 9pt"&gt;run script&lt;/FONT&gt; command is called, an automatically executed procedure is called (by opening a form or table), or a report is run which calls a RW function; the system will have no call stacks available and so produce the error:&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;FONT color=red&gt;All call stacks are in use. Cannot start script.&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P mce_keep="true"&gt;One example I have seen of this issue was on a maintenance window which had nested &lt;FONT style="FONT-FAMILY: 'Courier New', courier, consolas, monospace; FONT-SIZE: 9pt"&gt;run script&lt;/FONT&gt; commands to update fields on the window depending on other fields on the same window (for example: disabling fields depending on a checkbox). When the window used by itself there were no issues. However, when the window was opened by a drill down, there was at least one more &lt;FONT style="FONT-FAMILY: 'Courier New', courier, consolas, monospace; FONT-SIZE: 9pt"&gt;run script&lt;/FONT&gt; command and the error occurred.&amp;nbsp; This shows how using too many nested &lt;FONT style="FONT-FAMILY: 'Courier New', courier, consolas, monospace; FONT-SIZE: 9pt"&gt;run script&lt;/FONT&gt; commands might not break the code all the time, but could cause issues when called by different methods.&lt;/P&gt;
&lt;P mce_keep="true"&gt;It is recommended that developers don't nest &lt;FONT style="FONT-FAMILY: 'Courier New', courier, consolas, monospace; FONT-SIZE: 9pt"&gt;run script&lt;/FONT&gt; commands more than 3 levels. This is should help avoid the issue from occurring. Other methods of avoiding the error include using functions and procedures rather than &lt;FONT style="FONT-FAMILY: 'Courier New', courier, consolas, monospace; FONT-SIZE: 9pt"&gt;run script&lt;/FONT&gt; commands and using the &lt;FONT style="FONT-FAMILY: 'Courier New', courier, consolas, monospace; FONT-SIZE: 9pt"&gt;run script delayed&lt;/FONT&gt; command. The &lt;FONT style="FONT-FAMILY: 'Courier New', courier, consolas, monospace; FONT-SIZE: 9pt"&gt;run script delayed&lt;/FONT&gt; command starts the specified field change script after all foreground processing is complete and so does not use an additional call stack.&lt;/P&gt;
&lt;HR style="WIDTH: 100%; HEIGHT: 2px"&gt;

&lt;P mce_keep="true"&gt;For a related post on this topic where this error is caused by Regional and Language settings see Janakiram's post below. The difference in the control panel settings must be altering the behaviour of the code in such a way to make it attempt to use one more call stack:&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P mce_keep="true"&gt;&lt;A title="All Call stacks are in Use. Cannot Start script" href="http://janakirammp.blogspot.com/2009/08/all-call-stacks-are-in-use-cannot-start.html" target=_blank mce_href="http://janakirammp.blogspot.com/2009/08/all-call-stacks-are-in-use-cannot-start.html" jQuery1265001302530="2"&gt;All Call stacks are in Use. Cannot Start script&lt;/A&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P mce_keep="true"&gt;Hope this information is useful.&lt;/P&gt;
&lt;P&gt;David&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9104551" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/developingfordynamicsgp/archive/tags/Dexterity/default.aspx">Dexterity</category><category domain="http://blogs.msdn.com/developingfordynamicsgp/archive/tags/Exception/default.aspx">Exception</category><category domain="http://blogs.msdn.com/developingfordynamicsgp/archive/tags/Best+Practice/default.aspx">Best Practice</category></item><item><title>Fixed Asset Integration error: "String was not recognized as a valid DateTime"</title><link>http://blogs.msdn.com/developingfordynamicsgp/archive/2010/01/29/fixed-asset-integration-error-string-was-not-recognized-as-a-valid-datetime.aspx</link><pubDate>Fri, 29 Jan 2010 09:00:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9954770</guid><dc:creator>Dawn Langlie [MSFT]</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/developingfordynamicsgp/comments/9954770.aspx</comments><wfw:commentRss>http://blogs.msdn.com/developingfordynamicsgp/commentrss.aspx?PostID=9954770</wfw:commentRss><description>&lt;P&gt;&lt;A title="Dawn Langlie" href="http://blogs.msdn.com/DevelopingForDynamicsGP/" mce_href="http://blogs.msdn.com/DevelopingForDynamicsGP/"&gt;&lt;IMG border=0 hspace=10 alt="Dawn Langlie - Click for blog homepage" align=right src="http://blogs.msdn.com/photos/developingfordynamicsgp/images/9756712/original.aspx" width=83 height=75 mce_src="http://blogs.msdn.com/photos/developingfordynamicsgp/images/9756712/original.aspx"&gt;&lt;IMG border=0 align=right src="http://www.myworldmaps.net/map.ashx/00bb0d70-4fc5-45a1-8753-6af01cdb9beb/ping" width=1 height=1 mce_src="http://www.myworldmaps.net/map.ashx/00bb0d70-4fc5-45a1-8753-6af01cdb9beb/ping"&gt;&lt;/A&gt;I recently had a support case, running a Fixed Asset integration with Integration Manager, where we received the following error:&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;FONT color=#ff0000&gt;DOC 1 ERROR: System.FormatException: String was not recognized as a valid DateTime.&lt;BR&gt;at System.DateTimeParse.Parse(String s, DateTimeFormatInfo dtfi, DateTimeStyles styles)&lt;BR&gt;at System.DateTime.Parse(String s, IFormatProvider provider)&lt;BR&gt;at System.Convert.ToDateTime(String value, IFormatProvider provider)&lt;BR&gt;at System.String.System.IConvertible.ToDateTime(IFormatProvider provider)&lt;BR&gt;at System.Convert.ChangeType(Object value, Type conversionType, IFormatProvider provider)&lt;BR&gt;at System.Data.SqlClient.SqlParameter.CoerceValue(Object value, MetaType destinationType)&lt;/FONT&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;The date format in both the source file and Microsoft Dynamics GP are set to MM/DD/YYYY.&amp;nbsp; We verified that the regional settings are set to English (United States) and the Date format is MM/DD/YYYY.&amp;nbsp; We also verified that the Server Properties in SQL are set to English (United States).&lt;/P&gt;
&lt;P&gt;As this integration utilizes eConnect, we then looked at the Identity in the eConnect COM+ Application and this was a different user.&amp;nbsp; eConnect will look at this user’s Regional Settings to find the Date format.&amp;nbsp; We changed the Identity to the user that we verified Regional Settings for and the integration is now working without errors.&lt;/P&gt;
&lt;P&gt;I hope this helps save time troubleshooting this error.&lt;/P&gt;
&lt;P&gt;Dawn&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9954770" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/developingfordynamicsgp/archive/tags/eConnect/default.aspx">eConnect</category><category domain="http://blogs.msdn.com/developingfordynamicsgp/archive/tags/Integration+Manager/default.aspx">Integration Manager</category><category domain="http://blogs.msdn.com/developingfordynamicsgp/archive/tags/Exception/default.aspx">Exception</category><category domain="http://blogs.msdn.com/developingfordynamicsgp/archive/tags/Fixed+Assets/default.aspx">Fixed Assets</category><category domain="http://blogs.msdn.com/developingfordynamicsgp/archive/tags/intergration/default.aspx">intergration</category></item><item><title>Microsoft Dynamics GP 2010 Beta Released</title><link>http://blogs.msdn.com/developingfordynamicsgp/archive/2010/01/28/microsoft-dynamics-gp-2010-beta-released.aspx</link><pubDate>Thu, 28 Jan 2010 01:00:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9950656</guid><dc:creator>David Musgrave</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/developingfordynamicsgp/comments/9950656.aspx</comments><wfw:commentRss>http://blogs.msdn.com/developingfordynamicsgp/commentrss.aspx?PostID=9950656</wfw:commentRss><description>&lt;P&gt;&lt;A title="David Meego" href="http://blogs.msdn.com/DevelopingForDynamicsGP/" mce_href="http://blogs.msdn.com/DevelopingForDynamicsGP/"&gt;&lt;IMG border=0 hspace=10 alt="David Meego - Click for blog homepage" align=right src="http://blogs.msdn.com/photos/developingfordynamicsgp/images/8719549/original.aspx" width=94 height=94 mce_src="http://blogs.msdn.com/photos/developingfordynamicsgp/images/8719549/original.aspx"&gt;&lt;IMG border=0 align=right src="http://www.myworldmaps.net/map.ashx/00bb0d70-4fc5-45a1-8753-6af01cdb9beb/ping" width=1 height=1 mce_src="http://www.myworldmaps.net/map.ashx/00bb0d70-4fc5-45a1-8753-6af01cdb9beb/ping"&gt;&lt;/A&gt;The &lt;STRONG&gt;Microsoft Dynamics GP 2010&lt;/STRONG&gt; Beta code has been released.&amp;nbsp; This release, previously known as GP "11.0", is the largest release in Microsoft Dynamics GP history with a massive amount of development work and time going into it.&amp;nbsp; It can be downloaded from PartnerSource using the link below:&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P mce_keep="true"&gt;&lt;A title="Beta Download for Microsoft Dynamics GP 2010" href="https://mbs.microsoft.com/PartnerSource/deployment/resources/productreleases/MDGP2010_BETA_Download" target=_blank mce_href="https://mbs.microsoft.com/PartnerSource/deployment/resources/productreleases/MDGP2010_BETA_Download"&gt;Beta Download for Microsoft Dynamics GP 2010&lt;/A&gt; &lt;IMG src="http://blogs.msdn.com/photos/developingfordynamicsgp/images/8771197/original.aspx" mce_src="http://blogs.msdn.com/photos/developingfordynamicsgp/images/8771197/original.aspx"&gt; (PartnerSource)&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P mce_keep="true"&gt;&lt;EM&gt;We are excited to announce the newest version to the Microsoft Dynamics GP platform: &lt;STRONG&gt;Microsoft Dynamics GP 2010&lt;/STRONG&gt;. Microsoft Dynamics GP 2010 will focus on increasing depth and reach for core functionality, enriching integrations with the Microsoft Office system, extending external connections through Web Services, and ensuring faster Return on Investment (ROI) for customers. This release is the final data model planned for this release along with all the planned features shipping with Microsoft Dynamics GP 2010. &lt;/EM&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;Here is a sampling of some other posts from around the blogsphere:&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;A id=bp___ctl00___RecentPosts___postlist___EntryItems_ctl02_PostTitle title="It is a GREAT Day!" href="http://blogs.msdn.com/gp/archive/2010/01/15/it-is-a-great-day.aspx" target=_blank mce_href="http://blogs.msdn.com/gp/archive/2010/01/15/it-is-a-great-day.aspx"&gt;It is a GREAT Day!&lt;/A&gt;&amp;nbsp;(from Pam @ Inside Dynamics GP)&lt;/P&gt;
&lt;P&gt;&lt;A title="Feature of the Day series" href="http://blogs.msdn.com/gp/archive/tags/Feature+of+the+Day/Dynamics+GP+2010/default.aspx" target=_blank mce_href="http://blogs.msdn.com/gp/archive/tags/Feature+of+the+Day/Dynamics+GP+2010/default.aspx"&gt;Feature of the Day series&lt;/A&gt; (from Inside Dynamics GP team) &lt;BR&gt;&lt;STRONG&gt;Note:&lt;/STRONG&gt; This series will have more posts added over time, so please look in on a regular basis.&lt;/P&gt;
&lt;P&gt;&lt;A title="Microsoft Dynamics GP 2010 Beta Buzz" href="http://dynamicsgpblogster.blogspot.com/2010/01/microsoft-dynamics-gp-2010-beta-buzz.html" target=_blank mce_href="http://dynamicsgpblogster.blogspot.com/2010/01/microsoft-dynamics-gp-2010-beta-buzz.html"&gt;Microsoft Dynamics GP 2010 Beta Buzz&lt;/A&gt;&amp;nbsp;(from Mariano @ Dynamics GP Blogster)&lt;/P&gt;
&lt;P&gt;&lt;A title="What's new in Microsoft Dexterity 11.0" href="http://dynamicsgpblogster.blogspot.com/2010/01/whats-new-in-microsoft-dexterity-110.html" target=_blank mce_href="http://dynamicsgpblogster.blogspot.com/2010/01/whats-new-in-microsoft-dexterity-110.html"&gt;What's new in Microsoft Dexterity 11.0&lt;/A&gt; (from Mariano @ Dynamics GP Blogster)&lt;/P&gt;
&lt;P&gt;&lt;A title="Inside Microsoft Dynamics 2010: Arabic Version of Dynamics GP 2010 “11”!!!! " href="http://mohdaoud.blogspot.com/2010/01/inside-microsoft-dynamics-2010-arabic.html" target=_blank mce_href="http://mohdaoud.blogspot.com/2010/01/inside-microsoft-dynamics-2010-arabic.html"&gt;Inside Microsoft Dynamics 2010: Arabic Version of Dynamics GP 2010 “11”!!!!&lt;/A&gt; (Mohammad Daoud shows us how cool the Dexterity development environment is by translating to Arabic.)&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;I think you will all agree that we&amp;nbsp;have an exciting&amp;nbsp;year ahead.&lt;/P&gt;
&lt;P&gt;David&lt;/P&gt;
&lt;P&gt;PS: For information on how to translate Dexterity code, have a look at the&amp;nbsp;&lt;A title="Translating Dexterity Applications Series" href="http://blogs.msdn.com/developingfordynamicsgp/archive/2009/02/09/translating-dexterity-applications-series.aspx" mce_href="http://blogs.msdn.com/developingfordynamicsgp/archive/2009/02/09/translating-dexterity-applications-series.aspx"&gt;Translating Dexterity Applications Series&lt;/A&gt;.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9950656" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/developingfordynamicsgp/archive/tags/Application/default.aspx">Application</category><category domain="http://blogs.msdn.com/developingfordynamicsgp/archive/tags/Blogsphere/default.aspx">Blogsphere</category><category domain="http://blogs.msdn.com/developingfordynamicsgp/archive/tags/News/default.aspx">News</category></item><item><title>Removing Extender Data when deleting Transactions or Lines</title><link>http://blogs.msdn.com/developingfordynamicsgp/archive/2010/01/27/removing-extender-data-when-deleting-transactions-or-lines.aspx</link><pubDate>Wed, 27 Jan 2010 01:00:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9951249</guid><dc:creator>David Musgrave</dc:creator><slash:comments>7</slash:comments><comments>http://blogs.msdn.com/developingfordynamicsgp/comments/9951249.aspx</comments><wfw:commentRss>http://blogs.msdn.com/developingfordynamicsgp/commentrss.aspx?PostID=9951249</wfw:commentRss><description>&lt;P&gt;&lt;A title="David Meego" href="http://blogs.msdn.com/DevelopingForDynamicsGP/" mce_href="http://blogs.msdn.com/DevelopingForDynamicsGP/"&gt;&lt;IMG border=0 hspace=10 alt="David Meego - Click for blog homepage" align=right src="http://blogs.msdn.com/photos/developingfordynamicsgp/images/8719549/original.aspx" width=94 height=94 mce_src="http://blogs.msdn.com/photos/developingfordynamicsgp/images/8719549/original.aspx"&gt;&lt;IMG border=0 align=right src="http://www.myworldmaps.net/map.ashx/00bb0d70-4fc5-45a1-8753-6af01cdb9beb/ping" width=1 height=1 mce_src="http://www.myworldmaps.net/map.ashx/00bb0d70-4fc5-45a1-8753-6af01cdb9beb/ping"&gt;&lt;/A&gt;I&amp;nbsp;was recently asked to assist a colleague with an Extender case.&amp;nbsp; The problem was that Extender data was not being removed from the Extender&amp;nbsp;SQL tables when its parent record was deleted.&lt;/P&gt;
&lt;P&gt;The issue of Extender data being orphaned when the parent data is deleted is a known issue (KB 906242 see&amp;nbsp;link below) and can be resolved fairly easily:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;For&amp;nbsp;Version 10.0 onwards you can use the Table Links&amp;nbsp;feature (when editing an Extender object, from the menus select Options &amp;gt;&amp;gt; Table Links).&amp;nbsp; This allows you to define a parent table so that Extender knows to remove the additional data when the parent record is deleted.&lt;BR&gt;&amp;nbsp;&lt;/LI&gt;
&lt;LI&gt;For Version 9.0 and before, your option was to use a SQL Trigger on the parent table's delete event to clean up the data.&amp;nbsp;&lt;STRONG&gt;Examples of the triggers are included in the attached archive at the bottom of this article&lt;/STRONG&gt;.&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;These techniques work well for Master records (Customers, Vendors, Items, etc.) but do not always work as desired for Transaction records.&lt;/P&gt;
&lt;HR style="WIDTH: 100%; HEIGHT: 2px"&gt;

&lt;P mce_keep="true"&gt;The reason&amp;nbsp;Transaction records are different is that they move from table to table as the document moves through the workflow. They move&amp;nbsp;from &lt;STRONG&gt;Work&lt;/STRONG&gt; to &lt;STRONG&gt;Open&lt;/STRONG&gt; when posted and then from &lt;STRONG&gt;Open&lt;/STRONG&gt; to &lt;STRONG&gt;History&lt;/STRONG&gt; when fully applied or archived.&amp;nbsp; Some transactions move straight from &lt;STRONG&gt;Work&lt;/STRONG&gt; to &lt;STRONG&gt;History&lt;/STRONG&gt;, but still have the same issue.&lt;/P&gt;
&lt;P mce_keep="true"&gt;So if you place the Table Link or SQL Trigger on the &lt;STRONG&gt;Work&lt;/STRONG&gt; table, when the transaction is posted and the record is added to the &lt;STRONG&gt;Open&lt;/STRONG&gt; table and deleted from the &lt;STRONG&gt;Work&lt;/STRONG&gt; table, the Extender data is deleted at the same time.&amp;nbsp; In summary, this means that the Extender data is lost once the transaction is posted. &lt;/P&gt;
&lt;P mce_keep="true"&gt;This issue is described in KB 967740 (see link below) and provides the solution to add the Table Link or the SQL Trigger to the History table so the data is only removed when the transaction gets removed from History.&lt;/P&gt;
&lt;P mce_keep="true"&gt;This solution prevents the Extender data from being removed prematurely but it does not handle the situation when Transaction Lines or the entire Transaction is deleted by the user while it is still unposted and stored in the &lt;STRONG&gt;Work&lt;/STRONG&gt; tables.&lt;/P&gt;
&lt;P mce_keep="true"&gt;So what is needed in addition to the Table Link or SQL Trigger on the &lt;STRONG&gt;History&lt;/STRONG&gt; table, is a method to handle when a transaction is deleted by the user from the &lt;STRONG&gt;Work&lt;/STRONG&gt; table which will not be fired when the transaction is posted.&amp;nbsp; This means we need to use events at the user interface instead of at the table level. &lt;/P&gt;
&lt;P mce_keep="true"&gt;So we can use any of the customisation tools which work at the user interface. For our example we will use Visual Basic for Applications (VBA).&lt;/P&gt;
&lt;P mce_keep="true"&gt;The concept behind the code is to use VBA to capture the delete line and delete transaction events via the Modal Dialogs and then use ActiveX Data Object (ADO) to open a connection to SQL Server and execute the appropriate Transact-SQL delete statements to remove the data from the appropriate tables.&lt;/P&gt;
&lt;P mce_keep="true"&gt;Below is a list of the tables used to store data for normal Extender Windows:&lt;/P&gt;
&lt;P&gt;
&lt;TABLE border=1 cellSpacing=0 borderColor=#111111 cellPadding=3&gt;
&lt;THEAD&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;STRONG&gt;Dexterity Technical Name &lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;STRONG&gt;SQL Table &lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;STRONG&gt;Description &lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/THEAD&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD&gt;PT_Extender_Window_Key_Values &lt;/TD&gt;
&lt;TD&gt;EXT00100 &lt;/TD&gt;
&lt;TD&gt;Stores the Mapping between the parent data's keys and the Extender key &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;PT_User_Window_Field_Strings &lt;/TD&gt;
&lt;TD&gt;EXT00101 &lt;/TD&gt;
&lt;TD&gt;Stores String values based on the Extender key &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;PT_User_Window_Field_Dates &lt;/TD&gt;
&lt;TD&gt;EXT00102 &lt;/TD&gt;
&lt;TD&gt;Stores Date values based on the Extender key &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;PT_User_Window_Field_Numbers &lt;/TD&gt;
&lt;TD&gt;EXT00103 &lt;/TD&gt;
&lt;TD&gt;Stores Numeric (Currency &amp;amp; Integer) values based on the Extender key &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;PT_User_Window_Field_Times &lt;/TD&gt;
&lt;TD&gt;EXT00104 &lt;/TD&gt;
&lt;TD&gt;Stores Time values based on the Extender key &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;Below is a list of the tables used to store data for Extender Detail Windows:&lt;/P&gt;
&lt;P&gt;
&lt;TABLE border=1 cellSpacing=0 borderColor=#111111 cellPadding=3&gt;
&lt;THEAD&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;STRONG&gt;Dexterity Technical Name &lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;STRONG&gt;SQL Table &lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;STRONG&gt;Description &lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/THEAD&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD&gt;PT_UD_Detail_Window_Lines &lt;/TD&gt;
&lt;TD&gt;EXT00180 &lt;/TD&gt;
&lt;TD&gt;Stores the mapping for the line sequence numbers for the Extender key&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;PT_Detail_Window_Dates &lt;/TD&gt;
&lt;TD&gt;EXT00181 &lt;/TD&gt;
&lt;TD&gt;Stores String values based on the Extender key and line sequence&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;PT_Detail_Window_Dates &lt;/TD&gt;
&lt;TD&gt;EXT00182 &lt;/TD&gt;
&lt;TD&gt;Stores Date values based on the Extender key and line sequence&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;PT_Detail_Window_Numbers &lt;/TD&gt;
&lt;TD&gt;EXT00183 &lt;/TD&gt;
&lt;TD&gt;Stores Numeric (Currency &amp;amp; Integer) values based on the Extender key and line sequence&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;PT_Detail_Window_Times &lt;/TD&gt;
&lt;TD&gt;EXT00184 &lt;/TD&gt;
&lt;TD&gt;Stores Time values based on the Extender key and line sequence&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;PT_Extender_Detail_Window_Key_Values &lt;/TD&gt;
&lt;TD&gt;EXT00185 &lt;/TD&gt;
&lt;TD&gt;Stores the Mapping between the parent data's keys and the Extender key &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;HR style="WIDTH: 100%; HEIGHT: 2px"&gt;

&lt;P mce_keep="true"&gt;The example code uses the Inventory Transfer Entry (IV_Transfer_Entry) window and includes two different examples. This is&amp;nbsp;so we can demonstrate the code needed for both normal Extender Windows and Extender Detail Windows.&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;Adding normal Extender Windows against the Transaction Line and Transaction Header&lt;BR&gt;&amp;nbsp;&lt;BR&gt;&lt;STRONG&gt;Extender Windows.xml&lt;/STRONG&gt; - Contains Extender Settings for the Extender Windows IVTRF_1 &amp;amp; IVTRF_2.&lt;BR&gt;&lt;STRONG&gt;IV_Transfer_Entry (Extender Windows).Package&lt;/STRONG&gt; - Contains VBA code to delete Extender data when deleted by the user.&lt;STRONG&gt;&lt;BR&gt;Extender Windows.sql&lt;/STRONG&gt; - Contains example SQL Triggers on work tables - For reference only, should not be used for live system.&lt;BR&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;Adding an Extender Detail Window against the Transaction Lines&lt;BR&gt;&amp;nbsp;&lt;BR&gt;&lt;STRONG&gt;Extender Detail Window.xml&lt;/STRONG&gt; - Contains Extender Settings for the Extender Detail Window IV TRANSFER FORM.&lt;BR&gt;&lt;STRONG&gt;IV_Transfer_Entry (Extender Detail Window).Package&lt;/STRONG&gt; - Contains VBA code to delete Extender data when deleted by the user.&lt;STRONG&gt;&lt;BR&gt;Extender Detail Window.sql&lt;/STRONG&gt; - Contains example SQL Trigger on work table - For reference only, should not be used for live system.&lt;BR&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/LI&gt;&lt;/OL&gt;
&lt;P mce_keep="true"&gt;&lt;FONT color=red&gt;&lt;STRONG&gt;NOTE:&lt;/STRONG&gt; The SQL scripts provided above are examples to show how SQL triggers can be used to remove Extender data when a record is deleted from a SQL table.&amp;nbsp; They are coded to trigger on the &lt;STRONG&gt;Work&lt;/STRONG&gt; tables to demonstrate the issue when posting a transaction removes the data.&amp;nbsp;They should NOT be used in a live system.&amp;nbsp; They can be modified to work with history tables if required for v9.00 systems, but for v10.00 systems we suggest using the Table Links feature with the &lt;STRONG&gt;History&lt;/STRONG&gt; table.&lt;/FONT&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;STRONG&gt;Example v10.0 Extender Settings and VBA code for the Inventory Transfer Entry (IV_Transfer_Entry) window is attached to the bottom of this article.&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;For related information please see the following Knowledge Base (KB) articles:&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P mce_keep="true"&gt;&lt;A title="The associated Extender record is not deleted when you delete a Microsoft Great Plains record (KB 906242)" href="https://mbs.microsoft.com/knowledgebase/KBDisplay.aspx?scid=kb;en-us;906242" target=_blank mce_href="https://mbs.microsoft.com/knowledgebase/KBDisplay.aspx?scid=kb;en-us;906242"&gt;The associated Extender record is not deleted when you delete a Microsoft Great Plains record (KB 906242)&lt;/A&gt; &lt;IMG style="WIDTH: 15px; HEIGHT: 18px" title=Customersource alt=Customersource src="http://blogs.msdn.com/photos/developingfordynamicsgp/images/8771197/original.aspx" width=15 height=18 mce_src="http://blogs.msdn.com/photos/developingfordynamicsgp/images/8771197/original.aspx"&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;A title="Extender data is removed from the EXT00100 table when a batch is posted in Microsoft Dynamics GP 10.0 (KB 967740)" href="https://mbs.microsoft.com/knowledgebase/KBDisplay.aspx?scid=kb;en-us;967740" target=_blank mce_href="https://mbs.microsoft.com/knowledgebase/KBDisplay.aspx?scid=kb;en-us;967740"&gt;Extender data is removed from the EXT00100 table when a batch is posted in Microsoft Dynamics GP 10.0 (KB&amp;nbsp;967740)&lt;/A&gt; &lt;IMG style="WIDTH: 15px; HEIGHT: 18px" title=Customersource alt=Customersource src="http://blogs.msdn.com/photos/developingfordynamicsgp/images/8771197/original.aspx" width=15 height=18 mce_src="http://blogs.msdn.com/photos/developingfordynamicsgp/images/8771197/original.aspx"&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P mce_keep="true"&gt;The bottom line is that for the system to work 100%, you need both VBA (or equivalent) code to remove the Extender data when the user deletes the transaction from the &lt;STRONG&gt;Work&lt;/STRONG&gt; tables AND you need to have a Table Link (or SQL Trigger) on the &lt;STRONG&gt;History&lt;/STRONG&gt; table to handle if the transaction is removed from history.&lt;/P&gt;
&lt;P mce_keep="true"&gt;Post a comment if you find this information and sample code&amp;nbsp;useful.&lt;/P&gt;
&lt;P mce_keep="true"&gt;David&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;STRONG&gt;01-Feb-2010:&lt;/STRONG&gt; Added extra explanations about SQL Trigger Scripts included in attachment.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9951249" width="1" height="1"&gt;</description><enclosure url="http://blogs.msdn.com/developingfordynamicsgp/attachment/9951249.ashx" length="9572" type="application/x-zip-compressed" /><category domain="http://blogs.msdn.com/developingfordynamicsgp/archive/tags/VBA/default.aspx">VBA</category><category domain="http://blogs.msdn.com/developingfordynamicsgp/archive/tags/ADO/default.aspx">ADO</category><category domain="http://blogs.msdn.com/developingfordynamicsgp/archive/tags/Extender/default.aspx">Extender</category><category domain="http://blogs.msdn.com/developingfordynamicsgp/archive/tags/Application/default.aspx">Application</category><category domain="http://blogs.msdn.com/developingfordynamicsgp/archive/tags/SQL/default.aspx">SQL</category></item><item><title>Announcing Microsoft Dynamics Convergence 2010</title><link>http://blogs.msdn.com/developingfordynamicsgp/archive/2010/01/26/announcing-microsoft-dynamics-convergence-2010.aspx</link><pubDate>Tue, 26 Jan 2010 01:00:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9950645</guid><dc:creator>David Musgrave</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/developingfordynamicsgp/comments/9950645.aspx</comments><wfw:commentRss>http://blogs.msdn.com/developingfordynamicsgp/commentrss.aspx?PostID=9950645</wfw:commentRss><description>&lt;P&gt;&lt;A title="David Meego" href="http://blogs.msdn.com/DevelopingForDynamicsGP/" mce_href="http://blogs.msdn.com/DevelopingForDynamicsGP/"&gt;&lt;IMG border=0 hspace=10 alt="David Meego - Click for blog homepage" align=right src="http://blogs.msdn.com/photos/developingfordynamicsgp/images/8719549/original.aspx" width=94 height=94 mce_src="http://blogs.msdn.com/photos/developingfordynamicsgp/images/8719549/original.aspx"&gt;&lt;IMG border=0 align=right src="http://www.myworldmaps.net/map.ashx/00bb0d70-4fc5-45a1-8753-6af01cdb9beb/ping" width=1 height=1 mce_src="http://www.myworldmaps.net/map.ashx/00bb0d70-4fc5-45a1-8753-6af01cdb9beb/ping"&gt;&lt;/A&gt;&lt;A title="Microsoft Dynamics Convergence 2010" href="http://www.microsoft.com/dynamics/convergence/atlanta10/" target=_blank mce_href="http://www.microsoft.com/dynamics/convergence/atlanta10/"&gt;&lt;IMG style="WIDTH: 480px; HEIGHT: 136px" title="Microsoft Dynamics Convergence 2010" border=0 alt="Microsoft Dynamics Convergence 2010" src="http://blogs.msdn.com/photos/developingfordynamicsgp/images/9950641/original.aspx" width=480 height=136 mce_src="http://blogs.msdn.com/photos/developingfordynamicsgp/images/9950641/original.aspx"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;OK, so I am a little late in announcing &lt;A title="Microsoft Dynamics Convergence 2010" href="http://www.microsoft.com/dynamics/convergence/atlanta10/" target=_blank mce_href="http://www.microsoft.com/dynamics/convergence/atlanta10/"&gt;Microsoft Dynamics Convergence 2010&lt;/A&gt;, but I was away for a while.&amp;nbsp; However, this is the first article about the upcoming&amp;nbsp;conference on this blog.&amp;nbsp; So ....&lt;/P&gt;
&lt;P&gt;Join us for Convergence 2010 in Atlanta, April 24&lt;SUP&gt;th&lt;/SUP&gt; - 27&lt;SUP&gt;th&lt;/SUP&gt;. Attending Convergence provides you ample opportunities to network with a targeted group of business professionals and to discover how you can get the most value from your Microsoft Dynamics solutions – and how to increase your business potential. Register today to take advantage of US$300 per person Early Bird savings off the regular registration fee. For more information, &lt;A title="Convergence 2010 Registration" href="http://www.microsoft.com/dynamics/convergence/atlanta10/registration.aspx" target=_blank mce_href="http://www.microsoft.com/dynamics/convergence/atlanta10/registration.aspx"&gt;click here&lt;/A&gt;.&lt;/P&gt;
&lt;P mce_keep="true"&gt;The video below is a overview of Convergence Atlanta 2010:&lt;/P&gt;
&lt;OBJECT width=480 height=385&gt;&lt;PARAM NAME="movie" VALUE="http://www.youtube.com/v/rbFqajhGZ-I&amp;amp;hl=en_US&amp;amp;fs=1&amp;amp;"&gt;&lt;PARAM NAME="allowFullScreen" VALUE="true"&gt;&lt;PARAM NAME="allowscriptaccess" VALUE="always"&gt;
&lt;embed src="http://www.youtube.com/v/rbFqajhGZ-I&amp;hl=en_US&amp;fs=1&amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"&gt;&lt;/embed&gt;&lt;/OBJECT&gt;
&lt;P mce_keep="true"&gt;For more videos about Convergence and other subjects important to the Dynamics, go visit the &lt;A title="Microsoft Dynamics Community" href="http://www.youtube.com/msdyncomm" target=_blank mce_href="http://www.youtube.com/msdyncomm"&gt;Microsoft Dynamics Community&lt;/A&gt; channel on youtube.&lt;/P&gt;
&lt;P mce_keep="true"&gt;Here are some other posts from around the blogsphere:&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P mce_keep="true"&gt;&lt;A title="Register now for Convergence 2010 in Atlanta" href="http://dynamicsgpblogster.blogspot.com/2010/01/register-now-for-convergence-2010-in.html" target=_blank mce_href="http://dynamicsgpblogster.blogspot.com/2010/01/register-now-for-convergence-2010-in.html"&gt;Register now for Convergence 2010 in Atlanta&lt;/A&gt; (from Mariano Gomez)&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;A title="Convergence 2010 Atlanta Registration Starts Today!" href="http://msdynamicsgp.blogspot.com/2010/01/convergence-2010-atlanta-registration.html" target=_blank mce_href="http://msdynamicsgp.blogspot.com/2010/01/convergence-2010-atlanta-registration.html"&gt;Convergence 2010 Atlanta Registration Starts Today!&lt;/A&gt; (from Mark Polino)&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;A title="Volunteering at Convergence 2010" href="http://msdynamicsgp.blogspot.com/2010/01/volunteering-at-convergence-2010.html" target=_blank mce_href="http://msdynamicsgp.blogspot.com/2010/01/volunteering-at-convergence-2010.html"&gt;Volunteering at Convergence 2010&lt;/A&gt; (from Mark Polino)&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P mce_keep="true"&gt;Make sure you register sooner rather than later.&lt;/P&gt;
&lt;P mce_keep="true"&gt;David&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9950645" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/developingfordynamicsgp/archive/tags/Conference/default.aspx">Conference</category><category domain="http://blogs.msdn.com/developingfordynamicsgp/archive/tags/Blogsphere/default.aspx">Blogsphere</category><category domain="http://blogs.msdn.com/developingfordynamicsgp/archive/tags/News/default.aspx">News</category></item><item><title>Increasing the Microsoft Dynamics GP 10.0 Homepage Font Size</title><link>http://blogs.msdn.com/developingfordynamicsgp/archive/2010/01/25/increasing-the-microsoft-dynamics-gp-10-0-homepage-font-size.aspx</link><pubDate>Mon, 25 Jan 2010 01:00:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9948868</guid><dc:creator>David Musgrave</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/developingfordynamicsgp/comments/9948868.aspx</comments><wfw:commentRss>http://blogs.msdn.com/developingfordynamicsgp/commentrss.aspx?PostID=9948868</wfw:commentRss><description>&lt;P&gt;&lt;A title="David Meego" href="http://blogs.msdn.com/DevelopingForDynamicsGP/" mce_href="http://blogs.msdn.com/DevelopingForDynamicsGP/"&gt;&lt;IMG border=0 hspace=10 alt="David Meego - Click for blog homepage" align=right src="http://blogs.msdn.com/photos/developingfordynamicsgp/images/8719549/original.aspx" width=94 height=94 mce_src="http://blogs.msdn.com/photos/developingfordynamicsgp/images/8719549/original.aspx"&gt;&lt;IMG border=0 align=right src="http://www.myworldmaps.net/map.ashx/00bb0d70-4fc5-45a1-8753-6af01cdb9beb/ping" width=1 height=1 mce_src="http://www.myworldmaps.net/map.ashx/00bb0d70-4fc5-45a1-8753-6af01cdb9beb/ping"&gt;&lt;/A&gt;I was recently asked if it was possible to change the fonts on the Microsoft Dynamics GP 10.0 Homepage.&amp;nbsp; A customer had asked if they could be made a little bit bigger as they were hard to read at the resolution that the machine was running at.&lt;/P&gt;
&lt;P&gt;So I decided to have a quick look to see what was needed. The homepage itself for the current user is stored in the temp folder for that user, for example:&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;EM&gt;C:\Users\&amp;lt;username&amp;gt;\AppData\Local\Temp\HomePage.xml&lt;/EM&gt; &lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;This xml file is generated by Dynamics GP depending on the homepage settings in the application. It&amp;nbsp;in turn references the XML Style Sheet (.xsl) file in the Background subfolder of the application installation folder.&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;EM&gt;C:\Program Files\Microsoft Dynamics\GP\Background\HomePage.xsl&lt;/EM&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;This style sheet file then references the Cascading Style Sheet (.css) file in the same folder.&amp;nbsp; &lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;EM&gt;C:\Program Files\Microsoft Dynamics\GP\Background\HomePage.css&lt;/EM&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;It is this &lt;STRONG&gt;HomePage.css&lt;/STRONG&gt; file which contains the definition for the fonts used on the homepage. &lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;STRONG&gt;Note: Examples of the already altered files for HomePage.css and PreviewPane.xsl are contained in the attachment at the bottom of this post.&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;If you wish to make the changes yourself rather than use the files provided....&amp;nbsp;Then make a copy of this original &lt;STRONG&gt;HomePage.css&lt;/STRONG&gt; file and call it &lt;STRONG&gt;HomePage Normal.css&lt;/STRONG&gt;.&amp;nbsp; This is your backup to restore the default settings if necessary.&lt;/P&gt;
&lt;P mce_keep="true"&gt;You can then make a second copy of the file and call it &lt;STRONG&gt;HomePage Big.css&lt;/STRONG&gt;. Then open the &lt;STRONG&gt;HomePage Big.css&lt;/STRONG&gt; with Notepad.exe and perform a series of find and replaces to change the font sizes by increasing them by 2 points.&amp;nbsp; &lt;/P&gt;
&lt;P mce_keep="true"&gt;You need to start with the largest font size and work down to the smallest:&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;TABLE border=1 cellSpacing=0 borderColor=#111111 cellPadding=3&gt;
&lt;THEAD&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;STRONG&gt;Find String&amp;nbsp;&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;STRONG&gt;Replace String&amp;nbsp;&lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/THEAD&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD&gt;13pt&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;15pt&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;12pt&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;14pt&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;11pt&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;13pt&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;10pt&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;12pt&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;9pt&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;11pt&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;8pt&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;10pt&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/BLOCKQUOTE&gt;
&lt;P mce_keep="true"&gt;Once the changes are complete and file saved, you can delete the original &lt;STRONG&gt;HomePage.css&lt;/STRONG&gt; file and copy &lt;STRONG&gt;HomePage Big.css&lt;/STRONG&gt; and rename it as &lt;STRONG&gt;HomePage.css&lt;/STRONG&gt;.&amp;nbsp; To restore, just delete &lt;STRONG&gt;HomePage.css&lt;/STRONG&gt; and copy &lt;STRONG&gt;HomePage Normal.css&lt;/STRONG&gt; and rename it as &lt;STRONG&gt;HomePage.css&lt;/STRONG&gt;.&lt;/P&gt;
&lt;P mce_keep="true"&gt;The &lt;STRONG&gt;AreaPage.xsl&lt;/STRONG&gt; file used when displaying the Area Pages also uses the &lt;STRONG&gt;HomePage.css&lt;/STRONG&gt; file, so the font changes are applied here as well.&lt;/P&gt;
&lt;P mce_keep="true"&gt;The&amp;nbsp; &lt;STRONG&gt;PreviewPane.xsl&lt;/STRONG&gt; has some font definitions&amp;nbsp;and is used for the preview pane when looking at lists. It can be altered in the same way to produce &lt;STRONG&gt;PreviewPane Normal.xsl&lt;/STRONG&gt; and &lt;STRONG&gt;PreviewPane Big.xsl&lt;/STRONG&gt; files.&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;STRONG&gt;Note: Examples of the already altered files for HomePage.css and PreviewPane.xsl are contained in the attachment at the bottom of this post.&lt;/STRONG&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;For a related post, Mohammad Daoud has an article which shows how the homepage and be "removed" by replacing it with a logo image if desired:&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;A title="How to change GP 10.0 Homepage??" href="http://mohdaoud.blogspot.com/2009/07/how-to-change-gp-100-homepage.html" target=_blank mce_href="http://mohdaoud.blogspot.com/2009/07/how-to-change-gp-100-homepage.html"&gt;How to change GP 10.0 Homepage??&lt;/A&gt; &lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P mce_keep="true"&gt;Hope you find this useful.&lt;/P&gt;
&lt;P&gt;David&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9948868" width="1" height="1"&gt;</description><enclosure url="http://blogs.msdn.com/developingfordynamicsgp/attachment/9948868.ashx" length="8788" type="application/x-zip-compressed" /><category domain="http://blogs.msdn.com/developingfordynamicsgp/archive/tags/Application/default.aspx">Application</category><category domain="http://blogs.msdn.com/developingfordynamicsgp/archive/tags/Customizations/default.aspx">Customizations</category></item><item><title>VBA - Determining the company name selected in the Company Login window</title><link>http://blogs.msdn.com/developingfordynamicsgp/archive/2010/01/22/determining-the-company-name-selected-in-the-company-login-window.aspx</link><pubDate>Fri, 22 Jan 2010 10:30:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9509339</guid><dc:creator>Patrick Roth [MSFT]</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.msdn.com/developingfordynamicsgp/comments/9509339.aspx</comments><wfw:commentRss>http://blogs.msdn.com/developingfordynamicsgp/commentrss.aspx?PostID=9509339</wfw:commentRss><description>&lt;P&gt;&lt;A title="Patrick Roth" href="http://blogs.msdn.com/DevelopingForDynamicsGP/" mce_href="http://blogs.msdn.com/DevelopingForDynamicsGP/"&gt;&lt;IMG border=0 hspace=10 alt="Patrick Roth - Click for blog homepage" align=right src="http://blogs.msdn.com/photos/developingfordynamicsgp/images/9020596/thumb.aspx" width=65 height=87 mce_src="http://blogs.msdn.com/photos/developingfordynamicsgp/images/9020596/thumb.aspx"&gt;&lt;IMG border=0 align=right src="http://www.myworldmaps.net/map.ashx/00bb0d70-4fc5-45a1-8753-6af01cdb9beb/ping" width=1 height=1 mce_src="http://www.myworldmaps.net/map.ashx/00bb0d70-4fc5-45a1-8753-6af01cdb9beb/ping"&gt;&lt;/A&gt;A question came up a while back where the user wanted to know what company the user was logging into in order to give them a message depending on the company selected.&lt;/P&gt;
&lt;P&gt;The specific issue was that VBA cannot get the name of the company from the DDL (drop down list), it can only give you the position.&amp;nbsp; Also the position in the list doesn't have any bearing on the company id of the company displayed.&amp;nbsp; It is just an ordered list by alphanumeric sorting by the Company Name field.&lt;/P&gt;
&lt;P&gt;The question wasn't specific to &lt;EM&gt;&lt;U&gt;when&lt;/U&gt;&lt;/EM&gt; exactly the user needed to see this message.&amp;nbsp; When initially I read the question and based on how it was posed, it seems they wanted to know right when the DDL was selected.&amp;nbsp; But it could have been when the OK button was pressed and it also could be just after they log in.&lt;/P&gt;
&lt;P&gt;Given that the technique used would be different, I will present both solutions.&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;STRONG&gt;Situation 1&lt;/STRONG&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;For this solution, we will assume that the programmer needs to know the company after the user logs into Dynamics GP in order to give them some information or take a specific action.&lt;/P&gt;
&lt;P mce_keep="true"&gt;The easiest way to do this it to use a Window_AfterClose() event on the Company Login window (Switch_Company form in Dexterity) and use the UserInfoGet object to retrieve the company logged in.&lt;/P&gt;
&lt;P mce_keep="true"&gt;In the VBA code sample below, before the window opens we see what the current company is.&amp;nbsp; We could either being logging into Dynamics GP for the first time or just switching companies.&amp;nbsp; And if switching companies, we might press Cancel or just re-select the same company.&amp;nbsp; So by checking the previous logged in company and comparing we only show our message if the company we are going to really changed.&lt;/P&gt;
&lt;DIV class=legend&gt;&lt;STRONG&gt;VBA Code for Company Login window&lt;/STRONG&gt;&lt;TEXTAREA style="BORDER-BOTTOM: gray 1px solid; BORDER-LEFT: gray 1px solid; PADDING-BOTTOM: 4px; LINE-HEIGHT: 12pt; BACKGROUND-COLOR: #f4f4f4; MARGIN: 20px 0px 10px; PADDING-LEFT: 4px; WIDTH: 97.5%; PADDING-RIGHT: 4px; FONT-FAMILY: 'Courier New', courier, consolas, monospace; HEIGHT: 234px; MAX-HEIGHT: 200px; FONT-SIZE: 8pt; OVERFLOW: auto; BORDER-TOP: gray 1px solid; CURSOR: text; BORDER-RIGHT: gray 1px solid; PADDING-TOP: 4px" class=code wrap=off rows=12 cols=80 readOnly&gt;Option Explicit
Dim oldcompany As String

Private Sub Window_AfterOpen()
    oldcompany = UserInfoGet.CompanyName
End Sub

Private Sub Window_AfterClose()
    If oldcompany &amp;lt;&amp;gt; UserInfoGet.CompanyName Then
        MsgBox "You have just logged into the company " + UserInfoGet.CompanyName
    End If
End Sub&lt;/TEXTAREA&gt;&lt;/DIV&gt;
&lt;P mce_keep="true"&gt;&lt;STRONG&gt;Situation 2&lt;/STRONG&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;While the solution given for the first situation is OK if we want to let the user log in, it is possible that we might want to give a message before the GP login occurs.&amp;nbsp; Or potentially stop the user from being able to log into the company for some specific reason.&lt;/P&gt;
&lt;P mce_keep="true"&gt;If that is the case, we would then need to know the selected company before the Company Login window was closed.&amp;nbsp; The only way to do that is to know the company name selected in the Company DDL.&lt;/P&gt;
&lt;P mce_keep="true"&gt;Because we cannot directly read the name from the Company DDL field, we have to pull the information directly from SQL in the order that Dynamics is displaying it.&amp;nbsp; Then we'd know the company being selected and could act upon that.&lt;/P&gt;
&lt;DIV class=legend&gt;&lt;STRONG&gt;VBA Code for Company Login window 2&lt;/STRONG&gt;&lt;TEXTAREA style="BORDER-BOTTOM: gray 1px solid; BORDER-LEFT: gray 1px solid; PADDING-BOTTOM: 4px; LINE-HEIGHT: 12pt; BACKGROUND-COLOR: #f4f4f4; MARGIN: 20px 0px 10px; PADDING-LEFT: 4px; WIDTH: 97.5%; PADDING-RIGHT: 4px; FONT-FAMILY: 'Courier New', courier, consolas, monospace; HEIGHT: 374px; MAX-HEIGHT: 200px; FONT-SIZE: 8pt; OVERFLOW: auto; BORDER-TOP: gray 1px solid; CURSOR: text; BORDER-RIGHT: gray 1px solid; PADDING-TOP: 4px" class=code wrap=off rows=19 cols=80 readOnly&gt;Option Explicit

Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim cmd As New ADODB.Command

Dim CurrentUser As String

Private Sub Window_AfterOpen()
    Set cn = UserInfoGet.CreateADOConnection
    'Switch to DYNAMICS db as that is where our query will run and not the current company
    cn.DefaultDatabase = "DYNAMICS"
    CurrentUser = UserInfoGet.UserID
    cmd.ActiveConnection = cn
End Sub

Private Sub Window_AfterClose()
    Set cn = Nothing
    Set rs = Nothing
    Set cmd = Nothing
End Sub

Private Sub Company_AfterUserChanged()
    Dim sql As String
    Dim i As Integer

    sql = sql + "    select a.CMPANYID as CompanyNumber,b.CMPNYNAM as CompanyName from SY60100 a"
    sql = sql + "    join SY01500 b"
    sql = sql + "        on a.CMPANYID = b.CMPANYID"
    sql = sql + "   where a.USERID = '" &amp;amp; CurrentUser &amp;amp; "'"
    sql = sql + "       order by b.CMPNYNAM"

    cmd.CommandText = sql

    Set rs = cmd.Execute
    If Not (rs.EOF And rs.BOF) Then
        'Nice if we could just jump to the current record
        'but looks like we have to loop through them.
        'We start on the first record in the recordset
        'so loop n-1 times to get to the correct one.
        'We don't need to read the entire recordset,
        'just to the one we've selected.  It is Company - 1
        'because we start on the first record
        For i = 1 To Company - 1
            rs.MoveNext
        Next

        MsgBox "You have chosen company: " + Trim(rs(1).Value)
    End If
End Sub

&lt;/TEXTAREA&gt;&lt;/DIV&gt;
&lt;DIV class=legend&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV class=legend&gt;Depending on your exact needs; either one of these solutions might work for you or at least get you started.&lt;/DIV&gt;
&lt;DIV class=legend&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV class=legend&gt;Best Regards,&lt;BR&gt;&lt;/DIV&gt;
&lt;DIV class=legend&gt;Patrick&lt;/DIV&gt;
&lt;DIV class=legend&gt;Developer Support&lt;/DIV&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9509339" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/developingfordynamicsgp/archive/tags/VBA/default.aspx">VBA</category><category domain="http://blogs.msdn.com/developingfordynamicsgp/archive/tags/ADO/default.aspx">ADO</category></item><item><title>Vote for Barbie as a Computer Engineer</title><link>http://blogs.msdn.com/developingfordynamicsgp/archive/2010/01/21/vote-for-barbie-as-a-computer-engineer.aspx</link><pubDate>Thu, 21 Jan 2010 01:00:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9948244</guid><dc:creator>David Musgrave</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/developingfordynamicsgp/comments/9948244.aspx</comments><wfw:commentRss>http://blogs.msdn.com/developingfordynamicsgp/commentrss.aspx?PostID=9948244</wfw:commentRss><description>&lt;P&gt;&lt;A title="David Meego" href="http://blogs.msdn.com/DevelopingForDynamicsGP/" mce_href="http://blogs.msdn.com/DevelopingForDynamicsGP/"&gt;&lt;IMG border=0 hspace=10 alt="David Meego - Click for blog homepage" align=right src="http://blogs.msdn.com/photos/developingfordynamicsgp/images/8719549/original.aspx" width=94 height=94 mce_src="http://blogs.msdn.com/photos/developingfordynamicsgp/images/8719549/original.aspx"&gt;&lt;IMG border=0 align=right src="http://www.myworldmaps.net/map.ashx/00bb0d70-4fc5-45a1-8753-6af01cdb9beb/ping" width=1 height=1 mce_src="http://www.myworldmaps.net/map.ashx/00bb0d70-4fc5-45a1-8753-6af01cdb9beb/ping"&gt;&lt;/A&gt;&lt;A title="Vote for Barbie's next career" href="http://www.barbie.com/vote/" target=_blank mce_href="http://www.barbie.com/vote/"&gt;&lt;IMG style="WIDTH: 195px; HEIGHT: 194px" title="Vote for Barbie's next career" border=0 alt="Vote for Barbie's next career" align=left src="http://blogs.msdn.com/photos/developingfordynamicsgp/images/9951203/original.aspx" width=195 height=194 mce_src="http://blogs.msdn.com/photos/developingfordynamicsgp/images/9951203/original.aspx"&gt;&lt;/A&gt;Now is the time for action!!!&amp;nbsp;&lt;/P&gt;
&lt;P&gt;We need you.... OK, Mattel does.&lt;/P&gt;
&lt;P mce_keep="true"&gt;It seems that Barbie is looking for a new career and we need your help to vote for her to be a Computer Engineer.&lt;/P&gt;
&lt;P mce_keep="true"&gt;I found out about this career vote by reading my friend's, Catherine Eibner, funny post on the topic:&amp;nbsp;&lt;A title="Barbie as a Computer Engineer?" href="http://blogs.msdn.com/ceibner/archive/2010/01/13/barbie-as-a-computer-engineer.aspx" target=_blank mce_href="http://blogs.msdn.com/ceibner/archive/2010/01/13/barbie-as-a-computer-engineer.aspx"&gt;Barbie as a Computer Engineer?&lt;/A&gt;.&amp;nbsp; I am surprised that there is no option for Backhoe Operator after reading her article.&lt;/P&gt;
&lt;P&gt;So please vote by clicking on the badge above or visiting: &lt;A title=http://www.barbie.com/vote/ href="http://www.barbie.com/vote/"&gt;http://www.barbie.com/vote/&lt;/A&gt;&amp;nbsp;before the 12&lt;SUP&gt;th&lt;/SUP&gt; February when the results will be published.&lt;/P&gt;
&lt;P&gt;David&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9948244" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/developingfordynamicsgp/archive/tags/Blogsphere/default.aspx">Blogsphere</category><category domain="http://blogs.msdn.com/developingfordynamicsgp/archive/tags/Fun/default.aspx">Fun</category></item></channel></rss>