<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://www.aras.com/Community/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/"><channel><title>Aras Innovator KnowledgeBase</title><link>http://www.aras.com/Community/wikis/kb/default.aspx</link><description>Open to the Aras PLM Community:  Articles on tailoring, customizing, programming and generally how to work with Aras Innovator</description><dc:language>en-US</dc:language><generator>CommunityServer 2008.5 SP2 (Debug Build: 40407.4157)</generator><item><title>Internet Explorer configuration</title><link>http://www.aras.com/Community/wikis/kb/internet-explorer-configuration/revision/0.aspx</link><pubDate>Tue, 24 Jan 2012 13:00:36 GMT</pubDate><guid isPermaLink="false">197d54df-59b2-4bdb-87c5-e951a5aa0c96:155</guid><dc:creator>Arif Hasan Khan</dc:creator><description>Current revision posted to Aras Innovator KnowledgeBase by Arif Hasan Khan on 1/24/2012 8:00:36 AM&lt;br /&gt;
&lt;p&gt;Images is not appearing here. Please visit &lt;a href="/Community/forums/p/1696/6906.aspx"&gt;http://www.aras.com/Community/forums/p/1696/6906.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description></item><item><title>IE8 configuration to access Aras Innovator in Windows 7</title><link>http://www.aras.com/Community/wikis/kb/ie8-configuration-to-access-aras-innovator-in-windows-7/revision/0.aspx</link><pubDate>Tue, 24 Jan 2012 10:22:29 GMT</pubDate><guid isPermaLink="false">197d54df-59b2-4bdb-87c5-e951a5aa0c96:154</guid><dc:creator>Arif Hasan Khan</dc:creator><description>Current revision posted to Aras Innovator KnowledgeBase by Arif Hasan Khan on 1/24/2012 5:22:29 AM&lt;br /&gt;
&lt;p&gt;Open Internet Explorer &amp;gt; Tools &amp;gt; Internet Options &amp;gt; Security 
(tab) &amp;gt; Trusted sites &amp;gt; click on button Custom level...&lt;/p&gt;
&lt;p&gt;&lt;img alt="" /&gt;&lt;img alt="" /&gt;&lt;img alt="" /&gt;&lt;img alt="" /&gt;&lt;img alt="" /&gt;&lt;img alt="" /&gt;&lt;img alt="" /&gt;&lt;img alt="" /&gt;&lt;img alt="" /&gt;&lt;img alt="" /&gt;&lt;img alt="" /&gt;&lt;img alt="" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="" /&gt;&lt;/p&gt;</description></item><item><title>Programmatically vote for a workflow</title><link>http://www.aras.com/Community/wikis/kb/programmatically-vote-for-a-workflow/revision/0.aspx</link><pubDate>Sun, 04 Dec 2011 05:34:34 GMT</pubDate><guid isPermaLink="false">197d54df-59b2-4bdb-87c5-e951a5aa0c96:153</guid><dc:creator>Brian Pye</dc:creator><description>Current revision posted to Aras Innovator KnowledgeBase by Brian Pye on 12/4/2011 12:34:34 AM&lt;br /&gt;
&lt;p&gt;Often a workflow can be arranged to be automated based on internal values.&lt;/p&gt;
&lt;p&gt;Sometimes there are situations where you need to respond after a time or based on some other external stimuli.&lt;/p&gt;
&lt;p&gt;In this case we can vote for a workflow from a server method.&lt;/p&gt;
&lt;p&gt;The following code allows you to find and vote for a workflow activity.&lt;/p&gt;
&lt;p&gt;This code is intended to be run from a scheduled server method to advance a workflow activity along the &amp;quot;Release&amp;quot; path after the &amp;quot;effective_date&amp;quot; has been reached.&lt;/p&gt;
&lt;p&gt;Since the method would normally be run without user interaction I have not returned errors or stopped the process on error. In the actual code this is implemented in there is error reporting that I have removed from here for simplicity.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;&lt;font face="Consolas" size="2"&gt;&lt;font face="Consolas" size="2"&gt;
&lt;p&gt;Innovator inn = &lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font face="Consolas" size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;p&gt;&lt;span style="font-family:Consolas;color:#0000ff;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#0000ff;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#0000ff;font-size:x-small;"&gt;this&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;.getInnovator();&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;span style="font-family:Consolas;color:#2b91af;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#2b91af;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#2b91af;font-size:x-small;"&gt;&lt;font face="Consolas" size="2" color="#2b91af"&gt;&lt;font face="Consolas" size="2" color="#2b91af"&gt;&lt;font face="Consolas" size="2" color="#2b91af"&gt;
&lt;p&gt;DateTime&lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font face="Consolas" size="2" color="#2b91af"&gt;&lt;font face="Consolas" size="2" color="#2b91af"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font face="Consolas" size="2" color="#2b91af"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;p&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt; dt = &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;color:#2b91af;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#2b91af;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#2b91af;font-size:x-small;"&gt;DateTime&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;.Now;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;span style="font-family:Consolas;color:#0000ff;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#0000ff;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#0000ff;font-size:x-small;"&gt;&lt;font face="Consolas" size="2" color="#0000ff"&gt;&lt;font face="Consolas" size="2" color="#0000ff"&gt;&lt;font face="Consolas" size="2" color="#0000ff"&gt;
&lt;p&gt;string&lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font face="Consolas" size="2" color="#0000ff"&gt;&lt;font face="Consolas" size="2" color="#0000ff"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font face="Consolas" size="2" color="#0000ff"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;p&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt; targetDate = &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;color:#2b91af;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#2b91af;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#2b91af;font-size:x-small;"&gt;String&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;.Format(&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;color:#a31515;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#a31515;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#a31515;font-size:x-small;"&gt;&amp;quot;{0:s}&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;,dt);&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;span style="font-family:Consolas;color:#2b91af;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#2b91af;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#2b91af;font-size:x-small;"&gt;&lt;font face="Consolas" size="2" color="#2b91af"&gt;&lt;font face="Consolas" size="2" color="#2b91af"&gt;&lt;font face="Consolas" size="2" color="#2b91af"&gt;
&lt;p&gt;DateTime&lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font face="Consolas" size="2" color="#2b91af"&gt;&lt;font face="Consolas" size="2" color="#2b91af"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font face="Consolas" size="2" color="#2b91af"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;p&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt; dtNow = &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;color:#2b91af;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#2b91af;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#2b91af;font-size:x-small;"&gt;DateTime&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;.UtcNow;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;span style="font-family:Consolas;color:#0000ff;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#0000ff;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#0000ff;font-size:x-small;"&gt;&lt;font face="Consolas" size="2" color="#0000ff"&gt;&lt;font face="Consolas" size="2" color="#0000ff"&gt;&lt;font face="Consolas" size="2" color="#0000ff"&gt;
&lt;p&gt;string&lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font face="Consolas" size="2" color="#0000ff"&gt;&lt;font face="Consolas" size="2" color="#0000ff"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font face="Consolas" size="2" color="#0000ff"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;p&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt; tmpPtrn = &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;color:#a31515;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#a31515;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#a31515;font-size:x-small;"&gt;&amp;quot;yyyy-MM-ddTHH:mm:ss&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;span style="font-family:Consolas;color:#0000ff;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#0000ff;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#0000ff;font-size:x-small;"&gt;&lt;font face="Consolas" size="2" color="#0000ff"&gt;&lt;font face="Consolas" size="2" color="#0000ff"&gt;&lt;font face="Consolas" size="2" color="#0000ff"&gt;
&lt;p&gt;string&lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font face="Consolas" size="2" color="#0000ff"&gt;&lt;font face="Consolas" size="2" color="#0000ff"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font face="Consolas" size="2" color="#0000ff"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;p&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt; tmpDt = dtNow.ToString(tmpPtrn, DateTimeFormatInfo.InvariantInfo);
&lt;p&gt;I18NSessionContext sCntxt = inn.getI18NSessionContext();&lt;/p&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;span style="font-family:Consolas;color:#0000ff;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#0000ff;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#0000ff;font-size:x-small;"&gt;&lt;font face="Consolas" size="2" color="#0000ff"&gt;&lt;font face="Consolas" size="2" color="#0000ff"&gt;&lt;font face="Consolas" size="2" color="#0000ff"&gt;
&lt;p&gt;string&lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font face="Consolas" size="2" color="#0000ff"&gt;&lt;font face="Consolas" size="2" color="#0000ff"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font face="Consolas" size="2" color="#0000ff"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt; now = sCntxt.ConvertUtcDateTimeToNeutral(tmpDt, tmpPtrn);&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;span style="font-family:Consolas;color:#008000;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#008000;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#008000;font-size:x-small;"&gt;
&lt;p&gt;//now = sCntxt.ConvertFromNeutral(now,&amp;quot;date&amp;quot;,tmpPtrn);&lt;/p&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;
&lt;p&gt;　&lt;/p&gt;
&lt;font face="Consolas" size="2"&gt;&lt;font face="Consolas" size="2"&gt;
&lt;p&gt;Item mcrs = &lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font face="Consolas" size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;p&gt;&lt;span style="font-family:Consolas;color:#0000ff;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#0000ff;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#0000ff;font-size:x-small;"&gt;this&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;.newItem(&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;color:#a31515;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#a31515;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#a31515;font-size:x-small;"&gt;&amp;quot;MyItem&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;color:#a31515;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#a31515;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#a31515;font-size:x-small;"&gt;&amp;quot;get&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;);&lt;font face="Consolas" size="2"&gt;&lt;font face="Consolas" size="2"&gt;
&lt;p&gt;mcrs.setProperty(&lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font face="Consolas" size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Consolas;color:#a31515;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#a31515;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#a31515;font-size:x-small;"&gt;&amp;quot;effective_date&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;,now);&lt;font face="Consolas" size="2"&gt;&lt;font face="Consolas" size="2"&gt;
&lt;p&gt;mcrs.setPropertyCondition(&lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font face="Consolas" size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Consolas;color:#a31515;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#a31515;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#a31515;font-size:x-small;"&gt;&amp;quot;effective_date&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;color:#a31515;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#a31515;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#a31515;font-size:x-small;"&gt;&amp;quot;le&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;);&lt;font face="Consolas" size="2"&gt;&lt;font face="Consolas" size="2"&gt;
&lt;p&gt;mcrs.setProperty(&lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font face="Consolas" size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Consolas;color:#a31515;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#a31515;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#a31515;font-size:x-small;"&gt;&amp;quot;state&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;color:#a31515;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#a31515;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#a31515;font-size:x-small;"&gt;&amp;quot;Pending Release&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;);
&lt;p&gt;mcrs = mcrs.apply();&lt;/p&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;span style="font-family:Consolas;color:#0000ff;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#0000ff;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#0000ff;font-size:x-small;"&gt;&lt;font face="Consolas" size="2" color="#0000ff"&gt;&lt;font face="Consolas" size="2" color="#0000ff"&gt;&lt;font face="Consolas" size="2" color="#0000ff"&gt;
&lt;p&gt;if&lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font face="Consolas" size="2" color="#0000ff"&gt;&lt;font face="Consolas" size="2" color="#0000ff"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font face="Consolas" size="2" color="#0000ff"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;p&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt; ( mcrs.isEmpty() ){&lt;font face="Consolas" size="2"&gt;&lt;font face="Consolas" size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font face="Consolas" size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Consolas;color:#008000;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#008000;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#008000;font-size:x-small;"&gt;// there are no qualifying MyItems.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;span style="font-family:Consolas;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;&lt;font face="Consolas" size="2"&gt;&lt;font face="Consolas" size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font face="Consolas" size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Consolas;color:#0000ff;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#0000ff;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#0000ff;font-size:x-small;"&gt;return&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;color:#0000ff;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#0000ff;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#0000ff;font-size:x-small;"&gt;this&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;;
&lt;p&gt;}&lt;/p&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;span style="font-family:Consolas;color:#008000;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#008000;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#008000;font-size:x-small;"&gt;
&lt;p&gt;// Build the voting request&lt;/p&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;&lt;font face="Consolas" size="2"&gt;&lt;font face="Consolas" size="2"&gt;
&lt;p&gt;StringBuilder voteXml = &lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font face="Consolas" size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;p&gt;&lt;span style="font-family:Consolas;color:#0000ff;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#0000ff;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#0000ff;font-size:x-small;"&gt;new&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt; StringBuilder(&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;color:#a31515;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#a31515;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#a31515;font-size:x-small;"&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;);&lt;font face="Consolas" size="2"&gt;&lt;font face="Consolas" size="2"&gt;
&lt;p&gt;voteXml.Append(&lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font face="Consolas" size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Consolas;color:#a31515;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#a31515;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#a31515;font-size:x-small;"&gt;&amp;quot;&amp;lt;Item type=\&amp;quot;Activity\&amp;quot; action=\&amp;quot;EvaluateActivity\&amp;quot;&amp;gt;&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;);&lt;font face="Consolas" size="2"&gt;&lt;font face="Consolas" size="2"&gt;
&lt;p&gt;voteXml.Append(&lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font face="Consolas" size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Consolas;color:#a31515;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#a31515;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#a31515;font-size:x-small;"&gt;&amp;quot; &amp;lt;Activity&amp;gt;{0}&amp;lt;/Activity&amp;gt;&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;);&lt;font face="Consolas" size="2"&gt;&lt;font face="Consolas" size="2"&gt;
&lt;p&gt;voteXml.Append(&lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font face="Consolas" size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Consolas;color:#a31515;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#a31515;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#a31515;font-size:x-small;"&gt;&amp;quot; &amp;lt;ActivityAssignment&amp;gt;{1}&amp;lt;/ActivityAssignment&amp;gt;&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;);&lt;font face="Consolas" size="2"&gt;&lt;font face="Consolas" size="2"&gt;
&lt;p&gt;voteXml.Append(&lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font face="Consolas" size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Consolas;color:#a31515;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#a31515;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#a31515;font-size:x-small;"&gt;&amp;quot; &amp;lt;Paths&amp;gt;&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;);&lt;font face="Consolas" size="2"&gt;&lt;font face="Consolas" size="2"&gt;
&lt;p&gt;voteXml.Append(&lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font face="Consolas" size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Consolas;color:#a31515;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#a31515;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#a31515;font-size:x-small;"&gt;&amp;quot; &amp;lt;Path id=\&amp;quot;{2}\&amp;quot;&amp;gt;{3}&amp;lt;/Path&amp;gt;&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;);&lt;font face="Consolas" size="2"&gt;&lt;font face="Consolas" size="2"&gt;
&lt;p&gt;voteXml.Append(&lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font face="Consolas" size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Consolas;color:#a31515;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#a31515;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#a31515;font-size:x-small;"&gt;&amp;quot; &amp;lt;/Paths&amp;gt;&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;);&lt;font face="Consolas" size="2"&gt;&lt;font face="Consolas" size="2"&gt;
&lt;p&gt;voteXml.Append(&lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font face="Consolas" size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Consolas;color:#a31515;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#a31515;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#a31515;font-size:x-small;"&gt;&amp;quot; &amp;lt;DelegateTo&amp;gt;0&amp;lt;/DelegateTo&amp;gt;&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;);&lt;font face="Consolas" size="2"&gt;&lt;font face="Consolas" size="2"&gt;
&lt;p&gt;voteXml.Append(&lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font face="Consolas" size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Consolas;color:#a31515;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#a31515;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#a31515;font-size:x-small;"&gt;&amp;quot; &amp;lt;Tasks /&amp;gt;&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;);&lt;font face="Consolas" size="2"&gt;&lt;font face="Consolas" size="2"&gt;
&lt;p&gt;voteXml.Append(&lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font face="Consolas" size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Consolas;color:#a31515;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#a31515;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#a31515;font-size:x-small;"&gt;&amp;quot; &amp;lt;Variables /&amp;gt;&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;);&lt;font face="Consolas" size="2"&gt;&lt;font face="Consolas" size="2"&gt;
&lt;p&gt;voteXml.Append(&lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font face="Consolas" size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Consolas;color:#a31515;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#a31515;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#a31515;font-size:x-small;"&gt;&amp;quot; &amp;lt;Authentication mode=\&amp;quot;\&amp;quot; /&amp;gt;&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;);&lt;font face="Consolas" size="2"&gt;&lt;font face="Consolas" size="2"&gt;
&lt;p&gt;voteXml.Append(&lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font face="Consolas" size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Consolas;color:#a31515;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#a31515;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#a31515;font-size:x-small;"&gt;&amp;quot; &amp;lt;Comments&amp;gt;{4}&amp;lt;/Comments&amp;gt;&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;);&lt;font face="Consolas" size="2"&gt;&lt;font face="Consolas" size="2"&gt;
&lt;p&gt;voteXml.Append(&lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font face="Consolas" size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Consolas;color:#a31515;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#a31515;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#a31515;font-size:x-small;"&gt;&amp;quot; &amp;lt;Complete&amp;gt;1&amp;lt;/Complete&amp;gt;&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;);&lt;font face="Consolas" size="2"&gt;&lt;font face="Consolas" size="2"&gt;
&lt;p&gt;voteXml.Append(&lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font face="Consolas" size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Consolas;color:#a31515;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#a31515;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#a31515;font-size:x-small;"&gt;&amp;quot;&amp;lt;/Item&amp;gt;&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;);&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;span style="font-family:Consolas;color:#008000;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#008000;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#008000;font-size:x-small;"&gt;
&lt;p&gt;// Grant &amp;#39;Aras PLM&amp;#39; permissionsa&lt;/p&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;&lt;font face="Consolas" size="2"&gt;&lt;font face="Consolas" size="2"&gt;
&lt;p&gt;Aras.Server.Security.Identity plmIdentity = Aras.Server.Security.Identity.GetByName(&lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font face="Consolas" size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;p&gt;&lt;span style="font-family:Consolas;color:#a31515;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#a31515;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#a31515;font-size:x-small;"&gt;&amp;quot;Aras PLM&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;);&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;span style="font-family:Consolas;color:#2b91af;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#2b91af;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#2b91af;font-size:x-small;"&gt;&lt;font face="Consolas" size="2" color="#2b91af"&gt;&lt;font face="Consolas" size="2" color="#2b91af"&gt;&lt;font face="Consolas" size="2" color="#2b91af"&gt;
&lt;p&gt;Boolean&lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font face="Consolas" size="2" color="#2b91af"&gt;&lt;font face="Consolas" size="2" color="#2b91af"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font face="Consolas" size="2" color="#2b91af"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;p&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt; PermissionWasSet = Aras.Server.Security.Permissions.GrantIdentity(plmIdentity);&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;span style="font-family:Consolas;color:#0000ff;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#0000ff;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#0000ff;font-size:x-small;"&gt;&lt;font face="Consolas" size="2" color="#0000ff"&gt;&lt;font face="Consolas" size="2" color="#0000ff"&gt;&lt;font face="Consolas" size="2" color="#0000ff"&gt;
&lt;p&gt;for&lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font face="Consolas" size="2" color="#0000ff"&gt;&lt;font face="Consolas" size="2" color="#0000ff"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font face="Consolas" size="2" color="#0000ff"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;p&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt; ( &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;color:#0000ff;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#0000ff;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#0000ff;font-size:x-small;"&gt;int&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt; i = 0; i &amp;lt; mcrs.getItemCount(); i++){
&lt;p&gt;Item mcr = mcrs.getItemByIndex(i);&lt;/p&gt;
&lt;font face="Consolas" size="2"&gt;&lt;font face="Consolas" size="2"&gt;
&lt;p&gt;Item wFlow = &lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font face="Consolas" size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Consolas;color:#0000ff;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#0000ff;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#0000ff;font-size:x-small;"&gt;this&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;.newItem(&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;color:#a31515;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#a31515;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#a31515;font-size:x-small;"&gt;&amp;quot;Workflow&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;color:#a31515;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#a31515;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#a31515;font-size:x-small;"&gt;&amp;quot;get&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;);&lt;font face="Consolas" size="2"&gt;&lt;font face="Consolas" size="2"&gt;
&lt;p&gt;wFlow.setAttribute(&lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font face="Consolas" size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Consolas;color:#a31515;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#a31515;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#a31515;font-size:x-small;"&gt;&amp;quot;levels&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;color:#a31515;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#a31515;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#a31515;font-size:x-small;"&gt;&amp;quot;3&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;);&lt;font face="Consolas" size="2"&gt;&lt;font face="Consolas" size="2"&gt;
&lt;p&gt;wFlow.setAttribute(&lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font face="Consolas" size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Consolas;color:#a31515;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#a31515;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#a31515;font-size:x-small;"&gt;&amp;quot;select&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;color:#a31515;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#a31515;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#a31515;font-size:x-small;"&gt;&amp;quot;related_id(*)&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;);&lt;font face="Consolas" size="2"&gt;&lt;font face="Consolas" size="2"&gt;
&lt;p&gt;wFlow.setProperty(&lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font face="Consolas" size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Consolas;color:#a31515;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#a31515;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#a31515;font-size:x-small;"&gt;&amp;quot;source_id&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;,mcr.getID());&lt;font face="Consolas" size="2"&gt;&lt;font face="Consolas" size="2"&gt;
&lt;p&gt;wFlow.setPropertyCondition(&lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font face="Consolas" size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Consolas;color:#a31515;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#a31515;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#a31515;font-size:x-small;"&gt;&amp;quot;related_id&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;color:#a31515;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#a31515;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#a31515;font-size:x-small;"&gt;&amp;quot;is not null&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;);
&lt;p&gt;wFlow = wFlow.apply();&lt;/p&gt;
&lt;font face="Consolas" size="2"&gt;&lt;font face="Consolas" size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font face="Consolas" size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Consolas;color:#0000ff;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#0000ff;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#0000ff;font-size:x-small;"&gt;if&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt; ( wFlow.isEmpty()){&lt;font face="Consolas" size="2"&gt;&lt;font face="Consolas" size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font face="Consolas" size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Consolas;color:#008000;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#008000;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#008000;font-size:x-small;"&gt;// there is no workflow associated with this MCR&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;span style="font-family:Consolas;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;&lt;font face="Consolas" size="2"&gt;&lt;font face="Consolas" size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font face="Consolas" size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Consolas;color:#008000;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#008000;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#008000;font-size:x-small;"&gt;// this is an abberation.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;span style="font-family:Consolas;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;
&lt;p&gt;} &lt;/p&gt;
&lt;font face="Consolas" size="2"&gt;&lt;font face="Consolas" size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font face="Consolas" size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Consolas;color:#0000ff;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#0000ff;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#0000ff;font-size:x-small;"&gt;string&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt; activityID = &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;color:#a31515;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#a31515;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#a31515;font-size:x-small;"&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;;&lt;font face="Consolas" size="2"&gt;&lt;font face="Consolas" size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font face="Consolas" size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Consolas;color:#0000ff;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#0000ff;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#0000ff;font-size:x-small;"&gt;string&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt; assignID = &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;color:#a31515;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#a31515;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#a31515;font-size:x-small;"&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;;&lt;font face="Consolas" size="2"&gt;&lt;font face="Consolas" size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font face="Consolas" size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Consolas;color:#0000ff;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#0000ff;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#0000ff;font-size:x-small;"&gt;string&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt; pathID = &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;color:#a31515;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#a31515;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#a31515;font-size:x-small;"&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;;&lt;font face="Consolas" size="2"&gt;&lt;font face="Consolas" size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font face="Consolas" size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Consolas;color:#0000ff;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#0000ff;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#0000ff;font-size:x-small;"&gt;string&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt; vte = &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;color:#a31515;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#a31515;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#a31515;font-size:x-small;"&gt;&amp;quot;Release&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;;&lt;font face="Consolas" size="2"&gt;&lt;font face="Consolas" size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font face="Consolas" size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Consolas;color:#0000ff;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#0000ff;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#0000ff;font-size:x-small;"&gt;string&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt; comment = &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;color:#a31515;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#a31515;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#a31515;font-size:x-small;"&gt;&amp;quot;Released automatically as effective date has fallen due&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;font face="Consolas" size="2"&gt;&lt;font face="Consolas" size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font face="Consolas" size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Consolas;color:#008000;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#008000;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#008000;font-size:x-small;"&gt;// Retrieve the &amp;quot;Pending Release&amp;quot; activity Node&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;span style="font-family:Consolas;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;&lt;font face="Consolas" size="2"&gt;&lt;font face="Consolas" size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font face="Consolas" size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Consolas;color:#0000ff;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#0000ff;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#0000ff;font-size:x-small;"&gt;try&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;{&lt;font face="Consolas" size="2"&gt;&lt;font face="Consolas" size="2"&gt;
&lt;p&gt;Item prActs = wFlow.getItemsByXPath(&lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font face="Consolas" size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Consolas;color:#a31515;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#a31515;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#a31515;font-size:x-small;"&gt;&amp;quot;//Item[@type=&amp;#39;Activity&amp;#39;][name=&amp;#39;Pending Release&amp;#39;]&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;);
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Item prAct = prActs.getItemByIndex(0);&lt;/p&gt;
&lt;p&gt;activityID = prAct.getID(); &lt;/p&gt;
&lt;font face="Consolas" size="2"&gt;&lt;font face="Consolas" size="2"&gt;
&lt;p&gt;Item actAssigns = prAct.getItemsByXPath(&lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font face="Consolas" size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Consolas;color:#a31515;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#a31515;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#a31515;font-size:x-small;"&gt;&amp;quot;./Relationships/Item[@type=&amp;#39;Activity Assignment&amp;#39;]&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;);&lt;font face="Consolas" size="2"&gt;&lt;font face="Consolas" size="2"&gt;
&lt;p&gt;Item paths = prAct.getItemsByXPath(&lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font face="Consolas" size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Consolas;color:#a31515;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#a31515;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#a31515;font-size:x-small;"&gt;&amp;quot;./Relationships/Item[@type=&amp;#39;Workflow Process Path&amp;#39;][name=&amp;#39;Release&amp;#39;]&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;);
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;font face="Consolas" size="2"&gt;&lt;font face="Consolas" size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font face="Consolas" size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Consolas;color:#0000ff;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#0000ff;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#0000ff;font-size:x-small;"&gt;for&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt; ( &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;color:#0000ff;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#0000ff;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#0000ff;font-size:x-small;"&gt;int&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt; x = 0; x &amp;lt; paths.getItemCount(); x++){
&lt;p&gt;Item path = paths.getItemByIndex(x);&lt;/p&gt;
&lt;font face="Consolas" size="2"&gt;&lt;font face="Consolas" size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font face="Consolas" size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Consolas;color:#0000ff;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#0000ff;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#0000ff;font-size:x-small;"&gt;if&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt; ( path.getProperty(&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;color:#a31515;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#a31515;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#a31515;font-size:x-small;"&gt;&amp;quot;name&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;) == &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;color:#a31515;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#a31515;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#a31515;font-size:x-small;"&gt;&amp;quot;Release&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;){
&lt;p&gt;pathID = path.getID(); &lt;/p&gt;
&lt;p&gt;} &lt;/p&gt;
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;font face="Consolas" size="2"&gt;&lt;font face="Consolas" size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font face="Consolas" size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Consolas;color:#0000ff;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#0000ff;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#0000ff;font-size:x-small;"&gt;for&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt; ( &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;color:#0000ff;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#0000ff;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#0000ff;font-size:x-small;"&gt;int&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt; j = 0; j &amp;lt; actAssigns.getItemCount(); j++){
&lt;p&gt;Item actAssign = actAssigns.getItemByIndex(j);&lt;/p&gt;
&lt;font face="Consolas" size="2"&gt;&lt;font face="Consolas" size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font face="Consolas" size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Consolas;color:#0000ff;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#0000ff;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#0000ff;font-size:x-small;"&gt;if&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt; ( actAssign.getRelatedItem().getProperty(&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;color:#a31515;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#a31515;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#a31515;font-size:x-small;"&gt;&amp;quot;name&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;) == &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;color:#a31515;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#a31515;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#a31515;font-size:x-small;"&gt;&amp;quot;Aras PLM&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;){
&lt;p&gt;assignID = actAssign.getID(); &lt;/p&gt;
&lt;p&gt;} &lt;/p&gt;
&lt;p&gt;}&lt;/p&gt;
&lt;font face="Consolas" size="2"&gt;&lt;font face="Consolas" size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font face="Consolas" size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Consolas;color:#0000ff;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#0000ff;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#0000ff;font-size:x-small;"&gt;if&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt; ( assignID == &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;color:#a31515;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#a31515;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#a31515;font-size:x-small;"&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt; ){
&lt;p&gt;assignID = actAssigns.getItemByIndex(0).getID(); &lt;/p&gt;
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;font face="Consolas" size="2"&gt;&lt;font face="Consolas" size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font face="Consolas" size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Consolas;color:#008000;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#008000;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#008000;font-size:x-small;"&gt;// Submit the vote&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;span style="font-family:Consolas;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Item vote = inn.newItem();&lt;/p&gt;
&lt;p&gt;vote.loadAML(String.Format(voteXml.ToString(),activityID,assignID,pathID,vte,comment));&lt;/p&gt;
&lt;p&gt;vote = vote.apply();&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;font face="Consolas" size="2"&gt;&lt;font face="Consolas" size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font face="Consolas" size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Consolas;color:#0000ff;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#0000ff;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#0000ff;font-size:x-small;"&gt;if&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt; ( vote.isError() ){&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;// respond to an unsuccessful vote.&lt;font face="Consolas" size="2"&gt;&lt;font face="Consolas" size="2"&gt;
&lt;p&gt;} &lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font face="Consolas" size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Consolas;color:#0000ff;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#0000ff;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#0000ff;font-size:x-small;"&gt;else&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt; {&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;// respond to a successful vote.
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;}&lt;/p&gt;
&lt;font face="Consolas" size="2"&gt;&lt;font face="Consolas" size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font face="Consolas" size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Consolas;color:#0000ff;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#0000ff;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#0000ff;font-size:x-small;"&gt;catch&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt; (Exception e){
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;}&lt;/p&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;span style="font-family:Consolas;color:#0000ff;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#0000ff;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#0000ff;font-size:x-small;"&gt;&lt;font face="Consolas" size="2" color="#0000ff"&gt;&lt;font face="Consolas" size="2" color="#0000ff"&gt;&lt;font face="Consolas" size="2" color="#0000ff"&gt;
&lt;p&gt;if&lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font face="Consolas" size="2" color="#0000ff"&gt;&lt;font face="Consolas" size="2" color="#0000ff"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font face="Consolas" size="2" color="#0000ff"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;p&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt; (PermissionWasSet) Aras.Server.Security.Permissions.RevokeIdentity(plmIdentity);&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;span style="font-family:Consolas;color:#0000ff;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#0000ff;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#0000ff;font-size:x-small;"&gt;&lt;font face="Consolas" size="2" color="#0000ff"&gt;&lt;font face="Consolas" size="2" color="#0000ff"&gt;&lt;font face="Consolas" size="2" color="#0000ff"&gt;
&lt;p&gt;return&lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font face="Consolas" size="2" color="#0000ff"&gt;&lt;font face="Consolas" size="2" color="#0000ff"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font face="Consolas" size="2" color="#0000ff"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;p&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt; inn.newResult(processErrors.ToString());&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/p&gt;</description></item><item><title>Using Custom .dll's with Innovator</title><link>http://www.aras.com/Community/wikis/kb/using-custom-dll-s-with-innovator/revision/0.aspx</link><pubDate>Fri, 10 Dec 2010 12:55:54 GMT</pubDate><guid isPermaLink="false">197d54df-59b2-4bdb-87c5-e951a5aa0c96:152</guid><dc:creator>Brian Pye</dc:creator><description>Current revision posted to Aras Innovator KnowledgeBase by Brian Pye on 12/10/2010 7:55:54 AM&lt;br /&gt;
&lt;p&gt;One of the things that makes Innovator so flexible is the ability to all your own code internally and externally.&lt;/p&gt;
&lt;p&gt;Internal code is good for small code snippets and relatively simple or at least restricted methods. The ability to add complete classes via a .dll can be a very powerful tool.&lt;/p&gt;
&lt;p&gt;Following is a description of how to create a .dll tool using Visual Studio Express for C#.&lt;/p&gt;
&lt;h2&gt;Server Side class libraries:&lt;/h2&gt;
&lt;p&gt;This is an example of a simple class in c#.&lt;/p&gt;
&lt;p&gt;First the BOM class:&lt;/p&gt;
&lt;p&gt;using System;&lt;/p&gt;
&lt;p&gt;using System.Collections.Generic;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;namespace MyNamespace&lt;/p&gt;
&lt;p&gt;{&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public class BOM&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;
&lt;p&gt;private Dictionary&amp;lt;string, BOMItem&amp;gt; m_bomItems = new Dictionary&amp;lt;string, BOMItem&amp;gt;();&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public BOM(){}&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public BOM(Dictionary&amp;lt;string, BOMItem&amp;gt; bom) {&amp;nbsp; m_bomItems = bom; }&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ~BOM(){}&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public bool addBomItem( BOMItem bomItem, out string errorText )&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // attempt to find the BOMItem in the dictionary&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // the item should not be in there twice&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; BOMItem bomOut = new BOMItem();&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (m_bomItems.TryGetValue(bomItem.getItemNumber(), out bomOut) == true)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; errorText = &amp;quot;Duplicate Item Number &amp;quot; + bomItem.getItemNumber( );&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return false;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; m_bomItems.Add(bomItem.getItemNumber(), bomItem);&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; errorText = &amp;quot;Success&amp;quot;;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return true;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public BOMItem getBOMItem(string itemNumber)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; BOMItem tmpBOM = new BOMItem();&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (m_bomItems.TryGetValue(itemNumber, out tmpBOM) == true)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return tmpBOM;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return null;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Then the BOMItem class:&lt;/p&gt;
&lt;p&gt;using System;&lt;/p&gt;
&lt;p&gt;using System.Collections.Generic;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;namespace MyNamespace&lt;/p&gt;
&lt;p&gt;{&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public class BOMItem&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public BOMItem(string itemNumber, string description, int qty)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; m_itemNumber = itemNumber;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; m_description = description;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; m_qty = qty;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public BOMItem() { }&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ~BOMItem() { }&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public string getItemNumber() { return m_itemNumber; }&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public string getDescription() { return m_description; }&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public int getQty() { return m_qty; }&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;public bool isItemNumber(string itemNumber) {return &amp;nbsp;&amp;nbsp;(m_itemNumber.Equals(itemNumber)); }&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public bool isQty(int qty) { return (m_qty == qty); }&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;public bool isDescription(string description) { return (m_description.Equals(description)); }&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public bool equals(BOMItem bomItem)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bool result = true;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; result = result &amp;amp; isItemNumber(bomItem.getItemNumber());&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; result = result &amp;amp; isQty(bomItem.getQty());&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; result = result &amp;amp; isDescription(bomItem.getDescription());&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return result;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; private string m_itemNumber;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; private string m_description;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; private int m_qty;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;These classes create a BOM and a BOM Item which I could re-use in any method inside Innovator.&lt;/p&gt;
&lt;p&gt;Compile the classes into a .dll class library. (There is a lot of documentation on the web to advise how to do this in&amp;nbsp;Visual Studio Express. Google &amp;quot;Add dll template to Visual Studio express&amp;quot; to see how to do this. If you have the full Visual Studio there will already be a template installed.&lt;/p&gt;
&lt;p&gt;IMPORTANT NOTE: The class library must be strongly named so that it can be installed in the Global Assembly Cache (GAC). If it isn&amp;#39;t strongly named the gacutil.exe tool will not install the .dll. If the .dll is not installed in the GAC Innovator will not find it.&amp;nbsp; FURTHER NOTE: I&amp;#39;m not sure if this is a Vista/Windows 7 security feature. I am operating on Windows 7 and found this was the only way to install the dll.&lt;/p&gt;
&lt;p&gt;This is the method code in a server side method in Innovator:&lt;/p&gt;
&lt;p&gt;Innovator inn = &lt;b&gt;this&lt;/b&gt;.getInnovator();&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Matrix.BOM bom = &lt;b&gt;new&lt;/b&gt; Matrix.BOM();&lt;/p&gt;
&lt;p&gt;Matrix.BOMItem bomItem = &lt;b&gt;new&lt;/b&gt; Matrix.BOMItem(&amp;quot;12345&amp;quot;,&amp;quot;An interesting description&amp;quot;, 5);&lt;/p&gt;
&lt;p&gt;&lt;b&gt;string&lt;/b&gt; errorText;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;if&lt;/b&gt; (!bom.addBomItem(bomItem, &lt;b&gt;out&lt;/b&gt; errorText))&lt;/p&gt;
&lt;p&gt;&lt;b&gt;{&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; errorText = errorText + &amp;quot;Add BOM Item failed &amp;lt;&amp;#39;BR&amp;#39;&amp;gt; &amp;quot;;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/p&gt;
&lt;p&gt;&lt;b&gt;}&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; errorText += (bomItem.getDescription());&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; errorText += (bomItem.getItemNumber());&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; errorText += (bomItem.getQty());&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Matrix.BOMItem bomItem2 = &lt;b&gt;new&lt;/b&gt; Matrix.BOMItem(&amp;quot;12345&amp;quot;, &amp;quot;An interesting &amp;nbsp;&amp;nbsp;description&amp;quot;, 5);&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;b&gt;if&lt;/b&gt; (bomItem.equals(bomItem2))&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;b&gt;{&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; errorText += (&amp;quot;Bom items are equal&amp;quot;);&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;b&gt;}&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;b&gt;else&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;b&gt;{&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; errorText += (&amp;quot;Bom items are not equal&amp;quot;);&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;b&gt;}&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;Matrix.BOMItem bomItem3 = &lt;b&gt;new&lt;/b&gt; Matrix.BOMItem(&amp;quot;12346&amp;quot;, &amp;quot;An interesting description&amp;quot;, 5);&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;b&gt;if&lt;/b&gt; (bomItem.equals(bomItem3))&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;b&gt;{&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; errorText += (&amp;quot;Bom items are equal&amp;quot;);&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;b&gt;}&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;b&gt;else&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;b&gt;{&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; errorText += (&amp;quot;Bom items are not equal&amp;quot;);&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;b&gt;}&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;return&lt;/b&gt; inn.newResult(errorText);&lt;/p&gt;
&lt;p&gt;In order to use this method code we need to install the .dll in the Innovator code tree and edit the method-config.xml file to include a reference to the dll.&lt;/p&gt;
&lt;p&gt;I copied the dll into:&lt;/p&gt;
&lt;p&gt;c:\Aras\Innovator\Innovator\Server\bin\mydll&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I tried installing the dll directly in the /bin folder and found that adding another dll file to this directory caused an unusual error in Innovator. It would not load the &amp;quot;databases&amp;quot; into the login screen which in turn stopped you from logging on.&lt;/p&gt;
&lt;p&gt;I put the dll file into a sub directory, mydll in this case put an entry into &amp;quot;method-config.xml&amp;quot; like:&lt;/p&gt;
&lt;p&gt;&amp;lt;MethodConfig&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;lt;ReferencedAssemblies&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;name&amp;gt;System.dll&amp;lt;/name&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;name&amp;gt;System.XML.dll&amp;lt;/name&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;name&amp;gt;System.Web.dll&amp;lt;/name&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;name&amp;gt;System.Data.dll&amp;lt;/name&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;name&amp;gt;$(binpath)/IOM.dll&amp;lt;/name&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;name&amp;gt;$(binpath)/InnovatorCore.dll&amp;lt;/name&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;name&amp;gt;$(binpath)/CoreCS.dll&amp;lt;/name&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;name&amp;gt;$(binpath)/SPConnector.dll&amp;lt;/name&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;name&amp;gt;$(binpath)/mydll/BOMTools.dll&amp;lt;/name&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;lt;/ReferencedAssemblies&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;quot;method-config.xml&amp;quot; is located in Aras\Innovator\Innovator\server\&lt;/p&gt;
&lt;p&gt;Then I installed the file into the GAC using &amp;quot;gacutil.exe /i bomtools.dll&amp;quot;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;The GAC tool can be found in:&lt;/p&gt;
&lt;p&gt;Program Files\Microsoft .NET\SDK\v2.0\Bin\gacutil.exe&lt;/p&gt;
&lt;p&gt;Just in case it is not part of your path (and it probably isn&amp;#39;t).&lt;/p&gt;
&lt;p&gt;&amp;nbsp;Code example and instructions provided by Brian Pye. Information is based on my investigations into using custom classes in Innovator.&lt;/p&gt;</description></item><item><title>Search All KnowledgeBase</title><link>http://www.aras.com/Community/wikis/kb/search-all-knowledgebase/revision/0.aspx</link><pubDate>Fri, 09 Jul 2010 15:39:42 GMT</pubDate><guid isPermaLink="false">197d54df-59b2-4bdb-87c5-e951a5aa0c96:141</guid><dc:creator>Darian</dc:creator><description>Current revision posted to Aras Innovator KnowledgeBase by Darian on 7/9/2010 11:39:42 AM&lt;br /&gt;
&lt;h2&gt;Search All KnowledgeBase&lt;/h2&gt;
&lt;p&gt;Search Community Posts and &amp;nbsp;Wikis, Downloadable&amp;nbsp; and Online Documentation and KB.MyInnovator.com, all &amp;nbsp;with a single search.&lt;/p&gt;
&lt;p&gt;Just enter search terms,&amp;nbsp;check or uncheck&amp;nbsp;sources to search,&amp;nbsp;and press the search button.&amp;nbsp;&lt;a href="http://shockme.aras.com/noj910/client/customer/SearchAll3.aspx"&gt;Click here to Search All&lt;/a&gt;&amp;nbsp;Search results are now in&amp;nbsp;an html table instead of an active control.&lt;/p&gt;</description></item><item><title>Search All KnowledgeBase</title><link>http://www.aras.com/Community/wikis/kb/search-all-knowledgebase/revision/5.aspx</link><pubDate>Fri, 25 Jun 2010 21:04:33 GMT</pubDate><guid isPermaLink="false">197d54df-59b2-4bdb-87c5-e951a5aa0c96:111</guid><dc:creator>Jon Hodge</dc:creator><description>Revision 5 posted to Aras Innovator KnowledgeBase by Jon Hodge on 6/25/2010 5:04:33 PM&lt;br /&gt;
&lt;h2&gt;Search All KnowledgeBase&lt;/h2&gt;
&lt;p&gt;Search Community Posts and &amp;nbsp;Wikis, Downloadable&amp;nbsp; and Online Documentation and KB.MyInnovator.com, all &amp;nbsp;with a single search.&lt;/p&gt;
&lt;p&gt;Just enter search terms,&amp;nbsp;check or uncheck&amp;nbsp;sources to search,&amp;nbsp;and press the search button.&amp;nbsp;&lt;a href="http://shockme.aras.com/noj910/client/customer/SearchAll3.aspx"&gt;Click here to Search All&lt;/a&gt;&amp;nbsp;&lt;span style="background: SpringGreen;"&gt;Search&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;results&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;are&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;now&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;in&lt;/span&gt;&amp;nbsp;&lt;span style="background: SpringGreen;"&gt;an&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;html&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;table&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;instead&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;of&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;an&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;active&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;control&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;.&lt;/span&gt;&lt;/p&gt;</description></item><item><title>Search All KnowledgeBase</title><link>http://www.aras.com/Community/wikis/kb/search-all-knowledgebase/revision/4.aspx</link><pubDate>Mon, 15 Mar 2010 19:26:25 GMT</pubDate><guid isPermaLink="false">197d54df-59b2-4bdb-87c5-e951a5aa0c96:103</guid><dc:creator>Jon Hodge</dc:creator><description>Revision 4 posted to Aras Innovator KnowledgeBase by Jon Hodge on 3/15/2010 3:26:25 PM&lt;br /&gt;
&lt;h2&gt;Search All KnowledgeBase&lt;/h2&gt;
&lt;p&gt;Search Community Posts and &amp;nbsp;Wikis, Downloadable&amp;nbsp; and Online Documentation and KB.MyInnovator.com, all &amp;nbsp;with a single search.&lt;/p&gt;
&lt;p&gt;Just enter search terms&lt;span style="background: SpringGreen;"&gt;,&lt;/span&gt;&amp;nbsp;&lt;span style="background: SpringGreen;"&gt;check&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;or&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;uncheck&lt;/span&gt;&amp;nbsp;&lt;span style="background: SpringGreen;"&gt;sources&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;to&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;search&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;,&lt;/span&gt;&amp;nbsp;and press the search button. &lt;a href="http://shockme.aras.com/noj910/client/customer/SearchAll1.aspx"&gt;Click here to Search All&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Search All KnowledgeBase</title><link>http://www.aras.com/Community/wikis/kb/search-all-knowledgebase/revision/3.aspx</link><pubDate>Mon, 15 Mar 2010 19:23:48 GMT</pubDate><guid isPermaLink="false">197d54df-59b2-4bdb-87c5-e951a5aa0c96:99</guid><dc:creator>Jon Hodge</dc:creator><description>Revision 3 posted to Aras Innovator KnowledgeBase by Jon Hodge on 3/15/2010 3:23:48 PM&lt;br /&gt;
&lt;h2&gt;Search All KnowledgeBase&lt;/h2&gt;
&lt;p&gt;&lt;a href="http://shockme.aras.com/noj910/client/customer/SearchAll1.aspx"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;Here&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;you&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;can&lt;/span&gt; &lt;p&gt;&lt;span style="background: SpringGreen;"&gt;Search&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;Community&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;Posts&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;and&lt;/span&gt; &amp;nbsp;&lt;span style="background: SpringGreen;"&gt;Wikis&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;,&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;Downloadable&lt;/span&gt;&amp;nbsp; &lt;span style="background: SpringGreen;"&gt;and&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;Online&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;Documentation&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;and&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;KB.MyInnovator.com&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;,&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;all&lt;/span&gt; &amp;nbsp;&lt;span style="background: SpringGreen;"&gt;with&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;a&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;single&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;search&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="background: SpringGreen;"&gt;Just&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;enter&lt;/span&gt; search &lt;span style="background: SpringGreen;"&gt;terms&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;and&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;press&lt;/span&gt; the &lt;span style="text-decoration: line-through; color: red;"&gt;entire&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;Innovator&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;KnowlegeBase&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;search&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;button&lt;/span&gt;. &lt;a href="http://shockme.aras.com/noj910/client/customer/SearchAll1.aspx"&gt;&lt;span style="background: SpringGreen;"&gt;Click&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;here&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;to&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;Search&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;All&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Search All KnowledgeBase</title><link>http://www.aras.com/Community/wikis/kb/search-all-knowledgebase/revision/2.aspx</link><pubDate>Mon, 15 Mar 2010 19:08:45 GMT</pubDate><guid isPermaLink="false">197d54df-59b2-4bdb-87c5-e951a5aa0c96:98</guid><dc:creator>Jon Hodge</dc:creator><description>Revision 2 posted to Aras Innovator KnowledgeBase by Jon Hodge on 3/15/2010 3:08:45 PM&lt;br /&gt;
&lt;h2&gt;Search All KnowledgeBase&lt;/h2&gt;
&lt;p&gt;&lt;a href="http://shockme.aras.com/noj910/client/customer/SearchAll1.aspx"&gt;Here you can search the entire Innovator KnowlegeBase.&lt;/p&gt;
&lt;p&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;iframe&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;src=&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;quot;http://shockme.aras.com/noj910/client/customer/SearchAll1.aspx&amp;quot;&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;style=&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;quot;width:&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;100%&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;;&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;height&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;:&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;80%&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;;&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;scrolling&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;:&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;no&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;;&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;quot;&amp;gt;&amp;lt;/iframe&amp;gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Search All KnowledgeBase</title><link>http://www.aras.com/Community/wikis/kb/search-all-knowledgebase/revision/1.aspx</link><pubDate>Mon, 15 Mar 2010 19:06:40 GMT</pubDate><guid isPermaLink="false">197d54df-59b2-4bdb-87c5-e951a5aa0c96:97</guid><dc:creator>Jon Hodge</dc:creator><description>Revision 1 posted to Aras Innovator KnowledgeBase by Jon Hodge on 3/15/2010 3:06:40 PM&lt;br /&gt;
&lt;p&gt;Here you can search the entire Innovator KnowlegeBase.&lt;/p&gt;
&lt;p&gt;&amp;lt;iframe src=&amp;quot;http://shockme.aras.com/noj910/client/customer/SearchAll1.aspx&amp;quot; style=&amp;quot;width: 100%; height: 80%; scrolling: no;&amp;quot;&amp;gt;&amp;lt;/iframe&amp;gt;&lt;/p&gt;</description></item><item><title>Generating IDs</title><link>http://www.aras.com/Community/wikis/kb/generating-ids/revision/0.aspx</link><pubDate>Fri, 23 Apr 2010 16:01:07 GMT</pubDate><guid isPermaLink="false">197d54df-59b2-4bdb-87c5-e951a5aa0c96:143</guid><dc:creator>Rob McAveney</dc:creator><description>Current revision posted to Aras Innovator KnowledgeBase by Rob McAveney on 4/23/2010 12:01:07 PM&lt;br /&gt;
&lt;p&gt;Sometimes it is necessary to generate a set of ids for new items to be imported.&amp;nbsp; One way to do this is with the &amp;quot;nash&amp;quot; tool, located at http://{server}/{application}/Client/scripts/nash.aspx (e.g. http://localhost/InnovatorServer/Client/scripts/nash.aspx).&lt;/p&gt;
&lt;p&gt;&lt;a href="/Community/cfs-file.ashx/__key/CommunityServer.Wikis.Components.Files/kb/1374.IDs.png"&gt;&lt;img src="/Community/resized-image.ashx/__size/550x0/__key/CommunityServer.Wikis.Components.Files/kb/1374.IDs.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;1) Set the User, Password and Database fields and click the Login button.&lt;br /&gt;2) Set the Action field to &lt;i&gt;generateNewGUIDEx&lt;/i&gt; and the XML field to &amp;lt;Item quantity=&amp;quot;x&amp;quot;/&amp;gt;, where x is the number of ids to generate.&lt;br /&gt;3) Click the Submit button.&amp;nbsp; You should get a semicolon-delimited list of ids in the response.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description></item><item><title>Filtered Item Browser</title><link>http://www.aras.com/Community/wikis/kb/filtered-item-browser/revision/0.aspx</link><pubDate>Fri, 28 Aug 2009 06:04:33 GMT</pubDate><guid isPermaLink="false">197d54df-59b2-4bdb-87c5-e951a5aa0c96:139</guid><dc:creator>Brian Pye</dc:creator><description>Current revision posted to Aras Innovator KnowledgeBase by Brian Pye on 8/28/2009 2:04:33 AM&lt;br /&gt;
&lt;p&gt;I recently came across a situation where I wanted to be able to restrict the Items that a user could select from when creating a relationship in an Item form.&lt;/p&gt;
&lt;p&gt;This, it turns out, has a name. It is a Filtered Item Browser and this is one way of implementing one.&lt;/p&gt;
&lt;p&gt;Scenario: I am trying to capture File Distribution information for electronic files sent out of the company. I would like to be able to see, from the Document Item Form that this Document has Files that have been distributed and want to be able to distribute Files without having to unlock the Document or File to do so.&lt;/p&gt;
&lt;p&gt;Since a Document can have multiple Files related to it I can&amp;#39;t just create a simple relationship between&amp;nbsp;a Document Distribution Item and a Document. This wouldn&amp;#39;t tell me what Files had been sent out.&lt;/p&gt;
&lt;p&gt;So I created:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;New Item Type = Document Distribution.&lt;/li&gt;
&lt;li&gt;Relationship Item type = Distribution Document 
&lt;ul&gt;
&lt;li&gt;Source = Document Distribution&lt;/li&gt;
&lt;li&gt;Related = Document&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Relationship Item Type = File Distribution 
&lt;ul&gt;
&lt;li&gt;Source = Document Distribution&lt;/li&gt;
&lt;li&gt;Related = File&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The intention is for the user to enter the general distribution information (reason, company etc) then&amp;nbsp;create a number of Distriubtion Document relationships tying the Documents which hold the Files to the Document Distribution record. The user then creates a number of File Distriubtion relationships where they are limited to selecting files that are related to the Documents already listed on the first tab.&lt;/p&gt;
&lt;p&gt;In order to implement the Filtered Item Browser we need to react to the user trying to create a new Relationship on the File Distribution Tab.&lt;/p&gt;
&lt;p&gt;We do this by using the onSearchGrid event triggered from the &amp;quot;related_id&amp;quot; property of the &amp;quot;File Distribution&amp;quot; Item Type.&lt;/p&gt;
&lt;p&gt;&lt;a href="/Community/cfs-file.ashx/__key/CommunityServer.Wikis.Components.Files/kb/4062.onSearchGrid_5F00_1.jpg"&gt;&lt;img border="0" src="/Community/resized-image.ashx/__size/550x0/__key/CommunityServer.Wikis.Components.Files/kb/4062.onSearchGrid_5F00_1.jpg" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Right click on the &amp;quot;related_id&amp;quot; property and then click &amp;quot;view properties&amp;quot; to bring up the Property Dialog.&lt;/p&gt;
&lt;p&gt;&lt;a href="/Community/cfs-file.ashx/__key/CommunityServer.Wikis.Components.Files/kb/5468.onSearchGrid_5F00_2.jpg"&gt;&lt;img border="0" src="/Community/resized-image.ashx/__size/550x0/__key/CommunityServer.Wikis.Components.Files/kb/5468.onSearchGrid_5F00_2.jpg" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;Select the onSearchDialog event and connect a method to this.&lt;/p&gt;
&lt;p&gt;Save all of these changes and then we can write the method detail.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;The problem that we face is that we are in one part of the User Interface and can&amp;#39;t easily work out what information is in another part of the User Interface. It is possible to navigate through the UI &amp;quot;document.frames&amp;quot; structure and find the grid that belongs to the tab that holds the list of Distribution Document relationships. However, this is not all that safe as the &amp;quot;document.frames&amp;quot; structure can change as a result of user interaction which may mean that you are not looking where you think you are.&lt;/p&gt;
&lt;p&gt;It is better to use the underlying &amp;quot;ItemContext&amp;quot; which is an XMLElement that represents the main item concerned with the opened&amp;nbsp;tear off window&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;var myInnovator = this.NewInnovator();&lt;/span&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; // we need this later to create Innovator Items.&lt;/p&gt;
&lt;div&gt;&lt;/div&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;var itm = inArgs.itemContext;&lt;/span&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; // get the ItemContext from the inArgs parameter passed into the onSearchGrid method.&lt;/p&gt;
&lt;p&gt;Retrieve all of the relationships from the other Tab that you are interested in. In this case we want all of the &amp;quot;Distribution Document&amp;quot; relationships. &lt;/p&gt;
&lt;p class="MsoNormal"&gt;
&lt;div class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;var distDocs = itm.selectNodes(&amp;quot;Relationships/Item[@type=&amp;#39;Distribution Document&amp;#39;]&amp;quot;); &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="color:blue;"&gt;
&lt;p&gt;var idList = new Array();&amp;nbsp;&lt;/p&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; // array to collect the File ids that we eventually want to limit the user to selecting from&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;var amlString = &amp;quot;&amp;quot;;&lt;/span&gt;&lt;/span&gt;&amp;nbsp; // variable to build an AML string for retrieving additional data from the server.&lt;/p&gt;
&lt;p&gt;&lt;i&gt;// loop through all of the Distribution Documents (listed Relationships in &lt;/i&gt;&lt;/p&gt;
&lt;p&gt;&lt;i&gt;// Distribution Document tab) and retrieve the related_id.&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;&lt;i&gt;// Once we have the related_id we can build the AML to retrieve the &lt;/i&gt;&lt;/p&gt;
&lt;p&gt;&lt;i&gt;// Document and finally the File that we want to offer to the user.&lt;/i&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;
&lt;div class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;for (var i=0; i&amp;lt;distDocs.length; i++)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="color:blue;"&gt;
&lt;p&gt;{&lt;/p&gt;
&lt;p&gt;&amp;nbsp; var relatedId = top.aras.getItemProperty(distDocs[i], &amp;quot;related_id&amp;quot;);&lt;/p&gt;
&lt;p&gt;&amp;nbsp; if (relatedId)&lt;/p&gt;
&lt;p&gt;&amp;nbsp; {&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; amlString = &amp;quot;&amp;lt;Item type=&amp;#39;Document&amp;#39; action=&amp;#39;get&amp;#39; id=&amp;#39;&amp;quot; + relatedId + &amp;quot;&amp;#39;&amp;gt;&amp;quot;;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; amlString += &amp;quot;&amp;lt;Relationships&amp;gt;&amp;lt;Item type=&amp;#39;Document File&amp;#39; action=&amp;#39;get&amp;#39;&amp;gt;&amp;lt;/Item&amp;gt;&amp;lt;/Relationships&amp;gt;&amp;lt;/Item&amp;gt;&amp;quot;;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;i&gt;// Retrieve the File items related to this Document from the Server.&lt;/i&gt;&lt;/p&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;i&gt;// There is probably a more efficient way of doing this since I am &lt;/i&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;i&gt;// querying the server once for each document.&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;i&gt;// Can&amp;#39;t just concatenate the AML as it gives a &amp;quot;The instance doesn&amp;#39;t represent a single item&amp;quot;&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;i&gt;// exception if you do that.&lt;/i&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;var distDoc = myInnovator.NewItem();&lt;/span&gt;&lt;/span&gt;&amp;nbsp; // create a temporary item to retrieve the Documents &amp;amp; related files from the server&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;distDoc.loadAML(amlString);&lt;/span&gt;&lt;/span&gt;&amp;nbsp; // load the AML into the new item.&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;var returnItem = distDoc.apply();&lt;/span&gt;&lt;/span&gt;&amp;nbsp; // retrieve the data from the server.&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;if (returnItem.isError)&lt;/span&gt;&lt;/span&gt;&amp;nbsp; // test if the AML retrieved a valid result&lt;/p&gt;
&lt;p class="MsoNormal"&gt;
&lt;div class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;{&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="color:blue;"&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; alert(returnItem);&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;b&gt;return&lt;/b&gt; returnItem;&amp;nbsp; // exit if it fails.&lt;/p&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;
&lt;div class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="color:blue;"&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;b&gt;var&lt;/b&gt; files = returnItem.getItemsByXPath(&amp;quot;//Item[@type=&amp;#39;File&amp;#39;]&amp;quot;);&amp;nbsp; // get the File items that we want to limit the user to selecting from.&lt;/p&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;
&lt;div class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;var numFiles = files.getItemCount();&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="color:blue;"&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (j = 0; j &amp;lt; files.getItemCount(); j++)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var fileId = files.getItemByIndex(j).getProperty(&amp;quot;id&amp;quot;);&amp;nbsp; // get the id of the File.&lt;/p&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;
&lt;div class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;if (fileId)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="color:blue;"&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; idList.push(fileId);&amp;nbsp; // put this in the array&lt;/p&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;
&lt;div class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;}&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="color:blue;"&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/p&gt;
&lt;/span&gt;&lt;/span&gt;;&amp;nbsp; &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;// &lt;/strong&gt;for as many &amp;quot;Documents&amp;quot; as are listed in the Distribution Document tab.&lt;/p&gt;
&lt;p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;We now have an array with all of the File id&amp;#39;s for Files related to the Documents listed in the Distribution Document tab.&lt;/p&gt;
&lt;p&gt;Put these into comma separated list ensuring that it is not empty should there not be any files.&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;var idListStr = (idList.length&amp;gt;0 ? idList.join(&amp;quot;,&amp;quot;) : &amp;quot;this_string_should_not_be_empty&amp;quot;); &lt;/span&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;i&gt;// Using setAttribute(&amp;quot;idlist&amp;quot;, list) causes the Search Dialog to perform an immediate search&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;&lt;i&gt;// and also allows you to specify a number of ids to be returned.&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;&lt;i&gt;// The &amp;quot;list&amp;quot; string should not be empty.&lt;/i&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;inArgs.QryItem.item.setAttribute(&amp;quot;idlist&amp;quot;, idListStr);&lt;/span&gt;&lt;/span&gt; &lt;i&gt;//To display necessary items only.&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;That&amp;#39;s it.&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;
&lt;/p&gt;</description></item><item><title>CAD Integration Q&amp;A with Dr. Maier</title><link>http://www.aras.com/Community/wikis/kb/cad-integration-q-amp-a-with-dr-maier/revision/0.aspx</link><pubDate>Thu, 27 Aug 2009 17:52:04 GMT</pubDate><guid isPermaLink="false">197d54df-59b2-4bdb-87c5-e951a5aa0c96:138</guid><dc:creator>Peter Schroer</dc:creator><description>Current revision posted to Aras Innovator KnowledgeBase by Peter Schroer on 8/27/2009 1:52:04 PM&lt;br /&gt;
&lt;h2&gt;CAD Integration Q&amp;amp;A with Dr. Maier&lt;/h2&gt;
&lt;div style="font-size: 90%;"&gt;Filed under: &lt;span style="text-decoration: line-through; color: red;"&gt;CAD&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;Integration&lt;/span&gt;&lt;/div&gt;

&lt;p&gt;Q&amp;amp;A Session with Dr. Helmut Maier,&amp;nbsp; founder of&amp;nbsp; Dr. MaierCSS,&amp;nbsp; CAD Integration specialists &lt;span style="text-decoration: line-through; color: red;"&gt;.&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;in&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;Stutensee&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;Germany&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;a href="http://www.maiercss.de"&gt;www.maiercss.de&lt;/a&gt;&lt;/p&gt;
&lt;p align="left"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;dir&amp;gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p align="left"&gt;&lt;strong&gt;&lt;span style="background: SpringGreen;"&gt;Why&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;use&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;a&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;CAD-PLM&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;connector&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;?&lt;/span&gt;&lt;/strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/p&gt;
&lt;p align="left"&gt;1.&amp;nbsp; What types of CAD information are important to have and manage in my PLM system? &lt;/p&gt;
&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;/dir&amp;gt;&lt;/span&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;font-family:Courier New,Courier New;"&gt;&lt;span style="font-size:x-small;font-family:Courier New,Courier New;"&gt;&lt;font size="2" face="Courier New,Courier New"&gt;&lt;font size="2" face="Courier New,Courier New"&gt;
&lt;p&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;o&lt;/span&gt; &lt;/p&gt;
&lt;p align="left" style="padding-left:30px;"&gt;3D models of parts and assemblies, 2D drawings with PLM controlled header informations&lt;span style="text-decoration: line-through; color: red;"&gt;,&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;span style="font-size:x-small;font-family:Courier New,Courier New;"&gt;&lt;span style="font-size:x-small;font-family:Courier New,Courier New;"&gt;&lt;font size="2" face="Courier New,Courier New"&gt;&lt;font size="2" face="Courier New,Courier New"&gt;
&lt;p&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;o&lt;/span&gt; &lt;/p&gt;
&lt;p align="left" style="padding-left:30px;"&gt;Management of design structure with native CAD data&lt;span style="text-decoration: line-through; color: red;"&gt;,&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;span style="font-size:x-small;font-family:Courier New,Courier New;"&gt;&lt;span style="font-size:x-small;font-family:Courier New,Courier New;"&gt;&lt;font size="2" face="Courier New,Courier New"&gt;&lt;font size="2" face="Courier New,Courier New"&gt;
&lt;p&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;o&lt;/span&gt; &lt;/p&gt;
&lt;p align="left" style="padding-left:30px;"&gt;Generic CAD models with configuration and variants&lt;span style="text-decoration: line-through; color: red;"&gt;,&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;span style="font-size:x-small;font-family:Courier New,Courier New;"&gt;&lt;span style="font-size:x-small;font-family:Courier New,Courier New;"&gt;&lt;font size="2" face="Courier New,Courier New"&gt;&lt;font size="2" face="Courier New,Courier New"&gt;
&lt;p&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;o&lt;/span&gt; &lt;/p&gt;
&lt;p align="left" style="padding-left:30px;"&gt;Simplified models such as for exchange with customers or suppliers&lt;span style="text-decoration: line-through; color: red;"&gt;,&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;span style="font-size:x-small;font-family:Courier New,Courier New;"&gt;&lt;span style="font-size:x-small;font-family:Courier New,Courier New;"&gt;&lt;font size="2" face="Courier New,Courier New"&gt;&lt;font size="2" face="Courier New,Courier New"&gt;
&lt;p&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;o&lt;/span&gt; &lt;/p&gt;
&lt;p align="left" style="padding-left:30px;"&gt;Revisions of 2D CAD objects and design structure for design histrorie and traceability&lt;span style="text-decoration: line-through; color: red;"&gt;,&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;span style="font-size:x-small;font-family:Courier New,Courier New;"&gt;&lt;span style="font-size:x-small;font-family:Courier New,Courier New;"&gt;&lt;font size="2" face="Courier New,Courier New"&gt;&lt;font size="2" face="Courier New,Courier New"&gt;
&lt;p&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;o&lt;/span&gt; &lt;/p&gt;
&lt;p align="left" style="padding-left:30px;"&gt;Management of product structure with items, bom, where used data, classification, engineering change history, documentation, sales and service informations, serial numbers etc. with relations to the design structure. &lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;dir&amp;gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p align="left"&gt;2. What are the various approaches to CAD data integration with a PLM system? &lt;/p&gt;
&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;/dir&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;span style="font-size:x-small;font-family:Courier New,Courier New;"&gt;&lt;span style="font-size:x-small;font-family:Courier New,Courier New;"&gt;&lt;font size="2" face="Courier New,Courier New"&gt;&lt;font size="2" face="Courier New,Courier New"&gt;
&lt;p&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;o&lt;/span&gt; &lt;/p&gt;
&lt;p align="left" style="padding-left:30px;"&gt;Unique identification of CAD models by PLM ident code, description and file name&lt;span style="text-decoration: line-through; color: red;"&gt;,&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;span style="font-size:x-small;font-family:Courier New,Courier New;"&gt;&lt;span style="font-size:x-small;font-family:Courier New,Courier New;"&gt;&lt;font size="2" face="Courier New,Courier New"&gt;&lt;font size="2" face="Courier New,Courier New"&gt;
&lt;p&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;o&lt;/span&gt; &lt;/p&gt;
&lt;p align="left" style="padding-left:30px;"&gt;Management of file links of the design structure&lt;span style="text-decoration: line-through; color: red;"&gt;,&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;span style="font-size:x-small;font-family:Courier New,Courier New;"&gt;&lt;span style="font-size:x-small;font-family:Courier New,Courier New;"&gt;&lt;font size="2" face="Courier New,Courier New"&gt;&lt;font size="2" face="Courier New,Courier New"&gt;
&lt;p&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;o&lt;/span&gt; &lt;/p&gt;
&lt;p align="left" style="padding-left:30px;"&gt;Management of relations between 3D objects, drawings, items and bom&lt;span style="text-decoration: line-through; color: red;"&gt;,&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;span style="font-size:x-small;font-family:Courier New,Courier New;"&gt;&lt;span style="font-size:x-small;font-family:Courier New,Courier New;"&gt;&lt;font size="2" face="Courier New,Courier New"&gt;&lt;font size="2" face="Courier New,Courier New"&gt;
&lt;p&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;o&lt;/span&gt; &lt;/p&gt;
&lt;p align="left" style="padding-left:30px;"&gt;Where-used information in design structure (3D model &lt;span style="text-decoration: line-through; color: red;"&gt;structure)&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;,&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;span style="font-size:x-small;font-family:Courier New,Courier New;"&gt;&lt;span style="font-size:x-small;font-family:Courier New,Courier New;"&gt;&lt;font size="2" face="Courier New,Courier New"&gt;&lt;font size="2" face="Courier New,Courier New"&gt;
&lt;p&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;o&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;structure&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p align="left" style="padding-left:30px;"&gt;Generate and management of neutral, viewable file formats corresponding to revision of native CAD data&lt;span style="text-decoration: line-through; color: red;"&gt;.&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;span style="font-size:x-small;font-family:Courier New,Courier New;"&gt;&lt;span style="font-size:x-small;font-family:Courier New,Courier New;"&gt;&lt;font size="2" face="Courier New,Courier New"&gt;&lt;font size="2" face="Courier New,Courier New"&gt;
&lt;p&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;o&lt;/span&gt; &lt;/p&gt;
&lt;p align="left" style="padding-left:30px;"&gt;Access control to the CAD data (create, delete, write, read, not-visile), protection of intellectual property.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;span style="font-size:x-small;font-family:Courier New,Courier New;"&gt;&lt;span style="font-size:x-small;font-family:Courier New,Courier New;"&gt;&lt;font size="2" face="Courier New,Courier New"&gt;&lt;font size="2" face="Courier New,Courier New"&gt;
&lt;p&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;o&lt;/span&gt; &lt;/p&gt;
&lt;p align="left" style="padding-left:30px;"&gt;Multi-language product data and representations &lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;dir&amp;gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p align="left"&gt;3. Many CAD packages have a local CAD file management system, should this system play a role in my company&amp;rsquo;s implementation? &lt;/p&gt;
&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;/dir&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;span style="font-size:x-small;font-family:Courier New,Courier New;"&gt;&lt;span style="font-size:x-small;font-family:Courier New,Courier New;"&gt;&lt;font size="2" face="Courier New,Courier New"&gt;&lt;font size="2" face="Courier New,Courier New"&gt;
&lt;p&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;o&lt;/span&gt; &lt;/p&gt;
&lt;p align="left" style="padding-left:30px;"&gt;Local file managements systems are CAD proprietary vaults. They are not usable for different CAD systems, if customers have to use several CAD systems (such as an automotive supplier) or even additionally electronic and electrical CAD systems. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;span style="font-size:x-small;font-family:Courier New,Courier New;"&gt;&lt;span style="font-size:x-small;font-family:Courier New,Courier New;"&gt;&lt;font size="2" face="Courier New,Courier New"&gt;&lt;font size="2" face="Courier New,Courier New"&gt;
&lt;p&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;o&lt;/span&gt; &lt;/p&gt;
&lt;p align="left" style="padding-left:30px;"&gt;Local file management systems are CAD oriented, are locally organized and do not support replicated files on distributed sites of a company (usually non-optimal download and upload performance of WANs). &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;span style="font-size:x-small;font-family:Courier New,Courier New;"&gt;&lt;span style="font-size:x-small;font-family:Courier New,Courier New;"&gt;&lt;font size="2" face="Courier New,Courier New"&gt;&lt;font size="2" face="Courier New,Courier New"&gt;
&lt;p&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;o&lt;/span&gt; &lt;/p&gt;
&lt;p align="left" style="padding-left:30px;"&gt;CAD proprietary vaults are not optimized for life cylcle management of other product data such as electronic data, electrical data, written/animated/multi-media documentations, after sales service data etc. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;span style="font-size:x-small;font-family:Courier New,Courier New;"&gt;&lt;span style="font-size:x-small;font-family:Courier New,Courier New;"&gt;&lt;font size="2" face="Courier New,Courier New"&gt;&lt;font size="2" face="Courier New,Courier New"&gt;
&lt;p&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;o&lt;/span&gt; &lt;/p&gt;
&lt;p align="left" style="padding-left:30px;"&gt;Missing API support by the local vault system for hand-over of PLM user access rights, approval and release status, change history. o Missing features for complex engineering change management (such as release an mechatronic assembly existing of items, bom, 3D model, wiring diagram, PCB, fabrication data, documentation, punch or die tools etc). &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;
&lt;p align="left"&gt;&amp;nbsp;&lt;/p&gt;
&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;dir&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p align="left"&gt;4. What are the relative advantages and disadvantages of these approaches?&lt;/p&gt;
&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;/dir&amp;gt;&lt;/span&gt;&lt;span style="font-size:x-small;font-family:Courier New,Courier New;"&gt;&lt;span style="font-size:x-small;font-family:Courier New,Courier New;"&gt;&lt;font size="2" face="Courier New,Courier New"&gt;&lt;font size="2" face="Courier New,Courier New"&gt;
&lt;p&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;o&lt;/span&gt; &lt;/p&gt;
&lt;p align="left" style="padding-left:30px;"&gt;Consistent product data management over the complex product life cycle.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;span style="font-size:x-small;font-family:Courier New,Courier New;"&gt;&lt;span style="font-size:x-small;font-family:Courier New,Courier New;"&gt;&lt;font size="2" face="Courier New,Courier New"&gt;&lt;font size="2" face="Courier New,Courier New"&gt;
&lt;p&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;o&lt;/span&gt; &lt;/p&gt;
&lt;p align="left" style="padding-left:30px;"&gt;Traceability of innovation, engineering and manufacturing data during product life cycles.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;span style="font-size:x-small;font-family:Courier New,Courier New;"&gt;&lt;span style="font-size:x-small;font-family:Courier New,Courier New;"&gt;&lt;font size="2" face="Courier New,Courier New"&gt;&lt;font size="2" face="Courier New,Courier New"&gt;
&lt;p&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;o&lt;/span&gt; &lt;/p&gt;
&lt;p align="left" style="padding-left:30px;"&gt;Support of innovation, engineering and change processes in the extended enterprise (including different sites, customers and suppliers). &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;span style="font-size:x-small;font-family:Courier New,Courier New;"&gt;&lt;span style="font-size:x-small;font-family:Courier New,Courier New;"&gt;&lt;font size="2" face="Courier New,Courier New"&gt;&lt;font size="2" face="Courier New,Courier New"&gt;
&lt;p&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;o&lt;/span&gt; &lt;/p&gt;
&lt;p align="left" style="padding-left:30px;"&gt;Automation of sequential and parallel processes and information distribution in the extended enterprise. o Additionally graphical visualization and communication over the extended enterprise. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;span style="font-size:x-small;font-family:Courier New,Courier New;"&gt;&lt;span style="font-size:x-small;font-family:Courier New,Courier New;"&gt;&lt;font size="2" face="Courier New,Courier New"&gt;&lt;font size="2" face="Courier New,Courier New"&gt;
&lt;p&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;o&lt;/span&gt; &lt;/p&gt;
&lt;p align="left" style="padding-left:30px;"&gt;Definition: PLM is clear product structures, efficient processes and complex data management over the whole product life cycle. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;span style="font-size:x-small;font-family:Courier New,Courier New;"&gt;&lt;span style="font-size:x-small;font-family:Courier New,Courier New;"&gt;&lt;font size="2" face="Courier New,Courier New"&gt;&lt;font size="2" face="Courier New,Courier New"&gt;
&lt;p&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;o&lt;/span&gt; &lt;/p&gt;
&lt;p align="left" style="padding-left:30px;"&gt;Big advantage: shorter time to market (to profit)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;span style="font-size:x-small;font-family:Courier New,Courier New;"&gt;&lt;span style="font-size:x-small;font-family:Courier New,Courier New;"&gt;&lt;font size="2" face="Courier New,Courier New"&gt;&lt;font size="2" face="Courier New,Courier New"&gt;
&lt;p&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;o&lt;/span&gt; &lt;/p&gt;
&lt;p align="left" style="padding-left:30px;"&gt;Disadvantage: Product structures and processes have to be defined or should be optimized step by step when introducing PLM &lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;dir&amp;gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p align="left"&gt;5. How can I tell which approach is right for my company? &lt;/p&gt;
&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;/dir&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;span style="font-size:x-small;font-family:Courier New,Courier New;"&gt;&lt;span style="font-size:x-small;font-family:Courier New,Courier New;"&gt;&lt;font size="2" face="Courier New,Courier New"&gt;&lt;font size="2" face="Courier New,Courier New"&gt;
&lt;p&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;o&lt;/span&gt; &lt;/p&gt;
&lt;p align="left" style="padding-left:30px;"&gt;Integration of authoring systems of engineering, quality assurance and documentation to PLM could be the first step followed by integrated business and change process and project management. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;span style="font-size:x-small;font-family:Courier New,Courier New;"&gt;&lt;span style="font-size:x-small;font-family:Courier New,Courier New;"&gt;&lt;font size="2" face="Courier New,Courier New"&gt;&lt;font size="2" face="Courier New,Courier New"&gt;
&lt;p&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;o&lt;/span&gt; &lt;/p&gt;
&lt;p align="left" style="padding-left:30px;"&gt;PLM manages the enterprise product record which includes all the product information and controls workflows required by the extended enterprise to conceptualize, design, source, build, sell, service &amp;amp; dispose of innovative products. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;span style="font-size:x-small;font-family:Courier New,Courier New;"&gt;&lt;span style="font-size:x-small;font-family:Courier New,Courier New;"&gt;&lt;font size="2" face="Courier New,Courier New"&gt;&lt;font size="2" face="Courier New,Courier New"&gt;
&lt;p&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;o&lt;/span&gt; &lt;/p&gt;
&lt;p align="left" style="padding-left:30px;"&gt;Product data and design structures as well as innovation and change processes of the company are managed by PLM. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;span style="font-size:x-small;font-family:Courier New,Courier New;"&gt;&lt;span style="font-size:x-small;font-family:Courier New,Courier New;"&gt;&lt;font size="2" face="Courier New,Courier New"&gt;&lt;font size="2" face="Courier New,Courier New"&gt;
&lt;p&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;o&lt;/span&gt; &lt;/p&gt;
&lt;p align="left" style="padding-left:30px;"&gt;PLM enables the critical cross-functional, multi-enterprise business processes which drive improved product profitability. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;span style="font-size:x-small;font-family:Courier New,Courier New;"&gt;&lt;span style="font-size:x-small;font-family:Courier New,Courier New;"&gt;&lt;font size="2" face="Courier New,Courier New"&gt;&lt;font size="2" face="Courier New,Courier New"&gt;
&lt;p&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;o&lt;/span&gt; &lt;/p&gt;
&lt;p align="left" style="padding-left:30px;"&gt;PLM grants the cross functional management, coordination and optimization of the information, processes and decisions about products, throughout the product lifecycle and across the extended enterprise. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;span style="font-size:x-small;font-family:Courier New,Courier New;"&gt;&lt;span style="font-size:x-small;font-family:Courier New,Courier New;"&gt;&lt;font size="2" face="Courier New,Courier New"&gt;&lt;font size="2" face="Courier New,Courier New"&gt;
&lt;p&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;o&lt;/span&gt; &lt;/p&gt;
&lt;p align="left" style="padding-left:30px;"&gt;Product innovation &amp;amp; engineering excellence today, complicated by growing outsourcing, globalization, and compliance requirements, require early lifecycle focus on the business requirements as well as the technical requirements of new products. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;span style="font-size:x-small;font-family:Courier New,Courier New;"&gt;&lt;span style="font-size:x-small;font-family:Courier New,Courier New;"&gt;&lt;font size="2" face="Courier New,Courier New"&gt;&lt;font size="2" face="Courier New,Courier New"&gt;
&lt;p&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;o&lt;/span&gt; &lt;/p&gt;
&lt;p align="left" style="padding-left:30px;"&gt;Profitable innovation of mechatronic product solutions are achieved by PLM supporting concurrent engineering, manufacturing and quality assurance and optimizing the product innovation cycle by promoting reuse and management of technical product information (form, fit, function) and decisions within engineering, logistics, manufacturing, sales and service.&lt;/p&gt;
&lt;p align="left"&gt;&lt;span style="background: SpringGreen;"&gt;Dr&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;.&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;Helmut&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;Maier&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;can&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;be&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;reached&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;at&lt;/span&gt;&amp;nbsp;&amp;nbsp; &lt;a href="http://www.maiercss.de"&gt;&lt;span style="background: SpringGreen;"&gt;www.maiercss.de&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;</description></item><item><title>CAD Integration Q&amp;A with Dr. Maier</title><link>http://www.aras.com/Community/wikis/kb/cad-integration-q-amp-a-with-dr-maier/revision/1.aspx</link><pubDate>Thu, 27 Aug 2009 17:04:36 GMT</pubDate><guid isPermaLink="false">197d54df-59b2-4bdb-87c5-e951a5aa0c96:94</guid><dc:creator>Peter Schroer</dc:creator><description>Revision 1 posted to Aras Innovator KnowledgeBase by Peter Schroer on 8/27/2009 1:04:36 PM&lt;br /&gt;
&lt;p&gt;Q&amp;amp;A Session with Dr. Helmut Maier,&amp;nbsp; founder of&amp;nbsp; Dr. MaierCSS,&amp;nbsp; CAD Integration specialists.&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;a href="http://www.maiercss.de"&gt;www.maiercss.de&lt;/a&gt;&lt;/p&gt;
&lt;p align="left"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&amp;lt;dir&amp;gt;&lt;span style="font-size:x-small;"&gt;
&lt;p&gt;1. What types of CAD information are important to have and manage in my PLM system? &lt;/p&gt;
&lt;/span&gt;&amp;lt;/dir&amp;gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;font-family:Courier New,Courier New;"&gt;&lt;span style="font-size:x-small;font-family:Courier New,Courier New;"&gt;&lt;font size="2" face="Courier New,Courier New"&gt;&lt;font size="2" face="Courier New,Courier New"&gt;
&lt;p&gt;o &lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font size="2" face="Courier New,Courier New"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-family:Times New Roman;"&gt;3D models of parts and assemblies, 2D drawings with PLM controlled header informations, &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;span style="font-size:x-small;font-family:Courier New,Courier New;"&gt;&lt;span style="font-size:x-small;font-family:Courier New,Courier New;"&gt;&lt;font size="2" face="Courier New,Courier New"&gt;&lt;font size="2" face="Courier New,Courier New"&gt;
&lt;p&gt;o &lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font size="2" face="Courier New,Courier New"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-family:Times New Roman;"&gt;Management of design structure with native CAD data, &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;span style="font-size:x-small;font-family:Courier New,Courier New;"&gt;&lt;span style="font-size:x-small;font-family:Courier New,Courier New;"&gt;&lt;font size="2" face="Courier New,Courier New"&gt;&lt;font size="2" face="Courier New,Courier New"&gt;
&lt;p&gt;o &lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font size="2" face="Courier New,Courier New"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-family:Times New Roman;"&gt;Generic CAD models with configuration and variants, &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;span style="font-size:x-small;font-family:Courier New,Courier New;"&gt;&lt;span style="font-size:x-small;font-family:Courier New,Courier New;"&gt;&lt;font size="2" face="Courier New,Courier New"&gt;&lt;font size="2" face="Courier New,Courier New"&gt;
&lt;p&gt;o &lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font size="2" face="Courier New,Courier New"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-family:Times New Roman;"&gt;Simplified models such as for exchange with customers or suppliers, &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;span style="font-size:x-small;font-family:Courier New,Courier New;"&gt;&lt;span style="font-size:x-small;font-family:Courier New,Courier New;"&gt;&lt;font size="2" face="Courier New,Courier New"&gt;&lt;font size="2" face="Courier New,Courier New"&gt;
&lt;p&gt;o &lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font size="2" face="Courier New,Courier New"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-family:Times New Roman;"&gt;Revisions of 2D CAD objects and design structure for design histrorie and traceability, &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;span style="font-size:x-small;font-family:Courier New,Courier New;"&gt;&lt;span style="font-size:x-small;font-family:Courier New,Courier New;"&gt;&lt;font size="2" face="Courier New,Courier New"&gt;&lt;font size="2" face="Courier New,Courier New"&gt;
&lt;p&gt;o &lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font size="2" face="Courier New,Courier New"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-family:Times New Roman;"&gt;Management of product structure with items, bom, where used data, classification, engineering change history, documentation, sales and service informations, serial numbers etc. with relations to the design structure. &lt;/span&gt;&amp;lt;dir&amp;gt;
&lt;p&gt;2. What are the various approaches to CAD data integration with a PLM system? &lt;/p&gt;
&amp;lt;/dir&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;span style="font-size:x-small;font-family:Courier New,Courier New;"&gt;&lt;span style="font-size:x-small;font-family:Courier New,Courier New;"&gt;&lt;font size="2" face="Courier New,Courier New"&gt;&lt;font size="2" face="Courier New,Courier New"&gt;
&lt;p&gt;o &lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font size="2" face="Courier New,Courier New"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-family:Times New Roman;"&gt;Unique identification of CAD models by PLM ident code, description and file name, &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;span style="font-size:x-small;font-family:Courier New,Courier New;"&gt;&lt;span style="font-size:x-small;font-family:Courier New,Courier New;"&gt;&lt;font size="2" face="Courier New,Courier New"&gt;&lt;font size="2" face="Courier New,Courier New"&gt;
&lt;p&gt;o &lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font size="2" face="Courier New,Courier New"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-family:Times New Roman;"&gt;Management of file links of the design structure, &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;span style="font-size:x-small;font-family:Courier New,Courier New;"&gt;&lt;span style="font-size:x-small;font-family:Courier New,Courier New;"&gt;&lt;font size="2" face="Courier New,Courier New"&gt;&lt;font size="2" face="Courier New,Courier New"&gt;
&lt;p&gt;o &lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font size="2" face="Courier New,Courier New"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-family:Times New Roman;"&gt;Management of relations between 3D objects, drawings, items and bom, &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;span style="font-size:x-small;font-family:Courier New,Courier New;"&gt;&lt;span style="font-size:x-small;font-family:Courier New,Courier New;"&gt;&lt;font size="2" face="Courier New,Courier New"&gt;&lt;font size="2" face="Courier New,Courier New"&gt;
&lt;p&gt;o &lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font size="2" face="Courier New,Courier New"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-family:Times New Roman;"&gt;Where-used information in design structure (3D model structure), &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;span style="font-size:x-small;font-family:Courier New,Courier New;"&gt;&lt;span style="font-size:x-small;font-family:Courier New,Courier New;"&gt;&lt;font size="2" face="Courier New,Courier New"&gt;&lt;font size="2" face="Courier New,Courier New"&gt;
&lt;p&gt;o &lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font size="2" face="Courier New,Courier New"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-family:Times New Roman;"&gt;Generate and management of neutral, viewable file formats corresponding to revision of native CAD data. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;span style="font-size:x-small;font-family:Courier New,Courier New;"&gt;&lt;span style="font-size:x-small;font-family:Courier New,Courier New;"&gt;&lt;font size="2" face="Courier New,Courier New"&gt;&lt;font size="2" face="Courier New,Courier New"&gt;
&lt;p&gt;o &lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font size="2" face="Courier New,Courier New"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-family:Times New Roman;"&gt;Access control to the CAD data (create, delete, write, read, not-visile), protection of intellectual property. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;span style="font-size:x-small;font-family:Courier New,Courier New;"&gt;&lt;span style="font-size:x-small;font-family:Courier New,Courier New;"&gt;&lt;font size="2" face="Courier New,Courier New"&gt;&lt;font size="2" face="Courier New,Courier New"&gt;
&lt;p&gt;o &lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font size="2" face="Courier New,Courier New"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-family:Times New Roman;"&gt;Multi-language product data and representations &lt;/span&gt;&amp;lt;dir&amp;gt;
&lt;p&gt;3. Many CAD packages have a local CAD file management system, should this system play a role in my company&amp;rsquo;s implementation? &lt;/p&gt;
&amp;lt;/dir&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;span style="font-size:x-small;font-family:Courier New,Courier New;"&gt;&lt;span style="font-size:x-small;font-family:Courier New,Courier New;"&gt;&lt;font size="2" face="Courier New,Courier New"&gt;&lt;font size="2" face="Courier New,Courier New"&gt;
&lt;p&gt;o &lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font size="2" face="Courier New,Courier New"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-family:Times New Roman;"&gt;Local file managements systems are CAD proprietary vaults. They are not usable for different CAD systems, if customers have to use several CAD systems (such as an automotive supplier) or even additionally electronic and electrical CAD systems. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;span style="font-size:x-small;font-family:Courier New,Courier New;"&gt;&lt;span style="font-size:x-small;font-family:Courier New,Courier New;"&gt;&lt;font size="2" face="Courier New,Courier New"&gt;&lt;font size="2" face="Courier New,Courier New"&gt;
&lt;p&gt;o &lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font size="2" face="Courier New,Courier New"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-family:Times New Roman;"&gt;Local file management systems are CAD oriented, are locally organized and do not support replicated files on distributed sites of a company (usually non-optimal download and upload performance of WANs). &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;span style="font-size:x-small;font-family:Courier New,Courier New;"&gt;&lt;span style="font-size:x-small;font-family:Courier New,Courier New;"&gt;&lt;font size="2" face="Courier New,Courier New"&gt;&lt;font size="2" face="Courier New,Courier New"&gt;
&lt;p&gt;o &lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font size="2" face="Courier New,Courier New"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-family:Times New Roman;"&gt;CAD proprietary vaults are not optimized for life cylcle management of other product data such as electronic data, electrical data, written/animated/multi-media documentations, after sales service data etc. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;span style="font-size:x-small;font-family:Courier New,Courier New;"&gt;&lt;span style="font-size:x-small;font-family:Courier New,Courier New;"&gt;&lt;font size="2" face="Courier New,Courier New"&gt;&lt;font size="2" face="Courier New,Courier New"&gt;
&lt;p&gt;o &lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font size="2" face="Courier New,Courier New"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-family:Times New Roman;"&gt;Missing API support by the local vault system for hand-over of PLM user access rights, approval and release status, change history. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;span style="font-size:x-small;font-family:Courier New,Courier New;"&gt;&lt;span style="font-size:x-small;font-family:Courier New,Courier New;"&gt;&lt;font size="2" face="Courier New,Courier New"&gt;&lt;font size="2" face="Courier New,Courier New"&gt;
&lt;p&gt;o &lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font size="2" face="Courier New,Courier New"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-family:Times New Roman;"&gt;Missing features for complex engineering change management (such as release an mechatronic assembly existing of items, bom, 3D model, wiring diagram, PCB, fabrication data, documentation, punch or die tools etc). &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;
&lt;p align="left"&gt;&amp;nbsp;&lt;/p&gt;
&amp;lt;dir&amp;gt;&lt;span style="font-size:x-small;"&gt;
&lt;p&gt;4. What are the relative advantages and disadvantages of these approaches? &lt;/p&gt;
&lt;/span&gt;&amp;lt;/dir&amp;gt;&lt;span style="font-size:x-small;font-family:Courier New,Courier New;"&gt;&lt;span style="font-size:x-small;font-family:Courier New,Courier New;"&gt;&lt;font size="2" face="Courier New,Courier New"&gt;&lt;font size="2" face="Courier New,Courier New"&gt;
&lt;p&gt;o &lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font size="2" face="Courier New,Courier New"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-family:Times New Roman;"&gt;Consistent product data management over the complex product life cycle. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;span style="font-size:x-small;font-family:Courier New,Courier New;"&gt;&lt;span style="font-size:x-small;font-family:Courier New,Courier New;"&gt;&lt;font size="2" face="Courier New,Courier New"&gt;&lt;font size="2" face="Courier New,Courier New"&gt;
&lt;p&gt;o &lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font size="2" face="Courier New,Courier New"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-family:Times New Roman;"&gt;Traceability of innovation, engineering and manufacturing data during product life cycles. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;span style="font-size:x-small;font-family:Courier New,Courier New;"&gt;&lt;span style="font-size:x-small;font-family:Courier New,Courier New;"&gt;&lt;font size="2" face="Courier New,Courier New"&gt;&lt;font size="2" face="Courier New,Courier New"&gt;
&lt;p&gt;o &lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font size="2" face="Courier New,Courier New"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-family:Times New Roman;"&gt;Support of innovation, engineering and change processes in the extended enterprise (including different sites, customers and suppliers). &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;span style="font-size:x-small;font-family:Courier New,Courier New;"&gt;&lt;span style="font-size:x-small;font-family:Courier New,Courier New;"&gt;&lt;font size="2" face="Courier New,Courier New"&gt;&lt;font size="2" face="Courier New,Courier New"&gt;
&lt;p&gt;o &lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font size="2" face="Courier New,Courier New"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-family:Times New Roman;"&gt;Automation of sequential and parallel processes and information distribution in the extended enterprise. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;span style="font-size:x-small;font-family:Courier New,Courier New;"&gt;&lt;span style="font-size:x-small;font-family:Courier New,Courier New;"&gt;&lt;font size="2" face="Courier New,Courier New"&gt;&lt;font size="2" face="Courier New,Courier New"&gt;
&lt;p&gt;o &lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font size="2" face="Courier New,Courier New"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-family:Times New Roman;"&gt;Additionally graphical visualization and communication over the extended enterprise. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;span style="font-size:x-small;font-family:Courier New,Courier New;"&gt;&lt;span style="font-size:x-small;font-family:Courier New,Courier New;"&gt;&lt;font size="2" face="Courier New,Courier New"&gt;&lt;font size="2" face="Courier New,Courier New"&gt;
&lt;p&gt;o &lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font size="2" face="Courier New,Courier New"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-family:Times New Roman;"&gt;Definition: PLM is clear product structures, efficient processes and complex data management over the whole product life cycle. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;span style="font-size:x-small;font-family:Courier New,Courier New;"&gt;&lt;span style="font-size:x-small;font-family:Courier New,Courier New;"&gt;&lt;font size="2" face="Courier New,Courier New"&gt;&lt;font size="2" face="Courier New,Courier New"&gt;
&lt;p&gt;o &lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font size="2" face="Courier New,Courier New"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-family:Times New Roman;"&gt;Big advantage: shorter time to market (to profit) &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;span style="font-size:x-small;font-family:Courier New,Courier New;"&gt;&lt;span style="font-size:x-small;font-family:Courier New,Courier New;"&gt;&lt;font size="2" face="Courier New,Courier New"&gt;&lt;font size="2" face="Courier New,Courier New"&gt;
&lt;p&gt;o &lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font size="2" face="Courier New,Courier New"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-family:Times New Roman;"&gt;Disadvantage: Product structures and processes have to be defined or should be optimized step by step when introducing PLM &lt;/span&gt;&amp;lt;dir&amp;gt;
&lt;p&gt;5. How can I tell which approach is right for my company? &lt;/p&gt;
&amp;lt;/dir&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;span style="font-size:x-small;font-family:Courier New,Courier New;"&gt;&lt;span style="font-size:x-small;font-family:Courier New,Courier New;"&gt;&lt;font size="2" face="Courier New,Courier New"&gt;&lt;font size="2" face="Courier New,Courier New"&gt;
&lt;p&gt;o &lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font size="2" face="Courier New,Courier New"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-family:Times New Roman;"&gt;Integration of authoring systems of engineering, quality assurance and documentation to PLM could be the first step followed by integrated business and change process and project management. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;span style="font-size:x-small;font-family:Courier New,Courier New;"&gt;&lt;span style="font-size:x-small;font-family:Courier New,Courier New;"&gt;&lt;font size="2" face="Courier New,Courier New"&gt;&lt;font size="2" face="Courier New,Courier New"&gt;
&lt;p&gt;o &lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font size="2" face="Courier New,Courier New"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-family:Times New Roman;"&gt;PLM manages the enterprise product record which includes all the product information and controls workflows required by the extended enterprise to conceptualize, design, source, build, sell, service &amp;amp; dispose of innovative products. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;span style="font-size:x-small;font-family:Courier New,Courier New;"&gt;&lt;span style="font-size:x-small;font-family:Courier New,Courier New;"&gt;&lt;font size="2" face="Courier New,Courier New"&gt;&lt;font size="2" face="Courier New,Courier New"&gt;
&lt;p&gt;o &lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font size="2" face="Courier New,Courier New"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-family:Times New Roman;"&gt;Product data and design structures as well as innovation and change processes of the company are managed by PLM. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;span style="font-size:x-small;font-family:Courier New,Courier New;"&gt;&lt;span style="font-size:x-small;font-family:Courier New,Courier New;"&gt;&lt;font size="2" face="Courier New,Courier New"&gt;&lt;font size="2" face="Courier New,Courier New"&gt;
&lt;p&gt;o &lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font size="2" face="Courier New,Courier New"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-family:Times New Roman;"&gt;PLM enables the critical cross-functional, multi-enterprise business processes which drive improved product profitability. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;span style="font-size:x-small;font-family:Courier New,Courier New;"&gt;&lt;span style="font-size:x-small;font-family:Courier New,Courier New;"&gt;&lt;font size="2" face="Courier New,Courier New"&gt;&lt;font size="2" face="Courier New,Courier New"&gt;
&lt;p&gt;o &lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font size="2" face="Courier New,Courier New"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-family:Times New Roman;"&gt;PLM grants the cross functional management, coordination and optimization of the information, processes and decisions about products, throughout the product lifecycle and across the extended enterprise. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;span style="font-size:x-small;font-family:Courier New,Courier New;"&gt;&lt;span style="font-size:x-small;font-family:Courier New,Courier New;"&gt;&lt;font size="2" face="Courier New,Courier New"&gt;&lt;font size="2" face="Courier New,Courier New"&gt;
&lt;p&gt;o &lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font size="2" face="Courier New,Courier New"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-family:Times New Roman;"&gt;Product innovation &amp;amp; engineering excellence today, complicated by growing outsourcing, globalization, and compliance requirements, require early lifecycle focus on the business requirements as well as the technical requirements of new products. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;span style="font-size:x-small;font-family:Courier New,Courier New;"&gt;&lt;span style="font-size:x-small;font-family:Courier New,Courier New;"&gt;&lt;font size="2" face="Courier New,Courier New"&gt;&lt;font size="2" face="Courier New,Courier New"&gt;
&lt;p&gt;o &lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font size="2" face="Courier New,Courier New"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-family:Times New Roman;"&gt;Profitable innovation of mechatronic product solutions are achieved by PLM supporting concurrent engineering, manufacturing and quality assurance and optimizing the product innovation cycle by promoting reuse and management of technical product information (form, fit, function) and decisions within engineering, logistics, manufacturing, sales and service. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/span&gt;&lt;/p&gt;</description></item><item><title>Further Example of Federated Data</title><link>http://www.aras.com/Community/wikis/kb/further-example-of-federated-data/revision/0.aspx</link><pubDate>Tue, 09 Jun 2009 01:18:50 GMT</pubDate><guid isPermaLink="false">197d54df-59b2-4bdb-87c5-e951a5aa0c96:63</guid><dc:creator>Brian Pye</dc:creator><description>Current revision posted to Aras Innovator KnowledgeBase by Brian Pye on 6/8/2009 9:18:50 PM&lt;br /&gt;
&lt;h2&gt;Further Example of Federated Data&lt;/h2&gt;
&lt;div style="font-size: 90%;"&gt;Filed under: &lt;span style="text-decoration: line-through; color: red;"&gt;Federation&lt;/span&gt;&lt;/div&gt;

&lt;p&gt;Further to the main article on &lt;a href="/Community/wikis/kb/how-to-use-federation.aspx"&gt;How To Use Federation&lt;/a&gt;&amp;nbsp;following is a simple implementation of&amp;nbsp; using Federated Data from an External Database (in this case an MS Access Database) and displaying it in a Relationship Tab.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Use Case:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;We wish to display on hand inventory and part description information from an external database as a tab of the Part ItemType.&lt;/p&gt;
&lt;p&gt;The external database is located somewhere that the Innovator Server has network&amp;nbsp;access to (in the simplest case this is actually on the same server as Innovator Server).&lt;/p&gt;
&lt;p&gt;The Part Inventory relationship will be added to the Part ItemType.&lt;/p&gt;
&lt;p&gt;When a user selects the tab a connection to the external database will be made a on hand inventory and part description information will be displayed.&lt;/p&gt;
&lt;p&gt;Innovator Items:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ItemType&amp;nbsp; Part 
&lt;ul&gt;
&lt;li&gt;Implementation:&amp;nbsp; Table&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;RelationshipType&amp;nbsp; Part Inventory 
&lt;ul&gt;
&lt;li&gt;Source: Part&lt;/li&gt;
&lt;li&gt;No Related&lt;/li&gt;
&lt;li&gt;Relationship ItemType Implementation: Federated - No data stored in Innovator&lt;/li&gt;
&lt;li&gt;ServerEvents : onGet&lt;/li&gt;
&lt;li&gt;Properties: 
&lt;ul&gt;
&lt;li&gt;db_description = String, 100 char&lt;/li&gt;
&lt;li&gt;on_hand_inventory = Integer&lt;/li&gt;
&lt;li&gt;part_number = String, 32 char&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Implementation of Example:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;An OleDb interface will be used as this is an external MS Access database.&lt;/p&gt;
&lt;p&gt;The remote database contains a table &amp;quot;Parts&amp;quot; which inclues the following fields:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Partnum&amp;nbsp;&amp;nbsp; - Part number of item. This is the key we will search on and is the same as the values in the Part ItemType in Innovator.&lt;/li&gt;
&lt;li&gt;TotalStock&amp;nbsp;&amp;nbsp; - Summary of all stock in all locations that stock might be held in.&lt;/li&gt;
&lt;li&gt;Descrip&amp;nbsp;&amp;nbsp; -&amp;nbsp;Description of the part.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Part Inventory, ServerEvent, onGet:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:small;color:#008000;"&gt;&lt;span style="font-size:small;color:#008000;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:small;color:#0000ff;"&gt;&lt;span style="font-size:small;color:#0000ff;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;i&gt;&lt;span style="font-size:10pt;color:green;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;// GetOnHandInventory&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;i&gt;&lt;span style="font-size:10pt;color:green;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;// Called from ServerEvents of Federated Item ItemType &amp;quot;Part Inventory&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;quot;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;i&gt;&lt;span style="font-size:10pt;color:green;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;// Connects to external database via OleDb calls&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;i&gt;&lt;span style="font-size:10pt;color:green;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;// Populates on_hand_inventory and db_description fields of federated item&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;i&gt;&lt;span style="font-size:10pt;color:green;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;// This method updates the grid for the relationship item and is implemented&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;i&gt;&lt;span style="font-size:10pt;color:green;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;// as an onGet ServerEvent.&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;i&gt;&lt;span style="font-size:10pt;color:green;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;// Get the item_number, it&amp;#39;s not passed automatically&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;Item qry0 &lt;span style="color:red;"&gt;=&lt;/span&gt; &lt;b&gt;&lt;span style="color:blue;"&gt;this&lt;/span&gt;&lt;/b&gt;&lt;span style="color:red;"&gt;.&lt;/span&gt;newItem(&lt;span style="color:purple;"&gt;&amp;quot;Part&amp;quot;&lt;/span&gt;);&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;qry0&lt;span style="color:red;"&gt;.&lt;/span&gt;setAttribute(&lt;span style="color:purple;"&gt;&amp;quot;select&amp;quot;&lt;/span&gt;,&lt;span style="color:purple;"&gt;&amp;quot;item_number&amp;quot;&lt;/span&gt;);&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;qry0&lt;span style="color:red;"&gt;.&lt;/span&gt;setID(&lt;b&gt;&lt;span style="color:blue;"&gt;this&lt;/span&gt;&lt;/b&gt;&lt;span style="color:red;"&gt;.&lt;/span&gt;getProperty(&lt;span style="color:purple;"&gt;&amp;quot;source_id&amp;quot;&lt;/span&gt;));&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;Item res&lt;span style="color:red;"&gt;=&lt;/span&gt;qry0&lt;span style="color:red;"&gt;.&lt;/span&gt;apply(&lt;span style="color:purple;"&gt;&amp;quot;get&amp;quot;&lt;/span&gt;);&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-size:10pt;color:blue;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;if&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt; (res&lt;span style="color:red;"&gt;.&lt;/span&gt;isError()) &lt;b&gt;&lt;span style="color:blue;"&gt;return&lt;/span&gt;&lt;/b&gt; res;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;i&gt;&lt;span style="font-size:10pt;color:green;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;// get the Part Number (key) that we will use in the external database&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;i&gt;&lt;span style="font-size:10pt;color:green;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;// to search on.&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-size:10pt;color:blue;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;string&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt; partnum;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;partnum &lt;span style="color:red;"&gt;=&lt;/span&gt; res&lt;span style="color:red;"&gt;.&lt;/span&gt;getProperty(&lt;span style="color:purple;"&gt;&amp;quot;item_number&amp;quot;&lt;/span&gt;);&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;i&gt;&lt;span style="font-size:10pt;color:green;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;// Connect to external (in this case MS Access) database&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;System&lt;span style="color:red;"&gt;.&lt;/span&gt;Data&lt;span style="color:red;"&gt;.&lt;/span&gt;OleDb&lt;span style="color:red;"&gt;.&lt;/span&gt;OleDbConnection myConnection &lt;span style="color:red;"&gt;=&lt;/span&gt; &lt;b&gt;&lt;span style="color:blue;"&gt;new&lt;/span&gt;&lt;/b&gt; System&lt;span style="color:red;"&gt;.&lt;/span&gt;Data&lt;span style="color:red;"&gt;.&lt;/span&gt;OleDb&lt;span style="color:red;"&gt;.&lt;/span&gt;OleDbConnection(&lt;span style="color:purple;"&gt;@&amp;quot;Provider=Microsoft.Jet.OLEDB.4.0; Data Source = &lt;a&gt;\\server\directory\database.mdb&lt;/a&gt;;&amp;quot;&lt;/span&gt;);&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;i&gt;&lt;span style="font-size:10pt;color:green;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;// construct sql Select statement to retrieve data from external database.&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-size:10pt;color:blue;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;string&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt; sqltext &lt;span style="color:red;"&gt;=&lt;/span&gt; &lt;span style="color:purple;"&gt;&amp;quot;Select Partnum,totalstock,descrip from Parts Where Partnum = &amp;#39;&amp;quot;&lt;/span&gt; &lt;span style="color:red;"&gt;+&lt;/span&gt; partnum &lt;span style="color:red;"&gt;+&lt;/span&gt; &lt;span style="color:purple;"&gt;&amp;quot;&amp;#39;;&amp;quot;&lt;/span&gt;;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;System&lt;span style="color:red;"&gt;.&lt;/span&gt;Data&lt;span style="color:red;"&gt;.&lt;/span&gt;OleDb&lt;span style="color:red;"&gt;.&lt;/span&gt;OleDbCommand com &lt;span style="color:red;"&gt;=&lt;/span&gt; &lt;b&gt;&lt;span style="color:blue;"&gt;new&lt;/span&gt;&lt;/b&gt; System&lt;span style="color:red;"&gt;.&lt;/span&gt;Data&lt;span style="color:red;"&gt;.&lt;/span&gt;OleDb&lt;span style="color:red;"&gt;.&lt;/span&gt;OleDbCommand(sqltext);&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;com&lt;span style="color:red;"&gt;.&lt;/span&gt;Connection &lt;span style="color:red;"&gt;=&lt;/span&gt; myConnection;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;myConnection&lt;span style="color:red;"&gt;.&lt;/span&gt;Open();&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;System&lt;span style="color:red;"&gt;.&lt;/span&gt;Data&lt;span style="color:red;"&gt;.&lt;/span&gt;OleDb&lt;span style="color:red;"&gt;.&lt;/span&gt;OleDbDataReader myDataReader &lt;span style="color:red;"&gt;=&lt;/span&gt; com&lt;span style="color:red;"&gt;.&lt;/span&gt;ExecuteReader();&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;i&gt;&lt;span style="font-size:10pt;color:green;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;// create a Part Inventory item&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;Item res5 &lt;span style="color:red;"&gt;=&lt;/span&gt; &lt;b&gt;&lt;span style="color:blue;"&gt;this&lt;/span&gt;&lt;/b&gt;&lt;span style="color:red;"&gt;.&lt;/span&gt;newItem(&lt;span style="color:purple;"&gt;&amp;quot;Part Inventory&amp;quot;&lt;/span&gt;);&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-size:10pt;color:blue;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;string&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt; newid &lt;span style="color:red;"&gt;=&lt;/span&gt; getNewID();&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;res5&lt;span style="color:red;"&gt;.&lt;/span&gt;setID(newid);&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;i&gt;&lt;span style="font-size:10pt;color:green;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;// Call apply on the item to create it in the server. After this is done&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;i&gt;&lt;span style="font-size:10pt;color:green;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;// we can populate with the returned information from the external database&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;res5 &lt;span style="color:red;"&gt;=&lt;/span&gt; res5&lt;span style="color:red;"&gt;.&lt;/span&gt;apply();&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;res5&lt;span style="color:red;"&gt;.&lt;/span&gt;setProperty(&lt;span style="color:purple;"&gt;&amp;quot;part_number&amp;quot;&lt;/span&gt;,partnum);&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;i&gt;&lt;span style="font-size:10pt;color:green;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;// Check if there are any rows returned and supply default information &lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;i&gt;&lt;span style="font-size:10pt;color:green;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;// if they are not&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-size:10pt;color:blue;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;if&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt; (myDataReader&lt;span style="color:red;"&gt;.&lt;/span&gt;HasRows &lt;span style="color:red;"&gt;!=&lt;/span&gt; true)&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-size:10pt;color:blue;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;{&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;res5&lt;span style="color:red;"&gt;.&lt;/span&gt;setProperty(&lt;span style="color:purple;"&gt;&amp;quot;on_hand_inventory&amp;quot;&lt;/span&gt;,&lt;span style="color:purple;"&gt;&amp;quot;0&amp;quot;&lt;/span&gt;);&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;res5&lt;span style="color:red;"&gt;.&lt;/span&gt;setProperty(&lt;span style="color:purple;"&gt;&amp;quot;db_description&amp;quot;&lt;/span&gt;,&lt;span style="color:purple;"&gt;&amp;quot;Not Found&amp;quot;&lt;/span&gt;);&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-size:10pt;color:blue;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;}&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-size:10pt;color:blue;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;else&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-size:10pt;color:blue;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;{&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;i&gt;&lt;span style="color:green;"&gt;// get the data from the dataReader and populate the PartInventory item&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;myDataReader&lt;span style="color:red;"&gt;.&lt;/span&gt;Read();&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;res5&lt;span style="color:red;"&gt;.&lt;/span&gt;setProperty(&lt;span style="color:purple;"&gt;&amp;quot;on_hand_inventory&amp;quot;&lt;/span&gt;,Convert&lt;span style="color:red;"&gt;.&lt;/span&gt;ToString(myDataReader&lt;span style="color:red;"&gt;.&lt;/span&gt;GetDouble(1)));&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;res5&lt;span style="color:red;"&gt;.&lt;/span&gt;setProperty(&lt;span style="color:purple;"&gt;&amp;quot;db_description&amp;quot;&lt;/span&gt;,myDataReader&lt;span style="color:red;"&gt;.&lt;/span&gt;GetString(2));&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-size:10pt;color:blue;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;}&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;myConnection&lt;span style="color:red;"&gt;.&lt;/span&gt;Close();&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;i&gt;&lt;span style="font-size:10pt;color:green;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;// return the PartInventory item to be populated in the grid.&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-size:10pt;color:blue;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;return&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt; res5;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Once the connection is open it is of course possible to update the database with new information from&amp;nbsp;Innovator.&lt;/p&gt;</description></item><item><title>Further Example of Federated Data</title><link>http://www.aras.com/Community/wikis/kb/further-example-of-federated-data/revision/1.aspx</link><pubDate>Tue, 09 Jun 2009 01:09:43 GMT</pubDate><guid isPermaLink="false">197d54df-59b2-4bdb-87c5-e951a5aa0c96:79</guid><dc:creator>Brian Pye</dc:creator><description>Revision 1 posted to Aras Innovator KnowledgeBase by Brian Pye on 6/8/2009 9:09:43 PM&lt;br /&gt;
&lt;p&gt;Further to the main article on &lt;a href="/Community/wikis/kb/how-to-use-federation.aspx"&gt;How To Use Federation&lt;/a&gt;&amp;nbsp;following is a simple implementation of&amp;nbsp; using Federated Data from an External Database (in this case an MS Access Database) and displaying it in a Relationship Tab.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Use Case:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;We wish to display on hand inventory and part description information from an external database as a tab of the Part ItemType.&lt;/p&gt;
&lt;p&gt;The external database is located somewhere that the Innovator Server has network&amp;nbsp;access to (in the simplest case this is actually on the same server as Innovator Server).&lt;/p&gt;
&lt;p&gt;The Part Inventory relationship will be added to the Part ItemType.&lt;/p&gt;
&lt;p&gt;When a user selects the tab a connection to the external database will be made a on hand inventory and part description information will be displayed.&lt;/p&gt;
&lt;p&gt;Innovator Items:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ItemType&amp;nbsp; Part 
&lt;ul&gt;
&lt;li&gt;Implementation:&amp;nbsp; Table&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;RelationshipType&amp;nbsp; Part Inventory 
&lt;ul&gt;
&lt;li&gt;Source: Part&lt;/li&gt;
&lt;li&gt;No Related&lt;/li&gt;
&lt;li&gt;Relationship ItemType Implementation: Federated - No data stored in Innovator&lt;/li&gt;
&lt;li&gt;ServerEvents : onGet&lt;/li&gt;
&lt;li&gt;Properties: 
&lt;ul&gt;
&lt;li&gt;db_description = String, 100 char&lt;/li&gt;
&lt;li&gt;on_hand_inventory = Integer&lt;/li&gt;
&lt;li&gt;part_number = String, 32 char&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Implementation of Example:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;An OleDb interface will be used as this is an external MS Access database.&lt;/p&gt;
&lt;p&gt;The remote database contains a table &amp;quot;Parts&amp;quot; which inclues the following fields:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Partnum&amp;nbsp;&amp;nbsp; - Part number of item. This is the key we will search on and is the same as the values in the Part ItemType in Innovator.&lt;/li&gt;
&lt;li&gt;TotalStock&amp;nbsp;&amp;nbsp; - Summary of all stock in all locations that stock might be held in.&lt;/li&gt;
&lt;li&gt;Descrip&amp;nbsp;&amp;nbsp; -&amp;nbsp;Description of the part.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Part Inventory, ServerEvent, onGet:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:small;color:#008000;"&gt;&lt;span style="font-size:small;color:#008000;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:small;color:#0000ff;"&gt;&lt;span style="font-size:small;color:#0000ff;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;i&gt;&lt;span style="font-size:10pt;color:green;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;// GetOnHandInventory&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;i&gt;&lt;span style="font-size:10pt;color:green;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;// Called from ServerEvents of Federated Item ItemType &amp;quot;Part Inventory&amp;quot;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;i&gt;&lt;span style="font-size:10pt;color:green;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;// Connects to external database via OleDb calls&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;i&gt;&lt;span style="font-size:10pt;color:green;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;// Populates on_hand_inventory and db_description fields of federated item&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;i&gt;&lt;span style="font-size:10pt;color:green;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;// This method updates the grid for the relationship item and is implemented&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;i&gt;&lt;span style="font-size:10pt;color:green;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;// as an onGet ServerEvent.&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;i&gt;&lt;span style="font-size:10pt;color:green;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;// Get the item_number, it&amp;#39;s not passed automatically&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;Item qry0 &lt;span style="color:red;"&gt;=&lt;/span&gt; &lt;b&gt;&lt;span style="color:blue;"&gt;this&lt;/span&gt;&lt;/b&gt;&lt;span style="color:red;"&gt;.&lt;/span&gt;newItem(&lt;span style="color:purple;"&gt;&amp;quot;Part&amp;quot;&lt;/span&gt;);&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;qry0&lt;span style="color:red;"&gt;.&lt;/span&gt;setAttribute(&lt;span style="color:purple;"&gt;&amp;quot;select&amp;quot;&lt;/span&gt;,&lt;span style="color:purple;"&gt;&amp;quot;item_number&amp;quot;&lt;/span&gt;);&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;qry0&lt;span style="color:red;"&gt;.&lt;/span&gt;setID(&lt;b&gt;&lt;span style="color:blue;"&gt;this&lt;/span&gt;&lt;/b&gt;&lt;span style="color:red;"&gt;.&lt;/span&gt;getProperty(&lt;span style="color:purple;"&gt;&amp;quot;source_id&amp;quot;&lt;/span&gt;));&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;Item res&lt;span style="color:red;"&gt;=&lt;/span&gt;qry0&lt;span style="color:red;"&gt;.&lt;/span&gt;apply(&lt;span style="color:purple;"&gt;&amp;quot;get&amp;quot;&lt;/span&gt;);&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-size:10pt;color:blue;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;if&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt; (res&lt;span style="color:red;"&gt;.&lt;/span&gt;isError()) &lt;b&gt;&lt;span style="color:blue;"&gt;return&lt;/span&gt;&lt;/b&gt; res;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;i&gt;&lt;span style="font-size:10pt;color:green;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;// get the Part Number (key) that we will use in the external database&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;i&gt;&lt;span style="font-size:10pt;color:green;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;// to search on.&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-size:10pt;color:blue;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;string&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt; partnum;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;partnum &lt;span style="color:red;"&gt;=&lt;/span&gt; res&lt;span style="color:red;"&gt;.&lt;/span&gt;getProperty(&lt;span style="color:purple;"&gt;&amp;quot;item_number&amp;quot;&lt;/span&gt;);&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;i&gt;&lt;span style="font-size:10pt;color:green;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;// Connect to external (in this case MS Access) database&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;System&lt;span style="color:red;"&gt;.&lt;/span&gt;Data&lt;span style="color:red;"&gt;.&lt;/span&gt;OleDb&lt;span style="color:red;"&gt;.&lt;/span&gt;OleDbConnection myConnection &lt;span style="color:red;"&gt;=&lt;/span&gt; &lt;b&gt;&lt;span style="color:blue;"&gt;new&lt;/span&gt;&lt;/b&gt; System&lt;span style="color:red;"&gt;.&lt;/span&gt;Data&lt;span style="color:red;"&gt;.&lt;/span&gt;OleDb&lt;span style="color:red;"&gt;.&lt;/span&gt;OleDbConnection(&lt;span style="color:purple;"&gt;@&amp;quot;Provider=Microsoft.Jet.OLEDB.4.0; Data Source = &lt;a&gt;\\server\directory\database.mdb&lt;/a&gt;;&amp;quot;&lt;/span&gt;);&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;i&gt;&lt;span style="font-size:10pt;color:green;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;// construct sql Select statement to retrieve data from external database.&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-size:10pt;color:blue;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;string&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt; sqltext &lt;span style="color:red;"&gt;=&lt;/span&gt; &lt;span style="color:purple;"&gt;&amp;quot;Select Partnum,totalstock,descrip from Parts Where Partnum = &amp;#39;&amp;quot;&lt;/span&gt; &lt;span style="color:red;"&gt;+&lt;/span&gt; partnum &lt;span style="color:red;"&gt;+&lt;/span&gt; &lt;span style="color:purple;"&gt;&amp;quot;&amp;#39;;&amp;quot;&lt;/span&gt;;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;System&lt;span style="color:red;"&gt;.&lt;/span&gt;Data&lt;span style="color:red;"&gt;.&lt;/span&gt;OleDb&lt;span style="color:red;"&gt;.&lt;/span&gt;OleDbCommand com &lt;span style="color:red;"&gt;=&lt;/span&gt; &lt;b&gt;&lt;span style="color:blue;"&gt;new&lt;/span&gt;&lt;/b&gt; System&lt;span style="color:red;"&gt;.&lt;/span&gt;Data&lt;span style="color:red;"&gt;.&lt;/span&gt;OleDb&lt;span style="color:red;"&gt;.&lt;/span&gt;OleDbCommand(sqltext);&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;com&lt;span style="color:red;"&gt;.&lt;/span&gt;Connection &lt;span style="color:red;"&gt;=&lt;/span&gt; myConnection;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;myConnection&lt;span style="color:red;"&gt;.&lt;/span&gt;Open();&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;System&lt;span style="color:red;"&gt;.&lt;/span&gt;Data&lt;span style="color:red;"&gt;.&lt;/span&gt;OleDb&lt;span style="color:red;"&gt;.&lt;/span&gt;OleDbDataReader myDataReader &lt;span style="color:red;"&gt;=&lt;/span&gt; com&lt;span style="color:red;"&gt;.&lt;/span&gt;ExecuteReader();&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;i&gt;&lt;span style="font-size:10pt;color:green;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;// create a Part Inventory item&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;Item res5 &lt;span style="color:red;"&gt;=&lt;/span&gt; &lt;b&gt;&lt;span style="color:blue;"&gt;this&lt;/span&gt;&lt;/b&gt;&lt;span style="color:red;"&gt;.&lt;/span&gt;newItem(&lt;span style="color:purple;"&gt;&amp;quot;Part Inventory&amp;quot;&lt;/span&gt;);&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-size:10pt;color:blue;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;string&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt; newid &lt;span style="color:red;"&gt;=&lt;/span&gt; getNewID();&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;res5&lt;span style="color:red;"&gt;.&lt;/span&gt;setID(newid);&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;i&gt;&lt;span style="font-size:10pt;color:green;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;// Call apply on the item to create it in the server. After this is done&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;i&gt;&lt;span style="font-size:10pt;color:green;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;// we can populate with the returned information from the external database&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;res5 &lt;span style="color:red;"&gt;=&lt;/span&gt; res5&lt;span style="color:red;"&gt;.&lt;/span&gt;apply();&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;res5&lt;span style="color:red;"&gt;.&lt;/span&gt;setProperty(&lt;span style="color:purple;"&gt;&amp;quot;part_number&amp;quot;&lt;/span&gt;,partnum);&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;i&gt;&lt;span style="font-size:10pt;color:green;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;// Check if there are any rows returned and supply default information &amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;i&gt;&lt;span style="font-size:10pt;color:green;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;// if they are not&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-size:10pt;color:blue;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;if&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt; (myDataReader&lt;span style="color:red;"&gt;.&lt;/span&gt;HasRows &lt;span style="color:red;"&gt;!=&lt;/span&gt; true)&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-size:10pt;color:blue;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;{&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;res5&lt;span style="color:red;"&gt;.&lt;/span&gt;setProperty(&lt;span style="color:purple;"&gt;&amp;quot;on_hand_inventory&amp;quot;&lt;/span&gt;,&lt;span style="color:purple;"&gt;&amp;quot;0&amp;quot;&lt;/span&gt;);&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;res5&lt;span style="color:red;"&gt;.&lt;/span&gt;setProperty(&lt;span style="color:purple;"&gt;&amp;quot;db_description&amp;quot;&lt;/span&gt;,&lt;span style="color:purple;"&gt;&amp;quot;Not Found&amp;quot;&lt;/span&gt;);&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-size:10pt;color:blue;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;}&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-size:10pt;color:blue;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;else&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-size:10pt;color:blue;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;{&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;i&gt;&lt;span style="color:green;"&gt;// get the data from the dataReader and populate the PartInventory item&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;myDataReader&lt;span style="color:red;"&gt;.&lt;/span&gt;Read();&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;res5&lt;span style="color:red;"&gt;.&lt;/span&gt;setProperty(&lt;span style="color:purple;"&gt;&amp;quot;on_hand_inventory&amp;quot;&lt;/span&gt;,Convert&lt;span style="color:red;"&gt;.&lt;/span&gt;ToString(myDataReader&lt;span style="color:red;"&gt;.&lt;/span&gt;GetDouble(1)));&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;res5&lt;span style="color:red;"&gt;.&lt;/span&gt;setProperty(&lt;span style="color:purple;"&gt;&amp;quot;db_description&amp;quot;&lt;/span&gt;,myDataReader&lt;span style="color:red;"&gt;.&lt;/span&gt;GetString(2));&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-size:10pt;color:blue;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;}&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;myConnection&lt;span style="color:red;"&gt;.&lt;/span&gt;Close();&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;i&gt;&lt;span style="font-size:10pt;color:green;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;// return the PartInventory item to be populated in the grid.&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-size:10pt;color:blue;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;return&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt; res5;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Once the connection is open it is of course possible to update the database with new information from&amp;nbsp;Innovator.&lt;/p&gt;</description></item><item><title>ItemType List</title><link>http://www.aras.com/Community/wikis/kb/itemtype-list/revision/0.aspx</link><pubDate>Sun, 07 Jun 2009 17:16:02 GMT</pubDate><guid isPermaLink="false">197d54df-59b2-4bdb-87c5-e951a5aa0c96:62</guid><dc:creator>tstickel</dc:creator><description>Current revision posted to Aras Innovator KnowledgeBase by tstickel on 6/7/2009 1:16:02 PM&lt;br /&gt;
&lt;p&gt;An alternative to using Innovator Lists that supports a dynamic Add capability.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Requirements:&lt;/p&gt;
&lt;p&gt;1. Automatically inserts an &amp;lt;Add&amp;gt; selection for designated for&amp;nbsp;Selection Lists, unless the Form is not opened for update.&amp;nbsp; The Selection LIsts do not have to be pre-populated with the &amp;lt;Add&amp;gt; selection.&lt;/p&gt;
&lt;p&gt;2. If the user selects &amp;lt;Add&amp;gt; then a pop-up window will be displayed that allows the user to enter a new text/value combination for the Selection List.&amp;nbsp; This pop-up window is the same one that appears if the user had the privilege to add a record to the list via&amp;nbsp;/Administrator/Lists.&amp;nbsp; Thus, the new entry is reflected in the List on the Form and in the Innovator database.&lt;/p&gt;
&lt;p&gt;3. After the user adds a new text/value combination then it will be automatically selected in the forms Selection List&lt;/p&gt;
&lt;p&gt;4. When a Form is displayed/re-displayed then the Selection Lists will automatically be re-populated with the latest values from the database.&amp;nbsp; This over-comes the biggest problem with Innovator &amp;quot;out-of-the-box&amp;quot; lists, they are not dynamically repopulated (ie. In Innovator 9.0.1 if the list contains 3 text/value pairs when user A logs on the Innovator and displays a form that uses the list, then the Administrator adds a&amp;nbsp;4th text/value pair in another Innovator session, even if user A refreshes the form display they will not see the 4th text/value pair unless they log off Innovator and log back on).&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Solution:&lt;/p&gt;
&lt;p&gt;1.&amp;nbsp; I did not utilize the Innovator List itemtype to store my lists, instead I created my own itemtypes.&amp;nbsp; For example, I created a &amp;quot;lbrand&amp;quot; itemtype and included the following 2 fields (which are similar to the properties in an Innovator List itemtype):&lt;/p&gt;
&lt;p&gt;llabel String 25 characters Required, Unique (there is no requirement to always make this 25 characters)&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;lvalue String&amp;nbsp; 1 character&amp;nbsp; Required, Unique (there is no requirement to always make this 1 character, e.g. you could have 2 character values.&amp;nbsp; Also you are not required to have a lvalue property if your list is just a list of labels)&lt;/p&gt;
&lt;p&gt;I included llabel in the keyed_name for the lbrand itemtype.&amp;nbsp; So this defines a specific list.&lt;/p&gt;
&lt;p&gt;2.&amp;nbsp; I created a Form for the lbrand itemtype so that I could pre-populate it with labels/values.&lt;br /&gt;examples:&lt;br /&gt;label&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; value&lt;br /&gt;Ford&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; F&lt;br /&gt;Pontiac&amp;nbsp;&amp;nbsp; P&lt;br /&gt;Chrysler&amp;nbsp; C&lt;/p&gt;
&lt;p&gt;3.&amp;nbsp; I included lbrand as a property on any itemtypes where it was required (e.g. the Part itemtype).&amp;nbsp; Generally, I defined this property to match the corresponding lvalue property so that the lvalue would be stored.&amp;nbsp; I have also used it to store the ID of the record from the list.&lt;/p&gt;
&lt;p&gt;4.&amp;nbsp; To include this lbrand as a selection list on a form (e.g. the Part form), I defined an html field type on the form and gave it the name lbrand.&amp;nbsp; I defined the html field as follows:&lt;/p&gt;
&lt;p&gt;&amp;lt;select name=&amp;quot;lbrand&amp;quot; size=&amp;quot;1&amp;quot;&amp;nbsp; style=&amp;quot;font-weight: bold&amp;quot;&amp;nbsp; itemlist=&amp;quot;1&amp;quot; itemtype=&amp;quot;lbrand&amp;quot; itemadd=&amp;quot;1&amp;quot;&lt;br /&gt;onpropertychange=&amp;quot;if (event.propertyName==&amp;#39;selectedIndex&amp;#39; &amp;amp;&amp;amp; this.selectedIndex!=-1) if (window.handleItemChange) handleItemChange(&amp;#39;lbrand&amp;#39;,this.options(this.selectedIndex).value)&amp;quot;&amp;gt;&lt;br /&gt;&amp;lt;/select&amp;gt;&lt;/p&gt;
&lt;p&gt;Note that I included 3 attributes in this Select that are non-standard:&lt;/p&gt;
&lt;p&gt;itemlist=&amp;quot;1&amp;quot; is there so that my code can find all of these special Select objects on the Form&lt;br /&gt;itemtype=&amp;#39;lbrand&amp;quot; is there so that my code can determine which SQL table to find the label/values for this Select&lt;br /&gt;itemadd=&amp;quot;1&amp;quot; is there so that my code can determine if this Select should support the &amp;lt;Add&amp;gt; capability&lt;/p&gt;
&lt;p&gt;Note the onpropertychange procedure.&amp;nbsp; The key bit of code is &amp;quot;handleItemChange(&amp;#39;lbrand&amp;#39;,this.options(this.selectedIndex).value)&amp;quot;.&amp;nbsp; This&lt;br /&gt;is an Innovator built-in method that will take the value of the selected row from the list and use it to update the lbrand property (e.g. &lt;br /&gt;in the Part table).&lt;/p&gt;
&lt;p&gt;5.&amp;nbsp; I wrote a Method called, LoadList, and include it as an &amp;quot;OnFormPopulated&amp;quot; Form event (e.g. in the Part form definition).&amp;nbsp; Disclaimer:&lt;br /&gt;I have removed some Customer-specific code that I can not share, it is possible that this code may not compile if I made a mistake doing this.&lt;/p&gt;
&lt;p&gt;// name:LoadList.js&lt;br /&gt;//&amp;nbsp;&amp;nbsp; purpose: Initialize all &amp;lt;select&amp;gt; elements that are to be populated from&lt;br /&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; item data.&amp;nbsp; These are used instead of the standard Innovator List controls&lt;br /&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; that are populated from Innovator lists.&amp;nbsp; These &amp;lt;select&amp;gt; elements have:&lt;br /&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1. a custom attribute named &amp;quot;itemlist&amp;quot; set to &amp;quot;1&amp;quot;. [required]&lt;br /&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2. a custom attribute named &amp;quot;itemtype&amp;quot; set to the itemtype that contains the list values. [required]&lt;br /&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3. a custom attribute named &amp;quot;itemwhere&amp;quot; set to a SQL where clause appropriate for the itemtype. Used to filter the list [optional]&lt;br /&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4. a custom attribute named &amp;quot;itemadd&amp;quot; set to &amp;quot;1&amp;quot; if an &amp;quot;&amp;lt;Add&amp;gt;&amp;quot; entry is to be appended to the beginning of the list values. [optional]&lt;br /&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 5. a custom attribute named &amp;quot;itemvalue&amp;quot; set to &amp;quot;1&amp;quot; if Item values are to be displayed instead of the normal Item labels.&amp;nbsp; [optional]&lt;br /&gt;//&lt;br /&gt;//&amp;nbsp;&amp;nbsp; created: 11/19/2008&lt;br /&gt;// &lt;br /&gt;//&amp;nbsp; ====================================================================================================&lt;/p&gt;
&lt;p&gt;var innovator&amp;nbsp; = document.thisItem.newInnovator();&amp;nbsp; // thisItem is the part item that will be created&lt;br /&gt;var loadListCache;&amp;nbsp; // Global variable used in lLoadListAdd and lLoadListCache functions&lt;/p&gt;
&lt;p&gt;function lLoadListAdd(){&lt;br /&gt;//&amp;nbsp;&amp;nbsp; purpose: Called as a field onChange event by item data &amp;lt;select&amp;gt;&amp;#39;s.&amp;nbsp; This function implements the code to support&lt;br /&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; the &amp;lt;Add&amp;gt; functionality for the pull down list.&lt;br /&gt;// ======================================================================================================&lt;/p&gt;
&lt;p&gt;&amp;nbsp;var innovator&amp;nbsp; = document.thisItem.newInnovator();&amp;nbsp; // thisItem is the part item that will be created&lt;br /&gt;&amp;nbsp;// Note, &amp;quot;this&amp;quot; is not an Innovator Item, rather is it the HTML Select object from the form&lt;br /&gt;&amp;nbsp;var lval = this.value;&amp;nbsp; // This captures the value selected from the list&lt;br /&gt;&amp;nbsp;var lname = this.itemtype;&amp;nbsp; // This captures the name of the associated item&lt;br /&gt;&amp;nbsp;if (lval == &amp;#39;&amp;lt;Add&amp;gt;&amp;#39;) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;var newItemNd = top.aras.uiNewItemEx(lname);&lt;br /&gt;&amp;nbsp;&amp;nbsp;var newItemId = newItemNd.getAttribute(&amp;quot;id&amp;quot;);&lt;br /&gt;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;do {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;var waitRet = confirm(&amp;quot;Please add the new list entry.&amp;nbsp; Save, unlock and close it, then return to this dialog box and click OK &amp;quot;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (waitRet === false){&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;top.aras.uiCloseWindowEx(newItemId);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;top.aras.removeFromCache(newItemNd);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;this.value = loadListCache; // Reset back to previous selection&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;newItemNd = innovator.getItemById(lname,newItemId);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;if(newItemNd){&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;var newPC = newItemNd.getProperty(&amp;quot;keyed_name&amp;quot;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;var newPV = newItemNd.getProperty(&amp;quot;lvalue&amp;quot;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (newPV === undefined){newPV = newPC;}&amp;nbsp; //some Lists do not have the lvalue property&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;} while (!newItemNd); &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;var listControl = this;&lt;br /&gt;&amp;nbsp;&amp;nbsp;var oOption = document.createElement(&amp;quot;OPTION&amp;quot;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;oOption.text = newPC;&lt;br /&gt;&amp;nbsp;&amp;nbsp;if (listControl.itemvalue == &amp;quot;1&amp;quot;){oOption.text = newPV;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;oOption.value = newPV;&lt;br /&gt;&amp;nbsp;&amp;nbsp;oOption.selected = true;&lt;br /&gt;&amp;nbsp;&amp;nbsp;listControl.add(oOption);&lt;br /&gt;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;else if (lval == &amp;#39;&amp;lt;-Select-&amp;gt;&amp;#39;) {&amp;nbsp; // See comments below concerning &amp;lt;-Select-&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;alert(&amp;quot;You can not pick &amp;lt;-Select-&amp;gt;, make another selection&amp;quot;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;this.value = loadListCache; // Reset back to previous selection&lt;br /&gt;&amp;nbsp;}&lt;br /&gt;}&amp;nbsp; //End of function lLoadListAdd() definition&lt;/p&gt;
&lt;p&gt;function lLoadListCache() {&lt;br /&gt;//&amp;nbsp;&amp;nbsp; purpose: Called as a field onclick event by item data &amp;lt;select&amp;gt;&amp;#39;s.&amp;nbsp; This function implements the code to support&lt;br /&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; resetting selection back to previous selection.&lt;br /&gt;// ======================================================================================================&lt;/p&gt;
&lt;p&gt;&amp;nbsp;loadListCache = this.value;&lt;br /&gt;}&amp;nbsp; //End of function lLoadListCache() definition&lt;/p&gt;
&lt;p&gt;// Start of main procedure&lt;br /&gt;// Loop through the &amp;quot;select&amp;quot; elements&lt;br /&gt;var elements = document.getElementsByTagName(&amp;quot;select&amp;quot;);&lt;br /&gt;for (var i=0; i&amp;lt;elements.length; i++){&lt;br /&gt;&amp;nbsp;// Look for a custom attribute named &amp;quot;itemlist&amp;quot;&lt;br /&gt;&amp;nbsp;if (elements[i].itemlist == &amp;quot;1&amp;quot;) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;var listControl = elements[i];&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;// If control has already been loaded then just enable/disable it as appropriate&lt;br /&gt;&amp;nbsp;&amp;nbsp;if (listControl.length &amp;gt; 0) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (!document.isEditMode) {listControl.disabled = true;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;else {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;listControl.disabled = false;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// Here you could add Application-specfic code to disable controls&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// listControl.disabled = true;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;continue;&lt;br /&gt;&amp;nbsp;&amp;nbsp;}&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // The next 2 statements register these procudures as onchange/onclick evenets&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;listControl.onchange = lLoadListAdd;&lt;br /&gt;&amp;nbsp;&amp;nbsp;listControl.onclick = lLoadListCache;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;// If itemadd flag is set then create an &amp;lt;Add&amp;gt; option&lt;br /&gt;&amp;nbsp;&amp;nbsp;if (elements[i].itemadd == &amp;quot;1&amp;quot;) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;var oOption2 = document.createElement(&amp;quot;OPTION&amp;quot;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;oOption2.text = &amp;quot;&amp;lt;-Select-&amp;gt;&amp;quot;;&amp;nbsp; //&amp;lt;-Select-&amp;gt; is needed if the visible length of the control = 1&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //This is due to an Internet Explorer bug that pre-selects the first&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //option in a list if the visible length = 1.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;oOption2.value = oOption2.text;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;listControl.add(oOption2);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;var oOption = document.createElement(&amp;quot;OPTION&amp;quot;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;oOption.text = &amp;quot;&amp;lt;Add&amp;gt;&amp;quot;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;oOption.value = oOption.text;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;listControl.add(oOption);&lt;br /&gt;&amp;nbsp;&amp;nbsp;}&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;if (!document.isEditMode) {listControl.disabled = true;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;else {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;// Here you could add Application-specfic code to disable controls&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// listControl.disabled = true;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;}&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;// Now retrieve the entries to be added as options to the select&lt;br /&gt;&amp;nbsp;&amp;nbsp;var pcListItem = innovator.newItem(listControl.itemtype,&amp;#39;get&amp;#39;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;pcListItem.setAttribute(&amp;#39;select&amp;#39;,&amp;#39;keyed_name,lvalue&amp;#39;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;pcListItem.setAttribute(&amp;#39;orderBy&amp;#39;,&amp;#39;keyed_name&amp;#39;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;if (listControl.itemvalue == &amp;quot;1&amp;quot;){pcListItem.setAttribute(&amp;#39;orderBy&amp;#39;,&amp;#39;lvalue&amp;#39;);}&lt;br /&gt;&amp;nbsp;&amp;nbsp;if (listControl.itemwhere){pcListItem.setAttribute(&amp;#39;where&amp;#39;,listControl.itemwhere);}&lt;br /&gt;&amp;nbsp;&amp;nbsp;var pcListItems = pcListItem.apply();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;var pcListCount = pcListItems.getItemCount;&lt;br /&gt;&amp;nbsp;&amp;nbsp;if (pcListCount &amp;gt; 0) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;for (var j=0; j&amp;lt;=pcListCount-1; j++) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;oOption = document.createElement(&amp;quot;OPTION&amp;quot;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;oOption.text = pcListItems.getItemByIndex(j).getProperty(&amp;#39;keyed_name&amp;#39;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (listControl.itemvalue == &amp;quot;1&amp;quot;){oOption.text = pcListItems.getItemByIndex(j).getProperty(&amp;#39;lvalue&amp;#39;);}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;oOption.value = pcListItems.getItemByIndex(j).getProperty(&amp;#39;lvalue&amp;#39;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// Some item lists will not have a &amp;quot;value&amp;quot; field, in addition to &amp;quot;keyed_name&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (oOption.value == &amp;quot;undefined&amp;quot;){oOption.value = oOption.text;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// If thisItem has a value=Option.text, then set this Option=selected&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;var strItemType = listControl.itemtype;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (listControl.name == &amp;quot;lparent&amp;quot;) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;var recordValue = document.thisItem.getProperty(&amp;quot;lparent&amp;quot;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;else {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;recordValue = document.thisItem.getProperty(strItemType);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;listControl.add(oOption);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if ((recordValue != &amp;quot;undefined&amp;quot;) &amp;amp; (recordValue == oOption.value)){&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;oOption.selected = true;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;}&lt;br /&gt;}&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;// Loop through the &amp;quot;input&amp;quot; elements on the Form that have itemlist = &amp;quot;1&amp;quot;, they will always be readonly&lt;/p&gt;
&lt;p&gt;elements = document.getElementsByTagName(&amp;quot;input&amp;quot;);&lt;br /&gt;for (i=0; i&amp;lt;elements.length; i++){&lt;br /&gt;&amp;nbsp;// Look for a custom attribute named &amp;quot;itemlist&amp;quot;&lt;br /&gt;&amp;nbsp;if (elements[i].itemlist == &amp;quot;1&amp;quot;) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;var inputControl = elements[i];&lt;br /&gt;&amp;nbsp;&amp;nbsp;var searchTable = inputControl.itemtype;&lt;br /&gt;&amp;nbsp;&amp;nbsp;var searchValue = document.thisItem.getProperty(searchTable);&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;// Now retrieve the entry to be display in the &amp;lt;input&amp;gt; element&lt;br /&gt;&amp;nbsp;&amp;nbsp;var ipListItem = innovator.newItem(searchTable,&amp;#39;get&amp;#39;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;ipListItem.setAttribute(&amp;#39;select&amp;#39;,&amp;#39;keyed_name,lvalue&amp;#39;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;ipListItem.setAttribute(&amp;#39;where&amp;#39;,searchTable + &amp;quot;.lvalue = &amp;#39;&amp;quot; + searchValue + &amp;quot;&amp;#39;&amp;quot; );&lt;br /&gt;&amp;nbsp;&amp;nbsp;var ipListItems = ipListItem.apply();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;var ipListCount = ipListItems.getItemCount;&lt;br /&gt;&amp;nbsp;&amp;nbsp;if (ipListCount == 1) {&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;inputControl.value = ipListItems.getItemByIndex(0).getProperty(&amp;#39;keyed_name&amp;#39;);&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;// Otherwise just replace with value from thisItem&lt;br /&gt;&amp;nbsp;&amp;nbsp;else {inputControl.value = searchValue;}&lt;br /&gt;&amp;nbsp;}&lt;br /&gt;}&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Issues:&lt;/p&gt;
&lt;p&gt;If the user selects &amp;lt;Add&amp;gt; from the list, the form that is displayed for the user to add a new list entry is initially displayed &amp;quot;mimimized&amp;quot;.&amp;nbsp; I have yet to determine how to fix this.&lt;/p&gt;</description></item><item><title>How to Use Federation</title><link>http://www.aras.com/Community/wikis/kb/how-to-use-federation/revision/0.aspx</link><pubDate>Thu, 14 May 2009 04:54:04 GMT</pubDate><guid isPermaLink="false">197d54df-59b2-4bdb-87c5-e951a5aa0c96:57</guid><dc:creator>Brian Pye</dc:creator><description>Current revision posted to Aras Innovator KnowledgeBase by Brian Pye on 5/14/2009 12:54:04 AM&lt;br /&gt;
&lt;h2&gt;How to Use Federation&lt;/h2&gt;
&lt;h1 style="margin:12pt 0in 3pt;"&gt;&lt;a name="_Toc216854218"&gt;&lt;span style="font-size:small;"&gt;About &lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:small;"&gt;&lt;span&gt;&lt;span style="mso-bidi-font-size:14.0pt;"&gt;&lt;a href="/Community/wikis/plm/federation.aspx"&gt;Federated &lt;/a&gt;Data in Innovator&lt;/span&gt;&lt;/span&gt;&lt;span style="mso-bidi-font-size:14.0pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h1&gt;
&lt;p class="MsoNormal"&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="font-size:14pt;font-family:Arial;"&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;Innovator uses the term &amp;ldquo;&lt;a href="/Community/wikis/plm/federation.aspx"&gt;Federated&lt;/a&gt;&amp;rdquo; to mean data shared between different information systems. &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;Virtually all businesses are using multiple information systems to address different aspects of their business, these are usually at different stages in their lifecycle.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;Many business processes need to draw on information from multiple systems in the most cost effective way.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;Aras Innovator has a Service Oriented Architecture and is a Framework; it lends itself to addressing such needs.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;This document describes how the Innovator Framework can gather and present Federated Data, and how it can provide data to other systems.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&amp;lt;o:p&amp;gt;&lt;span style="font-size:small;font-family:Times New Roman;"&gt;&amp;nbsp;&lt;/span&gt;&amp;lt;/o:p&amp;gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;The Innovator Framework includes&lt;/span&gt;&lt;/p&gt;
&lt;ul style="margin-top:0in;"&gt;
&lt;li style="margin:0in 0in 0pt;text-align:justify;mso-list:l0 level1 lfo1;tab-stops:list .5in;" class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&amp;lsquo;Federated&amp;rsquo; data-type for Properties&lt;/span&gt;&lt;/li&gt;
&lt;li style="margin:0in 0in 0pt;text-align:justify;mso-list:l0 level1 lfo1;tab-stops:list .5in;" class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&amp;lsquo;Federated&amp;rsquo; Implementation type for ItemTypes.&lt;/span&gt;&lt;/li&gt;
&lt;li style="margin:0in 0in 0pt;mso-list:l0 level1 lfo1;tab-stops:list .5in;" class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&amp;lsquo;Server Events&amp;rsquo; which call .Net Methods when Items are selected, added, updated or deleted to implement the Interface.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;The following table shows how different&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;technologies can&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;used as the interface to implement Federated Data where Innovator is the destination or source.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&amp;lt;o:p&amp;gt;&lt;span style="font-size:small;font-family:Times New Roman;"&gt;&amp;nbsp; 
&lt;table border="1" cellpadding="0" cellspacing="0" style="border-collapse:collapse;mso-border-alt:solid windowtext .5pt;mso-yfti-tbllook:480;mso-padding-alt:0in 5.4pt 0in 5.4pt;mso-border-insideh:.5pt solid windowtext;mso-border-insidev:.5pt solid windowtext;" class="MsoTableGrid"&gt;
&lt;tbody&gt;
&lt;tr style="mso-yfti-irow:0;mso-yfti-firstrow:yes;"&gt;
&lt;td width="177" valign="top" style="padding-right:5.4pt;padding-left:5.4pt;padding-bottom:0in;width:132.85pt;padding-top:0in;background-color:transparent;mso-border-alt:solid windowtext .5pt;border:windowtext 1pt solid;"&gt;
&lt;p class="MsoNormal"&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;Interface&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td width="206" valign="top" style="border-right:windowtext 1pt solid;padding-right:5.4pt;border-top:windowtext 1pt solid;padding-left:5.4pt;padding-bottom:0in;border-left:#ece9d8;width:154.4pt;padding-top:0in;border-bottom:windowtext 1pt solid;background-color:transparent;mso-border-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;"&gt;
&lt;p class="MsoNormal"&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;Innovator as Destination&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td width="207" valign="top" style="border-right:windowtext 1pt solid;padding-right:5.4pt;border-top:windowtext 1pt solid;padding-left:5.4pt;padding-bottom:0in;border-left:#ece9d8;width:155.55pt;padding-top:0in;border-bottom:windowtext 1pt solid;background-color:transparent;mso-border-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;"&gt;
&lt;p class="MsoNormal"&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;Innovator as Source&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow:1;"&gt;
&lt;td width="177" valign="top" style="border-right:windowtext 1pt solid;padding-right:5.4pt;border-top:#ece9d8;padding-left:5.4pt;padding-bottom:0in;border-left:windowtext 1pt solid;width:132.85pt;padding-top:0in;border-bottom:windowtext 1pt solid;background-color:transparent;mso-border-alt:solid windowtext .5pt;mso-border-top-alt:solid windowtext .5pt;"&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;Web Services&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td width="206" valign="top" style="border-right:windowtext 1pt solid;padding-right:5.4pt;border-top:#ece9d8;padding-left:5.4pt;padding-bottom:0in;border-left:#ece9d8;width:154.4pt;padding-top:0in;border-bottom:windowtext 1pt solid;background-color:transparent;mso-border-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;mso-border-top-alt:solid windowtext .5pt;"&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;Methods consume WebService and show data in the Innovator UI transparently&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td width="207" valign="top" style="border-right:windowtext 1pt solid;padding-right:5.4pt;border-top:#ece9d8;padding-left:5.4pt;padding-bottom:0in;border-left:#ece9d8;width:155.55pt;padding-top:0in;border-bottom:windowtext 1pt solid;background-color:transparent;mso-border-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;mso-border-top-alt:solid windowtext .5pt;"&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;Innovator 9.1 &amp;ldquo;Web Service Configuration&amp;rdquo; can create Web Services automatically. They can be consumed by remote applications&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow:2;"&gt;
&lt;td width="177" valign="top" style="border-right:windowtext 1pt solid;padding-right:5.4pt;border-top:#ece9d8;padding-left:5.4pt;padding-bottom:0in;border-left:windowtext 1pt solid;width:132.85pt;padding-top:0in;border-bottom:windowtext 1pt solid;background-color:transparent;mso-border-alt:solid windowtext .5pt;mso-border-top-alt:solid windowtext .5pt;"&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;SQL&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td width="206" valign="top" style="border-right:windowtext 1pt solid;padding-right:5.4pt;border-top:#ece9d8;padding-left:5.4pt;padding-bottom:0in;border-left:#ece9d8;width:154.4pt;padding-top:0in;border-bottom:windowtext 1pt solid;background-color:transparent;mso-border-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;mso-border-top-alt:solid windowtext .5pt;"&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;Innovator Methods or SQL Items connect to remote database using SQL Server Linked Server or ADO.Net&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td width="207" valign="top" style="border-right:windowtext 1pt solid;padding-right:5.4pt;border-top:#ece9d8;padding-left:5.4pt;padding-bottom:0in;border-left:#ece9d8;width:155.55pt;padding-top:0in;border-bottom:windowtext 1pt solid;background-color:transparent;mso-border-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;mso-border-top-alt:solid windowtext .5pt;"&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;Remote database connects to Innovator database using SQL Server Linked Server, ADO.Net, ODBC or JDBC&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow:3;"&gt;
&lt;td width="177" valign="top" style="border-right:windowtext 1pt solid;padding-right:5.4pt;border-top:#ece9d8;padding-left:5.4pt;padding-bottom:0in;border-left:windowtext 1pt solid;width:132.85pt;padding-top:0in;border-bottom:windowtext 1pt solid;background-color:transparent;mso-border-alt:solid windowtext .5pt;mso-border-top-alt:solid windowtext .5pt;"&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;CAD Integration&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td colspan="2" width="413" valign="top" style="border-right:windowtext 1pt solid;padding-right:5.4pt;border-top:#ece9d8;padding-left:5.4pt;padding-bottom:0in;border-left:#ece9d8;width:309.95pt;padding-top:0in;border-bottom:windowtext 1pt solid;background-color:transparent;mso-border-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;mso-border-top-alt:solid windowtext .5pt;"&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;CAD integrations are available at Aras.com/Projects for two-way sharing of data with popular CAD programs&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow:4;"&gt;
&lt;td width="177" valign="top" style="border-right:windowtext 1pt solid;padding-right:5.4pt;border-top:#ece9d8;padding-left:5.4pt;padding-bottom:0in;border-left:windowtext 1pt solid;width:132.85pt;padding-top:0in;border-bottom:windowtext 1pt solid;background-color:transparent;mso-border-alt:solid windowtext .5pt;mso-border-top-alt:solid windowtext .5pt;"&gt;
&lt;p class="MsoNormal"&gt;&amp;lt;st1:place w:st=&amp;quot;on&amp;quot;&amp;gt;&amp;lt;st1:city w:st=&amp;quot;on&amp;quot;&amp;gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;Enterprise&lt;/span&gt;&amp;lt;/st1:city&amp;gt;&amp;lt;/st1:place&amp;gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt; Service Bus&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td width="206" valign="top" style="border-right:windowtext 1pt solid;padding-right:5.4pt;border-top:#ece9d8;padding-left:5.4pt;padding-bottom:0in;border-left:#ece9d8;width:154.4pt;padding-top:0in;border-bottom:windowtext 1pt solid;background-color:transparent;mso-border-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;mso-border-top-alt:solid windowtext .5pt;"&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;Methods put jobs onto the job queue&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td width="207" valign="top" style="border-right:windowtext 1pt solid;padding-right:5.4pt;border-top:#ece9d8;padding-left:5.4pt;padding-bottom:0in;border-left:#ece9d8;width:155.55pt;padding-top:0in;border-bottom:windowtext 1pt solid;background-color:transparent;mso-border-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;mso-border-top-alt:solid windowtext .5pt;"&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;Innovator responds to requests from the job queue&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow:5;"&gt;
&lt;td width="177" valign="top" style="border-right:windowtext 1pt solid;padding-right:5.4pt;border-top:#ece9d8;padding-left:5.4pt;padding-bottom:0in;border-left:windowtext 1pt solid;width:132.85pt;padding-top:0in;border-bottom:windowtext 1pt solid;background-color:transparent;mso-border-alt:solid windowtext .5pt;mso-border-top-alt:solid windowtext .5pt;"&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;API&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td width="206" valign="top" style="border-right:windowtext 1pt solid;padding-right:5.4pt;border-top:#ece9d8;padding-left:5.4pt;padding-bottom:0in;border-left:#ece9d8;width:154.4pt;padding-top:0in;border-bottom:windowtext 1pt solid;background-color:transparent;mso-border-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;mso-border-top-alt:solid windowtext .5pt;"&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;Innovator Methods call remote system API&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td width="207" valign="top" style="border-right:windowtext 1pt solid;padding-right:5.4pt;border-top:#ece9d8;padding-left:5.4pt;padding-bottom:0in;border-left:#ece9d8;width:155.55pt;padding-top:0in;border-bottom:windowtext 1pt solid;background-color:transparent;mso-border-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;mso-border-top-alt:solid windowtext .5pt;"&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;Remote system can use Innovator Object Model (IOM) API using COM or .Net&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow:6;mso-yfti-lastrow:yes;"&gt;
&lt;td width="177" valign="top" style="border-right:windowtext 1pt solid;padding-right:5.4pt;border-top:#ece9d8;padding-left:5.4pt;padding-bottom:0in;border-left:windowtext 1pt solid;width:132.85pt;padding-top:0in;border-bottom:windowtext 1pt solid;background-color:transparent;mso-border-alt:solid windowtext .5pt;mso-border-top-alt:solid windowtext .5pt;"&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;Other&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td width="206" valign="top" style="border-right:windowtext 1pt solid;padding-right:5.4pt;border-top:#ece9d8;padding-left:5.4pt;padding-bottom:0in;border-left:#ece9d8;width:154.4pt;padding-top:0in;border-bottom:windowtext 1pt solid;background-color:transparent;mso-border-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;mso-border-top-alt:solid windowtext .5pt;"&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;Methods can do anything .Net can do&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td width="207" valign="top" style="border-right:windowtext 1pt solid;padding-right:5.4pt;border-top:#ece9d8;padding-left:5.4pt;padding-bottom:0in;border-left:#ece9d8;width:155.55pt;padding-top:0in;border-bottom:windowtext 1pt solid;background-color:transparent;mso-border-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;mso-border-top-alt:solid windowtext .5pt;"&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/span&gt;&amp;lt;/o:p&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h1 style="margin:12pt 0in 3pt;"&gt;&lt;a name="_Toc216854220"&gt;&lt;span style="font-size:small;"&gt;Federated data-type&lt;/span&gt;&lt;/a&gt;&lt;/h1&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;When a Property is of data-type &amp;lsquo;Federated&amp;rsquo; it still appears on forms and in grids, just like every other Property, but no column is created in the database and values for the Property will ignored in Innovator unless means of providing and acting upon values are created.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;The simplest way to provide a value for a Federated Property is in an onAfterGet Server Event. This onAfterGet Server Event says &amp;ldquo;after you have done &lt;span style="background: SpringGreen;"&gt;what&lt;/span&gt; you normally do, execute this Method&amp;rdquo;. The Method code can get a value in any way it chooses and return it in the context Item for further processing. For a get request this means the value will be stored in the client cache and appear in any Forms or Grids just like all the other properties.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;When the value is returned to the server by a save or other code it will be ignored, unless means are provided to act on it.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;Note there is also a Foreign data-type which serves a different purpose. Foreign Properties have no column in the database either, but values are provided from Properties of type Item in the same ItemType.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h1 style="margin:12pt 0in 3pt;"&gt;&lt;a name="_Toc216854221"&gt;&lt;span style="font-size:small;"&gt;Federated ItemType&lt;/span&gt;&lt;/a&gt;&lt;/h1&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;ItemTypes can be of Implementation &amp;lsquo;Table&amp;rsquo;, &amp;lsquo;Federated&amp;rsquo; or &amp;lsquo;Polymorphic&amp;rsquo;.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol;"&gt;&lt;span style="mso-list:Ignore;"&gt;&amp;middot;&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;Table is the ordinary implementation used by most ItemTypes.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol;"&gt;&lt;span style="mso-list:Ignore;"&gt;&amp;middot;&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;Federated means that at least some of the values of the Properties for the Item will come from a source other than the Innovator database.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol;"&gt;&lt;span style="mso-list:Ignore;"&gt;&amp;middot;&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;Polymorphic is used for PolyItems like Deliverable in the Program Management Solution and Affected Item in the Product Engineering Solution&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;Selecting Federated Implementation type does not actually change the behavior of an ItemType, the behavior needs to be implemented by Server Events, so Federated Implementation is more of a flag than a switch. (Note this is different for Polymorphic, selecting Polymorphic determines the behavior of the ItemType when it is created and you cannot change Polymorphic to or from other implementation types.)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;Federated behavior for an ItemType is provided by using onAdd, onGet, onUpdate and onDelete Server Events. &amp;lsquo;on&amp;rsquo; Events are distinct from &amp;lsquo;onBefore&amp;rsquo; and &amp;lsquo;onAfter&amp;rsquo; events. &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol;"&gt;&lt;span style="mso-list:Ignore;"&gt;&amp;middot;&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&amp;lsquo;onBefore&amp;rsquo; events say &amp;ldquo;before you do what you normally do, do this&amp;rdquo;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol;"&gt;&lt;span style="mso-list:Ignore;"&gt;&amp;middot;&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&amp;lsquo;onAfter&amp;rsquo; events say &amp;ldquo;after you do what you normally do, do this&amp;rdquo;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol;"&gt;&lt;span style="mso-list:Ignore;"&gt;&amp;middot;&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&amp;lsquo;on&amp;rsquo; evens say &amp;ldquo;instead of doing what you normally do, do this&amp;rdquo;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;If no onAdd, onGet, onUpdate and onDelete Server Events are created for a Federated Implementation, the Item will behave like an ordinary Table Implementation.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;If onAdd, onGet, onUpdate and onDelete Server Events are created with Method code that does nothing, the ItemType will exist but there will be no instances and no&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;behavior.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;The simplest Federated Item would have an onGet Server Event which would provide values whenever a get request was made. There would be no data in the Innovator database for the ItemType but values would be returned by the Innovator Server and displayed in the Innovator Client . The values would be determined by the Method code. This would be appropriate for the case where it was required to simply show information from a remote data source in Innovator.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;For more complex requirements where information about an item may be shared between Innovator and remote data sources, a stub Item may be stored in the Innovator database including a unique key to the remote data and any data managed in Innovator, other data would be retrieved from the remote data source when needed. In this case a combination of onAdd, onGet, onUpdate and onDelete Server Events can be designed to create the behavior required. In order to do the required behavior is must be clearly defined.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;When any instance data is added to the Innovator database, system properties such as id, created_on, created_by, state etc are created automatically. When this occurs the Item will be able to have any and all standard Innovator behaviors including Permissions, History, Relationships, Lifecycle and Workflow. These behaviors can augment the data stored in remote systems.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h1 style="margin:12pt 0in 3pt;"&gt;&lt;a name="_Toc216854222"&gt;&lt;span style="font-size:small;"&gt;Choosing on&amp;hellip;, onBefore&amp;hellip; or onAfter&amp;hellip; for Server Events&lt;/span&gt;&lt;/a&gt;&lt;/h1&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;The Event for Sever Events needs to be chosen by considering&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;mso-fareast-font-family:Arial;"&gt;&lt;span style="mso-list:Ignore;"&gt;a)&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;the intended behavior&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;mso-fareast-font-family:Arial;"&gt;&lt;span style="mso-list:Ignore;"&gt;b)&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;how Innovator works&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;For the example:&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;CI Inventory&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol;"&gt;&lt;span style="mso-list:Ignore;"&gt;&amp;middot;&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;onGet is used because we want to replace standard Innovator behavior&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;CI Order&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol;"&gt;&lt;span style="mso-list:Ignore;"&gt;&amp;middot;&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;onAfterGet is used because we want to get data from the Innovator database then use it to get data from the remote system&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol;"&gt;&lt;span style="mso-list:Ignore;"&gt;&amp;middot;&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;onAfterAdd, onAfterUpdate is used because we want Innovator to do whqt it normally does, onBefore would probably work as well&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol;"&gt;&lt;span style="mso-list:Ignore;"&gt;&amp;middot;&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;onBeforeDelete is used because we won&amp;rsquo;t be able to get data we need after we delete it&lt;/span&gt;&lt;/p&gt;
&lt;h1 style="margin:12pt 0in 3pt;"&gt;&lt;a name="_Toc216854223"&gt;&lt;span style="mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;Standard Work for Implementing Federated Data in Innovator&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/h1&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;mso-fareast-font-family:Arial;"&gt;&lt;span style="mso-list:Ignore;"&gt;1.&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;Determine the sources and desired behavior for data to be federated. It helps to document this in a Use Case.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;mso-fareast-font-family:Arial;"&gt;&lt;span style="mso-list:Ignore;"&gt;2.&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;Design the Data Model identifying ItemTypes, Relationships, Properties indicating which will be federated and which stored in Innovator.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;mso-fareast-font-family:Arial;"&gt;&lt;span style="mso-list:Ignore;"&gt;3.&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;Select and test the interface type to be used.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;mso-fareast-font-family:Arial;"&gt;&lt;span style="mso-list:Ignore;"&gt;4.&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;Build the Data Model&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;mso-fareast-font-family:Arial;"&gt;&lt;span style="mso-list:Ignore;"&gt;5.&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;Implement Server Events&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;mso-fareast-font-family:Arial;"&gt;&lt;span style="mso-list:Ignore;"&gt;6.&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;Test the application&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&lt;br style="mso-special-character:line-break;" /&gt;&lt;br style="mso-special-character:line-break;" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;span style="font-size:12pt;font-family:Arial;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-size:16.0pt;mso-font-kerning:16.0pt;mso-ansi-language:EN-US;mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;&lt;br clear="all" style="page-break-before:always;" /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;h1 style="margin:12pt 0in 3pt;"&gt;&lt;a name="OLE_LINK1"&gt;&lt;/a&gt;&lt;a name="_Toc216854224"&gt;&lt;span&gt;&lt;span style="font-size:small;"&gt;Example Use Case&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span&gt;&lt;/span&gt;&lt;/h1&gt;
&lt;p class="MsoNormal"&gt;&lt;span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span&gt;&lt;span style="font-size:10pt;font-family:Arial;mso-fareast-font-family:Arial;"&gt;&lt;span style="mso-list:Ignore;"&gt;1.&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;Use case summary&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;mso-fareast-font-family:Arial;"&gt;&lt;span style="mso-list:Ignore;"&gt;a.&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;In the simple Retail Catalog application used in Admin, Workflow and API training a Retail Catalog has a relationship to Catalog Items,&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;we will add the following Federated Data&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;mso-fareast-font-family:Arial;"&gt;&lt;span style="mso-list:Ignore;"&gt;b.&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;Catalog Items will have two relationships CI Inventory and CI Order&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;mso-fareast-font-family:Arial;"&gt;&lt;span style="mso-list:Ignore;"&gt;c.&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;CI Inventory represents the inventory on hand at each Catalog Item at several warehouses&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;mso-fareast-font-family:Arial;"&gt;&lt;span style="mso-list:Ignore;"&gt;d.&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;CI Order represents orders to replenish inventory for a single Catalog Item at a single warehouse&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;mso-fareast-font-family:Arial;"&gt;&lt;span style="mso-list:Ignore;"&gt;e.&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;CI Inventory data will be provided by a remote system, no data will reside in Innovator but inventory records will be shown in the Catalog Item relationship grid.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;mso-fareast-font-family:Arial;"&gt;&lt;span style="mso-list:Ignore;"&gt;f.&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;Catalog Item will have a property indicating the quantity in stock which will be retrieved from data on the remote system calculated as sum of quantity on hand at all warehouses.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;mso-fareast-font-family:Arial;"&gt;&lt;span style="mso-list:Ignore;"&gt;g.&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;CI Order data will be shared between Innovator and the remote system and will shown in the Catalog Item relationship grid.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;mso-fareast-font-family:Arial;"&gt;&lt;span style="mso-list:Ignore;"&gt;h.&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;CI Order records may be added in either Innovator or the remote system, the remote system alone will control the quantity received.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;mso-fareast-font-family:Arial;"&gt;&lt;span style="mso-list:Ignore;"&gt;i.&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;A Lifecycle will be implemented in Innovator for CI Orders. Orders with qty received less than qty ordered will be in the &amp;lt;st1:place w:st=&amp;quot;on&amp;quot;&amp;gt;&amp;lt;st1:placename w:st=&amp;quot;on&amp;quot;&amp;gt;Open&amp;lt;/st1:placename&amp;gt; &amp;lt;st1:placetype w:st=&amp;quot;on&amp;quot;&amp;gt;State&amp;lt;/st1:placetype&amp;gt;&amp;lt;/st1:place&amp;gt; and other orders will be in the Closed state&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;mso-fareast-font-family:Arial;"&gt;&lt;span style="mso-list:Ignore;"&gt;2.&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;Innovator Items&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;mso-fareast-font-family:Arial;"&gt;&lt;span style="mso-list:Ignore;"&gt;a.&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;ItemType Retail Catalog&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;mso-fareast-font-family:Arial;"&gt;&lt;span style="mso-list:Ignore;"&gt;&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;i.&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;Implementation: Table&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;mso-fareast-font-family:Arial;"&gt;&lt;span style="mso-list:Ignore;"&gt;b.&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;ItemType Catalog Item&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;mso-fareast-font-family:Arial;"&gt;&lt;span style="mso-list:Ignore;"&gt;&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;i.&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;Implementation: Table&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;mso-fareast-font-family:Arial;"&gt;&lt;span style="mso-list:Ignore;"&gt;c.&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;RelationshipType Retail Catalog Item&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;mso-fareast-font-family:Arial;"&gt;&lt;span style="mso-list:Ignore;"&gt;&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;i.&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;Source: Retail Catalog&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;mso-fareast-font-family:Arial;"&gt;&lt;span style="mso-list:Ignore;"&gt;&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;ii.&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;Related: Catalog Item&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;mso-fareast-font-family:Arial;"&gt;&lt;span style="mso-list:Ignore;"&gt;&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;iii.&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;Relationship ItemType Implementation: Table&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;mso-fareast-font-family:Arial;"&gt;&lt;span style="mso-list:Ignore;"&gt;d.&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;RelationshipType CI Inventory&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;mso-fareast-font-family:Arial;"&gt;&lt;span style="mso-list:Ignore;"&gt;&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;i.&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;Source: Catalog Item&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;mso-fareast-font-family:Arial;"&gt;&lt;span style="mso-list:Ignore;"&gt;&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;ii.&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;No related&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;mso-fareast-font-family:Arial;"&gt;&lt;span style="mso-list:Ignore;"&gt;&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;iii.&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;Relationship ItemType Implementation: Federated, no data in Innovator&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;mso-fareast-font-family:Arial;"&gt;&lt;span style="mso-list:Ignore;"&gt;&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;iv.&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;ServerEvent on get to implement business rules&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;mso-fareast-font-family:Arial;"&gt;&lt;span style="mso-list:Ignore;"&gt;e.&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;RelationshipType CI Order&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;mso-fareast-font-family:Arial;"&gt;&lt;span style="mso-list:Ignore;"&gt;&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;i.&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;Source: Catalog Item&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;mso-fareast-font-family:Arial;"&gt;&lt;span style="mso-list:Ignore;"&gt;&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;ii.&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;Relationship ItemType Implementation: Federated, stub data in Innovator&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;mso-fareast-font-family:Arial;"&gt;&lt;span style="mso-list:Ignore;"&gt;&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;iii.&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;No related&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;mso-fareast-font-family:Arial;"&gt;&lt;span style="mso-list:Ignore;"&gt;&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;iv.&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;Lifecyle Open and Closed, World can promote&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;mso-fareast-font-family:Arial;"&gt;&lt;span style="mso-list:Ignore;"&gt;&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;v.&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;ServerEvents on get, add, update and delete to implement business rules&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:10pt;font-family:Arial;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:EN-US;mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;&lt;br clear="all" style="page-break-before:always;mso-special-character:line-break;" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;mso-fareast-font-family:Arial;"&gt;&lt;span style="mso-list:Ignore;"&gt;3.&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;Business rules&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;mso-fareast-font-family:Arial;"&gt;&lt;span style="mso-list:Ignore;"&gt;a.&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;For Catalog Item show sum of quantity on hand at all warehouses&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;mso-fareast-font-family:Arial;"&gt;&lt;span style="mso-list:Ignore;"&gt;b.&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;For Catalog Inventory show warehouse and qty on hand&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;mso-fareast-font-family:Arial;"&gt;&lt;span style="mso-list:Ignore;"&gt;c.&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;For Catalog Item Order show warehouse, qty on order, qty received&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;mso-fareast-font-family:Arial;"&gt;&lt;span style="mso-list:Ignore;"&gt;a.&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;Since Catalog Item Order has data shared between Innovator and the remote system we need to define where information can be added changed and deleted in these rules. You may choose different rules according the business need.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;mso-fareast-font-family:Arial;"&gt;&lt;span style="mso-list:Ignore;"&gt;b.&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;CI Orders will only be displayed in the relationship grid of Catalog Items, ie where the source_id is known.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;mso-fareast-font-family:Arial;"&gt;&lt;span style="mso-list:Ignore;"&gt;c.&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;When a new CI Order is added to Innovator and it does not exist on the remote system, it will be added to both systems&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;mso-fareast-font-family:Arial;"&gt;&lt;span style="mso-list:Ignore;"&gt;d.&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;When a CI Order order quantity is edited in Innovator it will also be updated on the remote system&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;mso-fareast-font-family:Arial;"&gt;&lt;span style="mso-list:Ignore;"&gt;e.&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;When a CI Order is deleted in Innovator, it will be deleted from the remote system also&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;mso-fareast-font-family:Arial;"&gt;&lt;span style="mso-list:Ignore;"&gt;f.&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;An action may be run in Innovator which will synchronize data between Innovator and the remote system&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;mso-fareast-font-family:Arial;"&gt;&lt;span style="mso-list:Ignore;"&gt;&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;i.&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;An CI Orders on the remote system but not in Innovator will be added to Innovator&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;mso-fareast-font-family:Arial;"&gt;&lt;span style="mso-list:Ignore;"&gt;&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;ii.&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;Any CI Orders not on the remote system but in Innovator will be deleted from Innovator&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;mso-fareast-font-family:Arial;"&gt;&lt;span style="mso-list:Ignore;"&gt;&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;iii.&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;All CI Orders in Innovator will be promoted to the appropriate state&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;mso-fareast-font-family:Arial;"&gt;&lt;span style="mso-list:Ignore;"&gt;4.&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;User Interface&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;mso-fareast-font-family:Arial;"&gt;&lt;span style="mso-list:Ignore;"&gt;a.&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;No special requirements&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;span style="font-size:12pt;font-family:Arial;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-size:16.0pt;mso-font-kerning:16.0pt;mso-ansi-language:EN-US;mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;&lt;br clear="all" style="page-break-before:always;" /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;h1 style="margin:12pt 0in 3pt;"&gt;&lt;a name="_Toc216854225"&gt;&lt;span style="font-size:small;"&gt;IMPLEMENTATION OF EXAMPLE&lt;/span&gt;&lt;/a&gt;&lt;/h1&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;A SQL interface will be used.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;For simplicity &amp;lsquo;remote data&amp;rsquo; will be in tables not owned by innovator. Data might just as easily be in a linked server, which can be referenced directly using sql in the Innovator data server&lt;/span&gt;&lt;/p&gt;
&lt;h2 style="margin:12pt 0in 3pt;"&gt;&lt;a name="_Toc216854226"&gt;&lt;span style="font-size:small;"&gt;Remote table definitions&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;CREATE TABLE [dbo].[fed_ci_inventory](&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;[wh] [varchar](1) NULL,&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;[item_number] [nvarchar](7) NULL,&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;[qty_oh] [int] NULL&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;) ON [PRIMARY]&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;CREATE TABLE [dbo].[fed_ci_order](&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;[ordno] [int] NULL,&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;[wh] [char](1) NULL,&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;[item_number] [varchar](8) NULL,&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;[qty_ord] [int] NULL,&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;[qty_rcd] [int] NULL&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;) ON [PRIMARY]&lt;/span&gt;&lt;/p&gt;
&lt;h2 style="margin:12pt 0in 3pt;"&gt;&lt;a name="_Toc216854227"&gt;&lt;span style="font-size:small;"&gt;CI Inventory, ServerEvent, onGet&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p class="MsoNormal"&gt;&lt;i&gt;&lt;span style="font-size:11pt;color:green;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;// get the item_number, it&amp;#39;s not passed automatically&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;Item qry0 &lt;span style="color:red;"&gt;=&lt;/span&gt; &lt;b&gt;&lt;span style="color:blue;"&gt;this&lt;/span&gt;&lt;/b&gt;&lt;span style="color:red;"&gt;.&lt;/span&gt;newItem(&lt;span style="color:purple;"&gt;&amp;quot;Catalog Item&amp;quot;&lt;/span&gt;);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;qry0&lt;span style="color:red;"&gt;.&lt;/span&gt;setAttribute(&lt;span style="color:purple;"&gt;&amp;quot;select&amp;quot;&lt;/span&gt;,&lt;span style="color:purple;"&gt;&amp;quot;item_number&amp;quot;&lt;/span&gt;);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;qry0&lt;span style="color:red;"&gt;.&lt;/span&gt;setID(&lt;b&gt;&lt;span style="color:blue;"&gt;this&lt;/span&gt;&lt;/b&gt;&lt;span style="color:red;"&gt;.&lt;/span&gt;getProperty(&lt;span style="color:purple;"&gt;&amp;quot;source_id&amp;quot;&lt;/span&gt;));&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;Item res&lt;span style="color:red;"&gt;=&lt;/span&gt;qry0&lt;span style="color:red;"&gt;.&lt;/span&gt;apply(&lt;span style="color:purple;"&gt;&amp;quot;get&amp;quot;&lt;/span&gt;);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-size:11pt;color:blue;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;if&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt; (res&lt;span style="color:red;"&gt;.&lt;/span&gt;isError()) &lt;b&gt;&lt;span style="color:blue;"&gt;return&lt;/span&gt;&lt;/b&gt; res;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;i&gt;&lt;span style="font-size:11pt;color:green;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;// get federated data&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;i&gt;&lt;span style="font-size:11pt;color:green;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;// we use a SQL Item here rather than applySQL(...)&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;i&gt;&lt;span style="font-size:11pt;color:green;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;// because SQL PROCESS conveniently takes&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;i&gt;&lt;span style="font-size:11pt;color:green;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;// id and type columns from the result set&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;i&gt;&lt;span style="font-size:11pt;color:green;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;// and turns them into attributes of the returned Items&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;Item qry1 &lt;span style="color:red;"&gt;=&lt;/span&gt; &lt;b&gt;&lt;span style="color:blue;"&gt;this&lt;/span&gt;&lt;/b&gt;&lt;span style="color:red;"&gt;.&lt;/span&gt;newItem(&lt;span style="color:purple;"&gt;&amp;quot;SQL&amp;quot;&lt;/span&gt;,&lt;span style="color:purple;"&gt;&amp;quot;SQL PROCESS&amp;quot;&lt;/span&gt;);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;qry1&lt;span style="color:red;"&gt;.&lt;/span&gt;setProperty(&lt;span style="color:purple;"&gt;&amp;quot;name&amp;quot;&lt;/span&gt;,&lt;span style="color:purple;"&gt;&amp;quot;select_ci_inventory&amp;quot;&lt;/span&gt;);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;qry1&lt;span style="color:red;"&gt;.&lt;/span&gt;setProperty(&lt;span style="color:purple;"&gt;&amp;quot;PROCESS&amp;quot;&lt;/span&gt;,&lt;span style="color:purple;"&gt;&amp;quot;CALL&amp;quot;&lt;/span&gt;);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;qry1&lt;span style="color:red;"&gt;.&lt;/span&gt;setProperty(&lt;span style="color:purple;"&gt;&amp;quot;ARG1&amp;quot;&lt;/span&gt;, res&lt;span style="color:red;"&gt;.&lt;/span&gt;getProperty(&lt;span style="color:purple;"&gt;&amp;quot;item_number&amp;quot;&lt;/span&gt;));&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;res &lt;span style="color:red;"&gt;=&lt;/span&gt; qry1&lt;span style="color:red;"&gt;.&lt;/span&gt;apply();&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-size:11pt;color:blue;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;return&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt; res&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h2 style="margin:12pt 0in 3pt;"&gt;&lt;a name="_Toc216854228"&gt;&lt;span style="font-size:small;"&gt;SQL Item, SELECT_CI_INVENTORY&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;create procedure select_ci_inventory (@ci varchar(8))&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;AS&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;BEGIN&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;select replace(NewID(),&amp;#39;-&amp;#39;,&amp;#39;&amp;#39;)&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;id, &amp;#39;CI Inventory&amp;#39;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;type, *&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;from dbo.fed_ci_inventory&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;where item_number=@ci&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;END&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:10pt;font-family:Arial;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:EN-US;mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;&lt;br clear="all" style="page-break-before:always;mso-special-character:line-break;" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h2 style="margin:12pt 0in 3pt;"&gt;&lt;a name="_Toc216854229"&gt;&lt;span style="font-size:small;"&gt;CI Order, ServerEvent, onAfterGet&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;i&gt;&lt;span style="font-size:11pt;color:green;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;// onAfterGet may return a single Item for example to populate an Item Window &lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;i&gt;&lt;span style="font-size:11pt;color:green;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;// or a collection of Items for example to populate the Main Grid&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;i&gt;&lt;span style="font-size:11pt;color:green;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;// so we loop through the context Item&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-size:11pt;color:blue;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;for&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt; (&lt;b&gt;&lt;span style="color:blue;"&gt;int&lt;/span&gt;&lt;/b&gt; i&lt;span style="color:red;"&gt;=&lt;/span&gt;0;i&lt;span style="color:red;"&gt;&amp;lt;&lt;/span&gt;&lt;b&gt;&lt;span style="color:blue;"&gt;this&lt;/span&gt;&lt;/b&gt;&lt;span style="color:red;"&gt;.&lt;/span&gt;getItemCount();i&lt;span style="color:red;"&gt;++&lt;/span&gt;)&lt;b&gt;&lt;span style="color:blue;"&gt;{&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Item ci &lt;span style="color:red;"&gt;=&lt;/span&gt; &lt;b&gt;&lt;span style="color:blue;"&gt;this&lt;/span&gt;&lt;/b&gt;&lt;span style="color:red;"&gt;.&lt;/span&gt;getItemByIndex(i);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;i&gt;&lt;span style="color:green;"&gt;// get data for the key to the remote system&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;b&gt;&lt;span style="color:blue;"&gt;string&lt;/span&gt;&lt;/b&gt; ordno &lt;span style="color:red;"&gt;=&lt;/span&gt;ci&lt;span style="color:red;"&gt;.&lt;/span&gt;getProperty(&lt;span style="color:purple;"&gt;&amp;quot;ordno&amp;quot;&lt;/span&gt;);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;b&gt;&lt;span style="color:blue;"&gt;string&lt;/span&gt;&lt;/b&gt; wh&lt;span style="color:red;"&gt;=&lt;/span&gt;ci&lt;span style="color:red;"&gt;.&lt;/span&gt;getProperty(&lt;span style="color:purple;"&gt;&amp;quot;wh&amp;quot;&lt;/span&gt;);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;b&gt;&lt;span style="color:blue;"&gt;string&lt;/span&gt;&lt;/b&gt; item_number&lt;span style="color:red;"&gt;=&lt;/span&gt;ci&lt;span style="color:red;"&gt;.&lt;/span&gt;getProperty(&lt;span style="color:purple;"&gt;&amp;quot;item_number&amp;quot;&lt;/span&gt;);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;b&gt;&lt;span style="color:blue;"&gt;if&lt;/span&gt;&lt;/b&gt; (ordno&lt;span style="color:red;"&gt;==&lt;/span&gt;&lt;b&gt;&lt;span style="color:blue;"&gt;null&lt;/span&gt;&lt;/b&gt;&lt;span style="color:red;"&gt;||&lt;/span&gt;wh&lt;span style="color:red;"&gt;==&lt;/span&gt;&lt;b&gt;&lt;span style="color:blue;"&gt;null&lt;/span&gt;&lt;/b&gt;&lt;span style="color:red;"&gt;||&lt;/span&gt;item_number&lt;span style="color:red;"&gt;==&lt;/span&gt;&lt;b&gt;&lt;span style="color:blue;"&gt;null&lt;/span&gt;&lt;/b&gt;)&lt;b&gt;&lt;span style="color:blue;"&gt;{&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:2;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;i&gt;&lt;span style="color:green;"&gt;// the context Item might only contain the id&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:2;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;i&gt;&lt;span style="color:green;"&gt;// in which case we&amp;#39;ll get them from the server&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:2;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Item ci2&lt;span style="color:red;"&gt;=&lt;/span&gt; &lt;b&gt;&lt;span style="color:blue;"&gt;this&lt;/span&gt;&lt;/b&gt;&lt;span style="color:red;"&gt;.&lt;/span&gt;newItem(&lt;span style="color:purple;"&gt;&amp;quot;CI Order&amp;quot;&lt;/span&gt;);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:2;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;ci2&lt;span style="color:red;"&gt;.&lt;/span&gt;setID(&lt;b&gt;&lt;span style="color:blue;"&gt;this&lt;/span&gt;&lt;/b&gt;&lt;span style="color:red;"&gt;.&lt;/span&gt;getItemByIndex(i)&lt;span style="color:red;"&gt;.&lt;/span&gt;getID());&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:2;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;ci2&lt;span style="color:red;"&gt;.&lt;/span&gt;setAttribute(&lt;span style="color:purple;"&gt;&amp;quot;select&amp;quot;&lt;/span&gt;,&lt;span style="color:purple;"&gt;&amp;quot;ordno,wh,item_number&amp;quot;&lt;/span&gt;);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:2;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;ci2&lt;span style="color:red;"&gt;=&lt;/span&gt;ci2&lt;span style="color:red;"&gt;.&lt;/span&gt;apply(&lt;span style="color:purple;"&gt;&amp;quot;get&amp;quot;&lt;/span&gt;);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:2;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;b&gt;&lt;span style="color:blue;"&gt;if&lt;/span&gt;&lt;/b&gt; (ci2&lt;span style="color:red;"&gt;.&lt;/span&gt;isError()) &lt;b&gt;&lt;span style="color:blue;"&gt;return&lt;/span&gt;&lt;/b&gt; ci;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:2;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;ordno &lt;span style="color:red;"&gt;=&lt;/span&gt;ci2&lt;span style="color:red;"&gt;.&lt;/span&gt;getProperty(&lt;span style="color:purple;"&gt;&amp;quot;ordno&amp;quot;&lt;/span&gt;);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:2;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;wh&lt;span style="color:red;"&gt;=&lt;/span&gt;ci2&lt;span style="color:red;"&gt;.&lt;/span&gt;getProperty(&lt;span style="color:purple;"&gt;&amp;quot;wh&amp;quot;&lt;/span&gt;);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:2;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;item_number&lt;span style="color:red;"&gt;=&lt;/span&gt;ci2&lt;span style="color:red;"&gt;.&lt;/span&gt;getProperty(&lt;span style="color:purple;"&gt;&amp;quot;item_number&amp;quot;&lt;/span&gt;);&lt;span style="mso-tab-count:2;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;b&gt;&lt;span style="color:blue;"&gt;}&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;i&gt;&lt;span style="color:green;"&gt;// retrieve data from the remote system&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;i&gt;&lt;span style="font-size:11pt;color:green;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;// in this case we&amp;rsquo;ll use applySQL(&amp;hellip;)&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;i&gt;&lt;span style="font-size:11pt;color:green;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;// all the code is in the method, no separate SQL Item&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;i&gt;&lt;span style="font-size:11pt;color:green;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;// in C# the @&amp;rdquo;&amp;hellip;&amp;rdquo; indicates a string literal&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;i&gt;&lt;span style="font-size:11pt;color:green;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;// so the string can include linebreaks&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;i&gt;&lt;span style="font-size:11pt;color:green;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;// and String.Format(&amp;hellip;) makess substitutions&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;b&gt;&lt;span style="color:blue;"&gt;string&lt;/span&gt;&lt;/b&gt; sql&lt;span style="color:red;"&gt;=&lt;/span&gt;&lt;span style="color:purple;"&gt;@&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;select qty_rcd from dbo&lt;span style="color:red;"&gt;.&lt;/span&gt;fed_ci_order &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;where ordno&lt;span style="color:red;"&gt;=&lt;/span&gt;&lt;b&gt;&lt;span style="color:blue;"&gt;{&lt;/span&gt;&lt;/b&gt;0&lt;b&gt;&lt;span style="color:blue;"&gt;}&lt;/span&gt;&lt;/b&gt; and wh&lt;span style="color:red;"&gt;=&lt;/span&gt;&lt;b&gt;&lt;span style="color:blue;"&gt;{&lt;/span&gt;&lt;/b&gt;1&lt;b&gt;&lt;span style="color:blue;"&gt;}&lt;/span&gt;&lt;/b&gt; and item_number&lt;span style="color:red;"&gt;=&lt;/span&gt;&lt;span style="color:purple;"&gt;&amp;#39;{2}&amp;#39;&amp;quot;;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;sql&lt;span style="color:red;"&gt;=&lt;/span&gt;String&lt;span style="color:red;"&gt;.&lt;/span&gt;Format(sql,ordno,wh,item_number);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Item res &lt;span style="color:red;"&gt;=&lt;/span&gt;&lt;b&gt;&lt;span style="color:blue;"&gt;this&lt;/span&gt;&lt;/b&gt;&lt;span style="color:red;"&gt;.&lt;/span&gt;getInnovator()&lt;span style="color:red;"&gt;.&lt;/span&gt;applySQL(sql);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;b&gt;&lt;span style="color:blue;"&gt;if&lt;/span&gt;&lt;/b&gt; (res&lt;span style="color:red;"&gt;.&lt;/span&gt;isError()) &lt;b&gt;&lt;span style="color:blue;"&gt;return&lt;/span&gt;&lt;/b&gt; res;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;i&gt;&lt;span style="color:green;"&gt;// update context Item with retrieved data&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;b&gt;&lt;span style="color:blue;"&gt;if&lt;/span&gt;&lt;/b&gt; (res&lt;span style="color:red;"&gt;.&lt;/span&gt;getResult()&lt;span style="color:red;"&gt;!=&lt;/span&gt;&lt;span style="color:purple;"&gt;&amp;quot;&amp;quot;&lt;/span&gt;)&lt;b&gt;&lt;span style="color:blue;"&gt;{&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:2;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;b&gt;&lt;span style="color:blue;"&gt;string&lt;/span&gt;&lt;/b&gt; qty_rcd &lt;span style="color:red;"&gt;=&lt;/span&gt; res&lt;span style="color:red;"&gt;.&lt;/span&gt;getProperty(&lt;span style="color:purple;"&gt;&amp;quot;qty_rcd&amp;quot;&lt;/span&gt;,&lt;span style="color:purple;"&gt;&amp;quot;0&amp;quot;&lt;/span&gt;);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:2;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;ci&lt;span style="color:red;"&gt;.&lt;/span&gt;setProperty(&lt;span style="color:purple;"&gt;&amp;quot;qty_rcd&amp;quot;&lt;/span&gt;,qty_rcd);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;b&gt;&lt;span style="color:blue;"&gt;}&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-size:11pt;color:blue;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;}&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;i&gt;&lt;span style="font-size:11pt;color:green;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;// pass updated contextItem back to Innovator&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-size:11pt;color:blue;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;return&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt; &lt;b&gt;&lt;span style="color:blue;"&gt;this&lt;/span&gt;&lt;/b&gt;;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:EN-US;mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;&lt;br clear="all" style="page-break-before:always;mso-special-character:line-break;" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h2 style="margin:12pt 0in 3pt;"&gt;&lt;a name="_Toc216854230"&gt;&lt;span style="font-size:small;"&gt;CI Order, Server Event, onAfterAdd&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p class="MsoNormal"&gt;&amp;lt;o:p&amp;gt;&lt;span style="font-size:small;font-family:Times New Roman;"&gt;&amp;nbsp;&lt;/span&gt;&amp;lt;/o:p&amp;gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;i&gt;&lt;span style="font-size:11pt;color:green;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;// get data for key to remote system from context Item&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-size:11pt;color:blue;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;string&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt; ordno&lt;span style="color:red;"&gt;=&lt;/span&gt;&lt;b&gt;&lt;span style="color:blue;"&gt;this&lt;/span&gt;&lt;/b&gt;&lt;span style="color:red;"&gt;.&lt;/span&gt;getProperty(&lt;span style="color:purple;"&gt;&amp;quot;ordno&amp;quot;&lt;/span&gt;);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-size:11pt;color:blue;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;string&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt; wh&lt;span style="color:red;"&gt;=&lt;/span&gt;&lt;b&gt;&lt;span style="color:blue;"&gt;this&lt;/span&gt;&lt;/b&gt;&lt;span style="color:red;"&gt;.&lt;/span&gt;getProperty(&lt;span style="color:purple;"&gt;&amp;quot;wh&amp;quot;&lt;/span&gt;);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-size:11pt;color:blue;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;string&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt; item_number&lt;span style="color:red;"&gt;=&lt;/span&gt;&lt;b&gt;&lt;span style="color:blue;"&gt;this&lt;/span&gt;&lt;/b&gt;&lt;span style="color:red;"&gt;.&lt;/span&gt;getProperty(&lt;span style="color:purple;"&gt;&amp;quot;item_number&amp;quot;&lt;/span&gt;);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-size:11pt;color:blue;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;string&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt; qty_ord&lt;span style="color:red;"&gt;=&lt;/span&gt;&lt;b&gt;&lt;span style="color:blue;"&gt;this&lt;/span&gt;&lt;/b&gt;&lt;span style="color:red;"&gt;.&lt;/span&gt;getProperty(&lt;span style="color:purple;"&gt;&amp;quot;qty_ord&amp;quot;&lt;/span&gt;);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;i&gt;&lt;span style="font-size:11pt;color:green;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;// add a new row to the remote system&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-size:11pt;color:blue;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;string&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt; sql&lt;span style="color:red;"&gt;=&lt;/span&gt;&lt;span style="color:purple;"&gt;@&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;insert into dbo&lt;span style="color:red;"&gt;.&lt;/span&gt;fed_ci_order select &lt;span style="color:purple;"&gt;&amp;#39;{0}&amp;#39;&lt;/span&gt;,&lt;span style="color:purple;"&gt;&amp;#39;{1}&amp;#39;&lt;/span&gt;,&lt;span style="color:purple;"&gt;&amp;#39;{2}&amp;#39;&lt;/span&gt;,&lt;span style="color:purple;"&gt;&amp;#39;{3}&amp;#39;&lt;/span&gt;, &lt;b&gt;&lt;span style="color:blue;"&gt;null&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;where not exists&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;(select &lt;span style="color:red;"&gt;*&lt;/span&gt; from dbo&lt;span style="color:red;"&gt;.&lt;/span&gt;fed_ci_order&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;where ordno&lt;span style="color:red;"&gt;=&lt;/span&gt;&lt;b&gt;&lt;span style="color:blue;"&gt;{&lt;/span&gt;&lt;/b&gt;0&lt;b&gt;&lt;span style="color:blue;"&gt;}&lt;/span&gt;&lt;/b&gt; and wh&lt;span style="color:red;"&gt;=&lt;/span&gt;&lt;b&gt;&lt;span style="color:blue;"&gt;{&lt;/span&gt;&lt;/b&gt;1&lt;b&gt;&lt;span style="color:blue;"&gt;}&lt;/span&gt;&lt;/b&gt; and item_number&lt;span style="color:red;"&gt;=&lt;/span&gt;&lt;span style="color:purple;"&gt;&amp;#39;{2}&amp;#39;&lt;/span&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;color:purple;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&amp;quot;;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;sql&lt;span style="color:red;"&gt;=&lt;/span&gt;String&lt;span style="color:red;"&gt;.&lt;/span&gt;Format(sql,ordno,wh,item_number,qty_ord);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;Item result&lt;span style="color:red;"&gt;=&lt;/span&gt;&lt;b&gt;&lt;span style="color:blue;"&gt;this&lt;/span&gt;&lt;/b&gt;&lt;span style="color:red;"&gt;.&lt;/span&gt;getInnovator()&lt;span style="color:red;"&gt;.&lt;/span&gt;applySQL(sql);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;i&gt;&lt;span style="font-size:11pt;color:green;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;// no further processing in Innovator&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;i&gt;&lt;span style="font-size:11pt;color:green;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;// but c# must return something, if it&amp;#39;s an error the add will roll back&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
&lt;h2 style="margin:12pt 0in 3pt;"&gt;&lt;span style="font-size:11pt;color:blue;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;a name="_Toc216854231"&gt;&lt;span style="font-size:small;"&gt;CI Order, Server Event, onAfterUpdate&lt;/span&gt;&lt;/a&gt;&lt;span&gt;&lt;/span&gt;&lt;span style="font-size:11pt;color:blue;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p class="MsoNormal"&gt;&lt;i&gt;&lt;span style="font-size:11pt;color:green;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;// get data for key to remote system from context Item&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-size:11pt;color:blue;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;string&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt; ordno&lt;span style="color:red;"&gt;=&lt;/span&gt;&lt;b&gt;&lt;span style="color:blue;"&gt;this&lt;/span&gt;&lt;/b&gt;&lt;span style="color:red;"&gt;.&lt;/span&gt;getProperty(&lt;span style="color:purple;"&gt;&amp;quot;ordno&amp;quot;&lt;/span&gt;);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-size:11pt;color:blue;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;string&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt; wh&lt;span style="color:red;"&gt;=&lt;/span&gt;&lt;b&gt;&lt;span style="color:blue;"&gt;this&lt;/span&gt;&lt;/b&gt;&lt;span style="color:red;"&gt;.&lt;/span&gt;getProperty(&lt;span style="color:purple;"&gt;&amp;quot;wh&amp;quot;&lt;/span&gt;);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-size:11pt;color:blue;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;string&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt; item_number&lt;span style="color:red;"&gt;=&lt;/span&gt;&lt;b&gt;&lt;span style="color:blue;"&gt;this&lt;/span&gt;&lt;/b&gt;&lt;span style="color:red;"&gt;.&lt;/span&gt;getProperty(&lt;span style="color:purple;"&gt;&amp;quot;item_number&amp;quot;&lt;/span&gt;);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-size:11pt;color:blue;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;string&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt; qty_ord&lt;span style="color:red;"&gt;=&lt;/span&gt;&lt;b&gt;&lt;span style="color:blue;"&gt;this&lt;/span&gt;&lt;/b&gt;&lt;span style="color:red;"&gt;.&lt;/span&gt;getProperty(&lt;span style="color:purple;"&gt;&amp;quot;qty_ord&amp;quot;&lt;/span&gt;);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;i&gt;&lt;span style="font-size:11pt;color:green;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;// update remote system&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-size:11pt;color:blue;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;string&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt; sql&lt;span style="color:red;"&gt;=&lt;/span&gt;&lt;span style="color:purple;"&gt;@&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;update dbo&lt;span style="color:red;"&gt;.&lt;/span&gt;fed_ci_order&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;set qty_ord&lt;span style="color:red;"&gt;=&lt;/span&gt;&lt;b&gt;&lt;span style="color:blue;"&gt;{&lt;/span&gt;&lt;/b&gt;3&lt;b&gt;&lt;span style="color:blue;"&gt;}&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;where ordno&lt;span style="color:red;"&gt;=&lt;/span&gt;&lt;b&gt;&lt;span style="color:blue;"&gt;{&lt;/span&gt;&lt;/b&gt;0&lt;b&gt;&lt;span style="color:blue;"&gt;}&lt;/span&gt;&lt;/b&gt; and wh&lt;span style="color:red;"&gt;=&lt;/span&gt;&lt;b&gt;&lt;span style="color:blue;"&gt;{&lt;/span&gt;&lt;/b&gt;1&lt;b&gt;&lt;span style="color:blue;"&gt;}&lt;/span&gt;&lt;/b&gt; and item_number&lt;span style="color:red;"&gt;=&lt;/span&gt;&lt;span style="color:purple;"&gt;&amp;#39;{2}&amp;#39;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;color:purple;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&amp;quot;;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;sql&lt;span style="color:red;"&gt;=&lt;/span&gt;String&lt;span style="color:red;"&gt;.&lt;/span&gt;Format(sql,ordno,wh,item_number,qty_ord);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;Item result&lt;span style="color:red;"&gt;=&lt;/span&gt;&lt;b&gt;&lt;span style="color:blue;"&gt;this&lt;/span&gt;&lt;/b&gt;&lt;span style="color:red;"&gt;.&lt;/span&gt;getInnovator()&lt;span style="color:red;"&gt;.&lt;/span&gt;applySQL(sql);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;i&gt;&lt;span style="font-size:11pt;color:green;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;// no further processing in Innovator&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;i&gt;&lt;span style="font-size:11pt;color:green;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;// but c# must return something, if it&amp;#39;s an error the update will roll back&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-size:11pt;color:blue;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;return&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt; result;&lt;b&gt;&lt;span style="color:blue;"&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;span style="font-size:12pt;font-family:Arial;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-size:14.0pt;mso-bidi-font-style:italic;mso-ansi-language:EN-US;mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;&lt;br clear="all" style="page-break-before:always;" /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;h2 style="margin:12pt 0in 3pt;"&gt;&lt;a name="_Toc216854232"&gt;&lt;span style="font-size:small;"&gt;CI Order, Server Event, onBeforeDelete&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p class="MsoNormal"&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="font-family:Arial;"&gt;&amp;lt;o:p&amp;gt;&lt;span style="font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;i&gt;&lt;span style="font-size:11pt;color:green;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;// delete server event passes only id in the context Item&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;i&gt;&lt;span style="font-size:11pt;color:green;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;// get data for key in remote system&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;Item o&lt;span style="color:red;"&gt;=&lt;/span&gt;&lt;b&gt;&lt;span style="color:blue;"&gt;this&lt;/span&gt;&lt;/b&gt;&lt;span style="color:red;"&gt;.&lt;/span&gt;newItem(&lt;span style="color:purple;"&gt;&amp;quot;CI Order&amp;quot;&lt;/span&gt;);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;o&lt;span style="color:red;"&gt;.&lt;/span&gt;setID(&lt;b&gt;&lt;span style="color:blue;"&gt;this&lt;/span&gt;&lt;/b&gt;&lt;span style="color:red;"&gt;.&lt;/span&gt;getID());&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;o&lt;span style="color:red;"&gt;=&lt;/span&gt;o&lt;span style="color:red;"&gt;.&lt;/span&gt;apply(&lt;span style="color:purple;"&gt;&amp;quot;get&amp;quot;&lt;/span&gt;);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-size:11pt;color:blue;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;if&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt; (o&lt;span style="color:red;"&gt;.&lt;/span&gt;isError()) &lt;b&gt;&lt;span style="color:blue;"&gt;return&lt;/span&gt;&lt;/b&gt; o;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-size:11pt;color:blue;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;string&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt; ordno&lt;span style="color:red;"&gt;=&lt;/span&gt;o&lt;span style="color:red;"&gt;.&lt;/span&gt;getProperty(&lt;span style="color:purple;"&gt;&amp;quot;ordno&amp;quot;&lt;/span&gt;);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-size:11pt;color:blue;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;string&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt; wh&lt;span style="color:red;"&gt;=&lt;/span&gt;o&lt;span style="color:red;"&gt;.&lt;/span&gt;getProperty(&lt;span style="color:purple;"&gt;&amp;quot;wh&amp;quot;&lt;/span&gt;);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-size:11pt;color:blue;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;string&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt; item_number&lt;span style="color:red;"&gt;=&lt;/span&gt;o&lt;span style="color:red;"&gt;.&lt;/span&gt;getProperty(&lt;span style="color:purple;"&gt;&amp;quot;item_number&amp;quot;&lt;/span&gt;);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;i&gt;&lt;span style="font-size:11pt;color:green;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;// delete row from remote system&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-size:11pt;color:blue;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;string&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt; sql&lt;span style="color:red;"&gt;=&lt;/span&gt;&lt;span style="color:purple;"&gt;@&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-size:11pt;color:blue;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;delete&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt; from dbo&lt;span style="color:red;"&gt;.&lt;/span&gt;fed_ci_order&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;where ordno&lt;span style="color:red;"&gt;=&lt;/span&gt;&lt;b&gt;&lt;span style="color:blue;"&gt;{&lt;/span&gt;&lt;/b&gt;0&lt;b&gt;&lt;span style="color:blue;"&gt;}&lt;/span&gt;&lt;/b&gt; and wh&lt;span style="color:red;"&gt;=&lt;/span&gt;&lt;b&gt;&lt;span style="color:blue;"&gt;{&lt;/span&gt;&lt;/b&gt;1&lt;b&gt;&lt;span style="color:blue;"&gt;}&lt;/span&gt;&lt;/b&gt; and item_number&lt;span style="color:red;"&gt;=&lt;/span&gt;&lt;span style="color:purple;"&gt;&amp;#39;{2}&amp;#39;&amp;quot;;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;sql&lt;span style="color:red;"&gt;=&lt;/span&gt;String&lt;span style="color:red;"&gt;.&lt;/span&gt;Format(sql,ordno,wh,item_number);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;Item result&lt;span style="color:red;"&gt;=&lt;/span&gt;&lt;b&gt;&lt;span style="color:blue;"&gt;this&lt;/span&gt;&lt;/b&gt;&lt;span style="color:red;"&gt;.&lt;/span&gt;getInnovator()&lt;span style="color:red;"&gt;.&lt;/span&gt;applySQL(sql);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-size:11pt;color:blue;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;if&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt; (result&lt;span style="color:red;"&gt;.&lt;/span&gt;isError()) &lt;b&gt;&lt;span style="color:blue;"&gt;return&lt;/span&gt;&lt;/b&gt; result;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;i&gt;&lt;span style="font-size:11pt;color:green;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;// return context Item to continue processing in Innovator&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-size:11pt;color:blue;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;return&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt; &lt;b&gt;&lt;span style="color:blue;"&gt;this&lt;/span&gt;&lt;/b&gt;;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;br style="mso-special-character:line-break;" /&gt;&lt;br style="mso-special-character:line-break;" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;span style="font-size:12pt;font-family:Arial;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-size:14.0pt;mso-bidi-font-style:italic;mso-ansi-language:EN-US;mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;&lt;br clear="all" style="page-break-before:always;" /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;h2 style="margin:12pt 0in 3pt;"&gt;&lt;a name="_Toc216854233"&gt;&lt;span style="font-size:small;"&gt;Retail Catalog, Action, Sync Orders&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p class="MsoNormal"&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="font-family:Arial;"&gt;&amp;lt;o:p&amp;gt;&lt;span style="font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;Innovator innov&lt;span style="color:red;"&gt;=&lt;/span&gt;&lt;b&gt;&lt;span style="color:blue;"&gt;this&lt;/span&gt;&lt;/b&gt;&lt;span style="color:red;"&gt;.&lt;/span&gt;newInnovator();&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;i&gt;&lt;span style="font-size:11pt;color:green;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;// find CI Orders on remote system not in Innovator, and add them&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-size:11pt;color:blue;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;string&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt; sql&lt;span style="color:red;"&gt;=&lt;/span&gt; &lt;span style="color:purple;"&gt;@&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&lt;/span&gt;select distinct f&lt;span style="color:red;"&gt;.&lt;/span&gt;ordno, f&lt;span style="color:red;"&gt;.&lt;/span&gt;wh, ci&lt;span style="color:red;"&gt;.&lt;/span&gt;item_number, ci&lt;span style="color:red;"&gt;.&lt;/span&gt;id &lt;b&gt;&lt;span style="color:blue;"&gt;as&lt;/span&gt;&lt;/b&gt; source_id&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&lt;/span&gt;from dbo&lt;span style="color:red;"&gt;.&lt;/span&gt;fed_ci_order f&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;left outer join innovator&lt;span style="color:red;"&gt;.&lt;/span&gt;ci_order i&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;on f&lt;span style="color:red;"&gt;.&lt;/span&gt;ordno&lt;span style="color:red;"&gt;=&lt;/span&gt; i&lt;span style="color:red;"&gt;.&lt;/span&gt;ordno and f&lt;span style="color:red;"&gt;.&lt;/span&gt;wh&lt;span style="color:red;"&gt;=&lt;/span&gt;i&lt;span style="color:red;"&gt;.&lt;/span&gt;wh&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;inner join innovator&lt;span style="color:red;"&gt;.&lt;/span&gt;catalog_item ci&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;on ci&lt;span style="color:red;"&gt;.&lt;/span&gt;item_number&lt;span style="color:red;"&gt;=&lt;/span&gt; f&lt;span style="color:red;"&gt;.&lt;/span&gt;item_number &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&lt;/span&gt;where i&lt;span style="color:red;"&gt;.&lt;/span&gt;ordno &lt;b&gt;&lt;span style="color:blue;"&gt;is&lt;/span&gt;&lt;/b&gt; &lt;b&gt;&lt;span style="color:blue;"&gt;null&lt;/span&gt;&lt;/b&gt;&lt;span style="color:purple;"&gt;&amp;quot;;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;color:purple;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;Item adds &lt;span style="color:red;"&gt;=&lt;/span&gt;innov&lt;span style="color:red;"&gt;.&lt;/span&gt;applySQL(sql);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-size:11pt;color:blue;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;if&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt; (adds&lt;span style="color:red;"&gt;.&lt;/span&gt;isError()) &lt;b&gt;&lt;span style="color:blue;"&gt;{return&lt;/span&gt;&lt;/b&gt; adds;&lt;b&gt;&lt;span style="color:blue;"&gt;}&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;i&gt;&lt;span style="font-size:11pt;color:green;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;// if the resultset is empty applySQL returns an empty Result&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-size:11pt;color:blue;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;if&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt; (adds&lt;span style="color:red;"&gt;.&lt;/span&gt;getResult()&lt;span style="color:red;"&gt;!=&lt;/span&gt;&lt;span style="color:purple;"&gt;&amp;quot;&amp;quot;&lt;/span&gt;)&lt;b&gt;&lt;span style="color:blue;"&gt;{&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;i&gt;&lt;span style="color:green;"&gt;// applySQL returns a resultset which looks like AML&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;i&gt;&lt;span style="color:green;"&gt;// but we need to add &amp;#39;type&amp;#39; and &amp;#39;action&amp;#39; attributes&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;i&gt;&lt;span style="color:green;"&gt;// we&amp;#39;ll build an aml string containing a collection of Items that can be applied once&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;b&gt;&lt;span style="color:blue;"&gt;string&lt;/span&gt;&lt;/b&gt; aml&lt;span style="color:red;"&gt;=&lt;/span&gt;&lt;span style="color:purple;"&gt;&amp;quot;&amp;lt;AML&amp;gt;&amp;quot;&lt;/span&gt;;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;b&gt;&lt;span style="color:blue;"&gt;for&lt;/span&gt;&lt;/b&gt; (&lt;b&gt;&lt;span style="color:blue;"&gt;int&lt;/span&gt;&lt;/b&gt; i&lt;span style="color:red;"&gt;=&lt;/span&gt;0; i&lt;span style="color:red;"&gt;&amp;lt;&lt;/span&gt;adds&lt;span style="color:red;"&gt;.&lt;/span&gt;getItemCount();i&lt;span style="color:red;"&gt;++&lt;/span&gt;)&lt;b&gt;&lt;span style="color:blue;"&gt;{&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:2;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Item a&lt;span style="color:red;"&gt;=&lt;/span&gt;adds&lt;span style="color:red;"&gt;.&lt;/span&gt;getItemByIndex(i);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:2;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;a&lt;span style="color:red;"&gt;.&lt;/span&gt;setType(&lt;span style="color:purple;"&gt;&amp;quot;CI Order&amp;quot;&lt;/span&gt;);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:2;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;a&lt;span style="color:red;"&gt;.&lt;/span&gt;setAction(&lt;span style="color:purple;"&gt;&amp;quot;add&amp;quot;&lt;/span&gt;);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:2;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;i&gt;&lt;span style="color:green;"&gt;// turn add server event off&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:2;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;i&gt;&lt;span style="color:green;"&gt;// we don&amp;#39;t want the onAfterAdd event to run!&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:2;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;a&lt;span style="color:red;"&gt;.&lt;/span&gt;setAttribute(&lt;span style="color:purple;"&gt;&amp;quot;serverEvents&amp;quot;&lt;/span&gt;,&lt;span style="color:purple;"&gt;&amp;quot;0&amp;quot;&lt;/span&gt;);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:2;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;aml&lt;span style="color:red;"&gt;+=&lt;/span&gt;a&lt;span style="color:red;"&gt;.&lt;/span&gt;node&lt;span style="color:red;"&gt;.&lt;/span&gt;OuterXml;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;b&gt;&lt;span style="color:blue;"&gt;}&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;aml&lt;span style="color:red;"&gt;+=&lt;/span&gt;&lt;span style="color:purple;"&gt;&amp;quot;&amp;lt;/AML&amp;gt;&amp;quot;&lt;/span&gt;;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;i&gt;&lt;span style="color:green;"&gt;// add the CI Orders to Innovator&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;adds&lt;span style="color:red;"&gt;=&lt;/span&gt;innov&lt;span style="color:red;"&gt;.&lt;/span&gt;applyAML(aml);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;b&gt;&lt;span style="color:blue;"&gt;if&lt;/span&gt;&lt;/b&gt; (adds&lt;span style="color:red;"&gt;.&lt;/span&gt;isError()) &lt;b&gt;&lt;span style="color:blue;"&gt;{return&lt;/span&gt;&lt;/b&gt; adds;&lt;b&gt;&lt;span style="color:blue;"&gt;}&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-size:11pt;color:blue;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;}&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;i&gt;&lt;span style="font-size:11pt;color:green;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;// find CI Orders in innovator not on remote system and delete them &lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;sql&lt;span style="color:red;"&gt;=&lt;/span&gt; &lt;span style="color:purple;"&gt;@&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;&lt;span style="color:blue;"&gt;delete&lt;/span&gt;&lt;/b&gt; from innovator&lt;span style="color:red;"&gt;.&lt;/span&gt;ci_order where id &lt;b&gt;&lt;span style="color:blue;"&gt;in&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&lt;/span&gt;(select i&lt;span style="color:red;"&gt;.&lt;/span&gt;id&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&lt;/span&gt;from innovator&lt;span style="color:red;"&gt;.&lt;/span&gt;ci_order i&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;right outer join dbo&lt;span style="color:red;"&gt;.&lt;/span&gt;fed_ci_order f&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;on f&lt;span style="color:red;"&gt;.&lt;/span&gt;ordno&lt;span style="color:red;"&gt;=&lt;/span&gt; i&lt;span style="color:red;"&gt;.&lt;/span&gt;ordno and f&lt;span style="color:red;"&gt;.&lt;/span&gt;wh&lt;span style="color:red;"&gt;=&lt;/span&gt;i&lt;span style="color:red;"&gt;.&lt;/span&gt;wh&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;inner join innovator&lt;span style="color:red;"&gt;.&lt;/span&gt;catalog_item ci&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;on i&lt;span style="color:red;"&gt;.&lt;/span&gt;source_id &lt;span style="color:red;"&gt;=&lt;/span&gt; ci&lt;span style="color:red;"&gt;.&lt;/span&gt;id and f&lt;span style="color:red;"&gt;.&lt;/span&gt;item_number&lt;span style="color:red;"&gt;=&lt;/span&gt;ci&lt;span style="color:red;"&gt;.&lt;/span&gt;item_number &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&lt;/span&gt;where f&lt;span style="color:red;"&gt;.&lt;/span&gt;ordno &lt;b&gt;&lt;span style="color:blue;"&gt;is&lt;/span&gt;&lt;/b&gt; &lt;b&gt;&lt;span style="color:blue;"&gt;null&lt;/span&gt;&lt;/b&gt;)&lt;span style="color:purple;"&gt;&amp;quot;;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;color:purple;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;Item dels &lt;span style="color:red;"&gt;=&lt;/span&gt;innov&lt;span style="color:red;"&gt;.&lt;/span&gt;applySQL(sql);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-size:11pt;color:blue;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;if&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt; (dels&lt;span style="color:red;"&gt;.&lt;/span&gt;isError()) &lt;b&gt;&lt;span style="color:blue;"&gt;{return&lt;/span&gt;&lt;/b&gt; dels;&lt;b&gt;&lt;span style="color:blue;"&gt;}&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-size:11pt;color:blue;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-size:11pt;color:blue;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-size:11pt;color:blue;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;i&gt;&lt;span style="font-size:11pt;color:green;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;// find CI Orders &lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;Item pr_opn &lt;span style="color:red;"&gt;=&lt;/span&gt; &lt;b&gt;&lt;span style="color:blue;"&gt;this&lt;/span&gt;&lt;/b&gt;&lt;span style="color:red;"&gt;.&lt;/span&gt;newItem(&lt;span style="color:purple;"&gt;&amp;quot;CI Order&amp;quot;&lt;/span&gt;);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;pr_opn&lt;span style="color:red;"&gt;.&lt;/span&gt;setAttribute(&lt;span style="color:purple;"&gt;&amp;quot;select&amp;quot;&lt;/span&gt;,&lt;span style="color:purple;"&gt;&amp;quot;qty_ord,qty_rcd,state&amp;quot;&lt;/span&gt;);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;pr_opn&lt;span style="color:red;"&gt;=&lt;/span&gt;pr_opn&lt;span style="color:red;"&gt;.&lt;/span&gt;apply(&lt;span style="color:purple;"&gt;&amp;quot;get&amp;quot;&lt;/span&gt;);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-size:11pt;color:blue;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;if&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt; (pr_opn&lt;span style="color:red;"&gt;.&lt;/span&gt;isError()&lt;span style="color:red;"&gt;&amp;amp;&amp;amp;&lt;/span&gt;(&lt;span style="color:red;"&gt;!&lt;/span&gt;pr_opn&lt;span style="color:red;"&gt;.&lt;/span&gt;isEmpty())) &lt;b&gt;&lt;span style="color:blue;"&gt;{return&lt;/span&gt;&lt;/b&gt; pr_opn;&lt;b&gt;&lt;span style="color:blue;"&gt;}&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;i&gt;&lt;span style="font-size:11pt;color:green;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;// and promote them if necessary&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-size:11pt;color:blue;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;for&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt; (&lt;b&gt;&lt;span style="color:blue;"&gt;int&lt;/span&gt;&lt;/b&gt; i&lt;span style="color:red;"&gt;=&lt;/span&gt;0;i&lt;span style="color:red;"&gt;&amp;lt;&lt;/span&gt;pr_opn&lt;span style="color:red;"&gt;.&lt;/span&gt;getItemCount();i&lt;span style="color:red;"&gt;++&lt;/span&gt;)&lt;b&gt;&lt;span style="color:blue;"&gt;{&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Item o &lt;span style="color:red;"&gt;=&lt;/span&gt; pr_opn&lt;span style="color:red;"&gt;.&lt;/span&gt;getItemByIndex(i);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;b&gt;&lt;span style="color:blue;"&gt;if&lt;/span&gt;&lt;/b&gt; ((Int16&lt;span style="color:red;"&gt;.&lt;/span&gt;Parse(o&lt;span style="color:red;"&gt;.&lt;/span&gt;getProperty(&lt;span style="color:purple;"&gt;&amp;quot;qty_rcd&amp;quot;&lt;/span&gt;,&lt;span style="color:purple;"&gt;&amp;quot;0&amp;quot;&lt;/span&gt;)) &lt;span style="color:red;"&gt;&amp;lt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Int16&lt;span style="color:red;"&gt;.&lt;/span&gt;Parse(o&lt;span style="color:red;"&gt;.&lt;/span&gt;getProperty(&lt;span style="color:purple;"&gt;&amp;quot;qty_ord&amp;quot;&lt;/span&gt;,&lt;span style="color:purple;"&gt;&amp;quot;0&amp;quot;&lt;/span&gt;))) &lt;span style="color:red;"&gt;&amp;amp;&amp;amp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;o&lt;span style="color:red;"&gt;.&lt;/span&gt;getProperty(&lt;span style="color:purple;"&gt;&amp;quot;state&amp;quot;&lt;/span&gt;)&lt;span style="color:red;"&gt;==&lt;/span&gt;&lt;span style="color:purple;"&gt;&amp;quot;Closed&amp;quot;&lt;/span&gt;)&lt;b&gt;&lt;span style="color:blue;"&gt;{&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:2;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Item res &lt;span style="color:red;"&gt;=&lt;/span&gt;pr_opn&lt;span style="color:red;"&gt;.&lt;/span&gt;getItemByIndex(i)&lt;span style="color:red;"&gt;.&lt;/span&gt;promote(&lt;span style="color:purple;"&gt;&amp;quot;Open&amp;quot;&lt;/span&gt;,&lt;span style="color:purple;"&gt;&amp;quot;&amp;quot;&lt;/span&gt;);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:2;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;b&gt;&lt;span style="color:blue;"&gt;if&lt;/span&gt;&lt;/b&gt; (res&lt;span style="color:red;"&gt;.&lt;/span&gt;isError()) &lt;b&gt;&lt;span style="color:blue;"&gt;return&lt;/span&gt;&lt;/b&gt; res;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;b&gt;&lt;span style="color:blue;"&gt;}&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;b&gt;&lt;span style="color:blue;"&gt;if&lt;/span&gt;&lt;/b&gt; ((Int16&lt;span style="color:red;"&gt;.&lt;/span&gt;Parse(o&lt;span style="color:red;"&gt;.&lt;/span&gt;getProperty(&lt;span style="color:purple;"&gt;&amp;quot;qty_rcd&amp;quot;&lt;/span&gt;,&lt;span style="color:purple;"&gt;&amp;quot;0&amp;quot;&lt;/span&gt;)) &lt;span style="color:red;"&gt;&amp;gt;=&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Int16&lt;span style="color:red;"&gt;.&lt;/span&gt;Parse(o&lt;span style="color:red;"&gt;.&lt;/span&gt;getProperty(&lt;span style="color:purple;"&gt;&amp;quot;qty_ord&amp;quot;&lt;/span&gt;,&lt;span style="color:purple;"&gt;&amp;quot;0&amp;quot;&lt;/span&gt;))) &lt;span style="color:red;"&gt;&amp;amp;&amp;amp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;o&lt;span style="color:red;"&gt;.&lt;/span&gt;getProperty(&lt;span style="color:purple;"&gt;&amp;quot;state&amp;quot;&lt;/span&gt;)&lt;span style="color:red;"&gt;==&lt;/span&gt;&lt;span style="color:purple;"&gt;&amp;quot;Open&amp;quot;&lt;/span&gt;)&lt;b&gt;&lt;span style="color:blue;"&gt;{&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:2;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Item res &lt;span style="color:red;"&gt;=&lt;/span&gt;pr_opn&lt;span style="color:red;"&gt;.&lt;/span&gt;getItemByIndex(i)&lt;span style="color:red;"&gt;.&lt;/span&gt;promote(&lt;span style="color:purple;"&gt;&amp;quot;Closed&amp;quot;&lt;/span&gt;,&lt;span style="color:purple;"&gt;&amp;quot;&amp;quot;&lt;/span&gt;);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:2;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;b&gt;&lt;span style="color:blue;"&gt;if&lt;/span&gt;&lt;/b&gt; (res&lt;span style="color:red;"&gt;.&lt;/span&gt;isError()) &lt;b&gt;&lt;span style="color:blue;"&gt;return&lt;/span&gt;&lt;/b&gt; res;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;b&gt;&lt;span style="color:blue;"&gt;}&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-size:11pt;color:blue;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;}&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-size:11pt;color:blue;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;return&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt; innov&lt;span style="color:red;"&gt;.&lt;/span&gt;newResult(&lt;span style="color:purple;"&gt;&amp;quot;OK&amp;quot;&lt;/span&gt;);&lt;/span&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Arial;"&gt;&amp;lt;o:p&amp;gt;&lt;span style="font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description></item><item><title>How to Use Federation</title><link>http://www.aras.com/Community/wikis/kb/how-to-use-federation/revision/3.aspx</link><pubDate>Fri, 27 Mar 2009 17:28:47 GMT</pubDate><guid isPermaLink="false">197d54df-59b2-4bdb-87c5-e951a5aa0c96:78</guid><dc:creator>Peter Schroer</dc:creator><description>Revision 3 posted to Aras Innovator KnowledgeBase by Peter Schroer on 3/27/2009 1:28:47 PM&lt;br /&gt;
&lt;h2&gt;How to Use Federation&lt;/h2&gt;
&lt;h1 style="margin:12pt 0in 3pt;"&gt;&lt;a name="_Toc216854218"&gt;&lt;span style="font-size:small;"&gt;About &lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:small;"&gt;&lt;span&gt;&lt;span style="mso-bidi-font-size:14.0pt;"&gt;&lt;a href="/Community/wikis/plm/federation.aspx"&gt;Federated &lt;/a&gt;Data in Innovator&lt;/span&gt;&lt;/span&gt;&lt;span style="mso-bidi-font-size:14.0pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h1&gt;
&lt;p class="MsoNormal"&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="font-size:14pt;font-family:Arial;"&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;Innovator uses the term &amp;ldquo;&lt;a href="/Community/wikis/plm/federation.aspx"&gt;Federated&lt;/a&gt;&amp;rdquo; to mean data shared between different information systems. &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;Virtually all businesses are using multiple information systems to address different aspects of their business, these are usually at different stages in their lifecycle.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;Many business processes need to draw on information from multiple systems in the most cost effective way.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;Aras Innovator has a Service Oriented Architecture and is a Framework; it lends itself to addressing such needs.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;This document describes how the Innovator Framework can gather and present Federated Data, and how it can provide data to other systems.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&amp;lt;o:p&amp;gt;&lt;span style="font-size:small;font-family:Times New Roman;"&gt;&amp;nbsp;&lt;/span&gt;&amp;lt;/o:p&amp;gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;The Innovator Framework includes&lt;/span&gt;&lt;/p&gt;
&lt;ul style="margin-top:0in;"&gt;
&lt;li style="margin:0in 0in 0pt;text-align:justify;mso-list:l0 level1 lfo1;tab-stops:list .5in;" class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&amp;lsquo;Federated&amp;rsquo; data-type for Properties&lt;/span&gt;&lt;/li&gt;
&lt;li style="margin:0in 0in 0pt;text-align:justify;mso-list:l0 level1 lfo1;tab-stops:list .5in;" class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&amp;lsquo;Federated&amp;rsquo; Implementation type for ItemTypes.&lt;/span&gt;&lt;/li&gt;
&lt;li style="margin:0in 0in 0pt;mso-list:l0 level1 lfo1;tab-stops:list .5in;" class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&amp;lsquo;Server Events&amp;rsquo; which call .Net Methods when Items are selected, added, updated or deleted to implement the Interface.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;The following table shows how different&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;technologies can&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;used as the interface to implement Federated Data where Innovator is the destination or source.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&amp;lt;o:p&amp;gt;&lt;span style="font-size:small;font-family:Times New Roman;"&gt;&amp;nbsp; 
&lt;table border="1" cellpadding="0" cellspacing="0" style="border-collapse:collapse;mso-border-alt:solid windowtext .5pt;mso-yfti-tbllook:480;mso-padding-alt:0in 5.4pt 0in 5.4pt;mso-border-insideh:.5pt solid windowtext;mso-border-insidev:.5pt solid windowtext;" class="MsoTableGrid"&gt;
&lt;tbody&gt;
&lt;tr style="mso-yfti-irow:0;mso-yfti-firstrow:yes;"&gt;
&lt;td width="177" valign="top" style="padding-right:5.4pt;padding-left:5.4pt;padding-bottom:0in;width:132.85pt;padding-top:0in;background-color:transparent;mso-border-alt:solid windowtext .5pt;border:windowtext 1pt solid;"&gt;
&lt;p class="MsoNormal"&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;Interface&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td width="206" valign="top" style="border-right:windowtext 1pt solid;padding-right:5.4pt;border-top:windowtext 1pt solid;padding-left:5.4pt;padding-bottom:0in;border-left:#ece9d8;width:154.4pt;padding-top:0in;border-bottom:windowtext 1pt solid;background-color:transparent;mso-border-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;"&gt;
&lt;p class="MsoNormal"&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;Innovator as Destination&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td width="207" valign="top" style="border-right:windowtext 1pt solid;padding-right:5.4pt;border-top:windowtext 1pt solid;padding-left:5.4pt;padding-bottom:0in;border-left:#ece9d8;width:155.55pt;padding-top:0in;border-bottom:windowtext 1pt solid;background-color:transparent;mso-border-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;"&gt;
&lt;p class="MsoNormal"&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;Innovator as Source&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow:1;"&gt;
&lt;td width="177" valign="top" style="border-right:windowtext 1pt solid;padding-right:5.4pt;border-top:#ece9d8;padding-left:5.4pt;padding-bottom:0in;border-left:windowtext 1pt solid;width:132.85pt;padding-top:0in;border-bottom:windowtext 1pt solid;background-color:transparent;mso-border-alt:solid windowtext .5pt;mso-border-top-alt:solid windowtext .5pt;"&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;Web Services&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td width="206" valign="top" style="border-right:windowtext 1pt solid;padding-right:5.4pt;border-top:#ece9d8;padding-left:5.4pt;padding-bottom:0in;border-left:#ece9d8;width:154.4pt;padding-top:0in;border-bottom:windowtext 1pt solid;background-color:transparent;mso-border-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;mso-border-top-alt:solid windowtext .5pt;"&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;Methods consume WebService and show data in the Innovator UI transparently&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td width="207" valign="top" style="border-right:windowtext 1pt solid;padding-right:5.4pt;border-top:#ece9d8;padding-left:5.4pt;padding-bottom:0in;border-left:#ece9d8;width:155.55pt;padding-top:0in;border-bottom:windowtext 1pt solid;background-color:transparent;mso-border-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;mso-border-top-alt:solid windowtext .5pt;"&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;Innovator 9.1 &amp;ldquo;Web Service Configuration&amp;rdquo; can create Web Services automatically. They can be consumed by remote applications&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow:2;"&gt;
&lt;td width="177" valign="top" style="border-right:windowtext 1pt solid;padding-right:5.4pt;border-top:#ece9d8;padding-left:5.4pt;padding-bottom:0in;border-left:windowtext 1pt solid;width:132.85pt;padding-top:0in;border-bottom:windowtext 1pt solid;background-color:transparent;mso-border-alt:solid windowtext .5pt;mso-border-top-alt:solid windowtext .5pt;"&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;SQL&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td width="206" valign="top" style="border-right:windowtext 1pt solid;padding-right:5.4pt;border-top:#ece9d8;padding-left:5.4pt;padding-bottom:0in;border-left:#ece9d8;width:154.4pt;padding-top:0in;border-bottom:windowtext 1pt solid;background-color:transparent;mso-border-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;mso-border-top-alt:solid windowtext .5pt;"&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;Innovator Methods or SQL Items connect to remote database using SQL Server Linked Server or ADO.Net&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td width="207" valign="top" style="border-right:windowtext 1pt solid;padding-right:5.4pt;border-top:#ece9d8;padding-left:5.4pt;padding-bottom:0in;border-left:#ece9d8;width:155.55pt;padding-top:0in;border-bottom:windowtext 1pt solid;background-color:transparent;mso-border-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;mso-border-top-alt:solid windowtext .5pt;"&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;Remote database connects to Innovator database using SQL Server Linked Server, ADO.Net, ODBC or JDBC&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow:3;"&gt;
&lt;td width="177" valign="top" style="border-right:windowtext 1pt solid;padding-right:5.4pt;border-top:#ece9d8;padding-left:5.4pt;padding-bottom:0in;border-left:windowtext 1pt solid;width:132.85pt;padding-top:0in;border-bottom:windowtext 1pt solid;background-color:transparent;mso-border-alt:solid windowtext .5pt;mso-border-top-alt:solid windowtext .5pt;"&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;CAD Integration&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td colspan="2" width="413" valign="top" style="border-right:windowtext 1pt solid;padding-right:5.4pt;border-top:#ece9d8;padding-left:5.4pt;padding-bottom:0in;border-left:#ece9d8;width:309.95pt;padding-top:0in;border-bottom:windowtext 1pt solid;background-color:transparent;mso-border-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;mso-border-top-alt:solid windowtext .5pt;"&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;CAD integrations are available at Aras.com/Projects for two-way sharing of data with popular CAD programs&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow:4;"&gt;
&lt;td width="177" valign="top" style="border-right:windowtext 1pt solid;padding-right:5.4pt;border-top:#ece9d8;padding-left:5.4pt;padding-bottom:0in;border-left:windowtext 1pt solid;width:132.85pt;padding-top:0in;border-bottom:windowtext 1pt solid;background-color:transparent;mso-border-alt:solid windowtext .5pt;mso-border-top-alt:solid windowtext .5pt;"&gt;
&lt;p class="MsoNormal"&gt;&amp;lt;st1:place w:st=&amp;quot;on&amp;quot;&amp;gt;&amp;lt;st1:city w:st=&amp;quot;on&amp;quot;&amp;gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;Enterprise&lt;/span&gt;&amp;lt;/st1:city&amp;gt;&amp;lt;/st1:place&amp;gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt; Service Bus&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td width="206" valign="top" style="border-right:windowtext 1pt solid;padding-right:5.4pt;border-top:#ece9d8;padding-left:5.4pt;padding-bottom:0in;border-left:#ece9d8;width:154.4pt;padding-top:0in;border-bottom:windowtext 1pt solid;background-color:transparent;mso-border-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;mso-border-top-alt:solid windowtext .5pt;"&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;Methods put jobs onto the job queue&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td width="207" valign="top" style="border-right:windowtext 1pt solid;padding-right:5.4pt;border-top:#ece9d8;padding-left:5.4pt;padding-bottom:0in;border-left:#ece9d8;width:155.55pt;padding-top:0in;border-bottom:windowtext 1pt solid;background-color:transparent;mso-border-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;mso-border-top-alt:solid windowtext .5pt;"&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;Innovator responds to requests from the job queue&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow:5;"&gt;
&lt;td width="177" valign="top" style="border-right:windowtext 1pt solid;padding-right:5.4pt;border-top:#ece9d8;padding-left:5.4pt;padding-bottom:0in;border-left:windowtext 1pt solid;width:132.85pt;padding-top:0in;border-bottom:windowtext 1pt solid;background-color:transparent;mso-border-alt:solid windowtext .5pt;mso-border-top-alt:solid windowtext .5pt;"&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;API&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td width="206" valign="top" style="border-right:windowtext 1pt solid;padding-right:5.4pt;border-top:#ece9d8;padding-left:5.4pt;padding-bottom:0in;border-left:#ece9d8;width:154.4pt;padding-top:0in;border-bottom:windowtext 1pt solid;background-color:transparent;mso-border-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;mso-border-top-alt:solid windowtext .5pt;"&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;Innovator Methods call remote system API&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td width="207" valign="top" style="border-right:windowtext 1pt solid;padding-right:5.4pt;border-top:#ece9d8;padding-left:5.4pt;padding-bottom:0in;border-left:#ece9d8;width:155.55pt;padding-top:0in;border-bottom:windowtext 1pt solid;background-color:transparent;mso-border-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;mso-border-top-alt:solid windowtext .5pt;"&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;Remote system can use Innovator Object Model (IOM) API using COM or .Net&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow:6;mso-yfti-lastrow:yes;"&gt;
&lt;td width="177" valign="top" style="border-right:windowtext 1pt solid;padding-right:5.4pt;border-top:#ece9d8;padding-left:5.4pt;padding-bottom:0in;border-left:windowtext 1pt solid;width:132.85pt;padding-top:0in;border-bottom:windowtext 1pt solid;background-color:transparent;mso-border-alt:solid windowtext .5pt;mso-border-top-alt:solid windowtext .5pt;"&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;Other&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td width="206" valign="top" style="border-right:windowtext 1pt solid;padding-right:5.4pt;border-top:#ece9d8;padding-left:5.4pt;padding-bottom:0in;border-left:#ece9d8;width:154.4pt;padding-top:0in;border-bottom:windowtext 1pt solid;background-color:transparent;mso-border-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;mso-border-top-alt:solid windowtext .5pt;"&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;Methods can do anything .Net can do&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td width="207" valign="top" style="border-right:windowtext 1pt solid;padding-right:5.4pt;border-top:#ece9d8;padding-left:5.4pt;padding-bottom:0in;border-left:#ece9d8;width:155.55pt;padding-top:0in;border-bottom:windowtext 1pt solid;background-color:transparent;mso-border-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;mso-border-top-alt:solid windowtext .5pt;"&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/span&gt;&amp;lt;/o:p&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h1 style="margin:12pt 0in 3pt;"&gt;&lt;a name="_Toc216854220"&gt;&lt;span style="font-size:small;"&gt;Federated data-type&lt;/span&gt;&lt;/a&gt;&lt;/h1&gt;
&lt;p style="margin:0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;nbsp;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/h1&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;When a Property is of data-type &amp;lsquo;Federated&amp;rsquo; it still appears on forms and in grids, just like every other Property, but no column is created in the database and values for the Property will ignored in Innovator unless means of providing and acting upon values are created.&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in 0in 0pt 0.5in;" class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;nbsp;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;The simplest way to provide a value for a Federated Property is in an onAfterGet Server Event. This onAfterGet Server Event says &amp;ldquo;after you have done you normally do, execute this Method&amp;rdquo;. The Method code can get a value in any way it chooses and return it in the context Item for further processing. For a get request this means the value will be stored in the client cache and appear in any Forms or Grids just like all the other properties.&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in 0in 0pt 0.5in;" class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;nbsp;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;When the value is returned to the server by a save or other code it will be ignored, unless means are provided to act on it.&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in 0in 0pt 0.5in;" class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;nbsp;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;Note there is also a Foreign data-type which serves a different purpose. Foreign Properties have no column in the database either, but values are provided from Properties of type Item in the same ItemType.&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in 0in 0pt 0.5in;" class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;nbsp;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h1 style="margin:12pt 0in 3pt;"&gt;&lt;a name="_Toc216854221"&gt;&lt;span style="font-size:small;"&gt;Federated ItemType&lt;/span&gt;&lt;/a&gt;&lt;/h1&gt;
&lt;p style="margin:0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;nbsp;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/h1&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;ItemTypes can be of Implementation &amp;lsquo;Table&amp;rsquo;, &amp;lsquo;Federated&amp;rsquo; or &lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lsquo;Polymorphic&amp;rsquo;.&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;lsquo;Polymorphic&amp;rsquo;.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol;"&gt;&lt;span style="mso-list:Ignore;"&gt;&amp;middot;&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;Table is the ordinary implementation used by most ItemTypes.&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol;"&gt;&lt;span style="mso-list:Ignore;"&gt;&amp;middot;&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;Federated means that at least some of the values of the Properties for the Item will come from a source other than the Innovator database.&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol;"&gt;&lt;span style="mso-list:Ignore;"&gt;&amp;middot;&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;Polymorphic is used for PolyItems like Deliverable in the Program Management Solution and Affected Item in the Product Engineering Solution&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in 0in 0pt 0.5in;" class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;nbsp;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;Selecting Federated Implementation type does not actually change the behavior of an ItemType, the behavior needs to be implemented by Server Events, so Federated Implementation is more of a flag than a switch. (Note this is different for Polymorphic, selecting Polymorphic determines the behavior of the ItemType when it is created and you cannot change Polymorphic to or from other implementation types.)&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in 0in 0pt 0.5in;" class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;nbsp;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;Federated behavior for an ItemType is provided by using onAdd, onGet, onUpdate and onDelete Server Events. &amp;lsquo;on&amp;rsquo; Events are distinct from &amp;lsquo;onBefore&amp;rsquo; and &amp;lsquo;onAfter&amp;rsquo; events. &lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol;"&gt;&lt;span style="mso-list:Ignore;"&gt;&amp;middot;&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&amp;lsquo;onBefore&amp;rsquo; events say &amp;ldquo;before you do what you normally do, do this&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;rdquo;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;rdquo;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol;"&gt;&lt;span style="mso-list:Ignore;"&gt;&amp;middot;&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&amp;lsquo;onAfter&amp;rsquo; events say &amp;ldquo;after you do what you normally do, do this&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;rdquo;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;rdquo;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol;"&gt;&lt;span style="mso-list:Ignore;"&gt;&amp;middot;&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&amp;lsquo;on&amp;rsquo; evens say &amp;ldquo;instead of doing what you normally do, do this&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;rdquo;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;nbsp;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;rdquo;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;If no onAdd, onGet, onUpdate and onDelete Server Events are created for a Federated Implementation, the Item will behave like an ordinary Table Implementation.&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in 0in 0pt 0.5in;" class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;nbsp;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;If onAdd, onGet, onUpdate and onDelete Server Events are created with Method code that does nothing, the ItemType will exist but there will be no instances and no&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;behavior.&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in 0in 0pt 0.5in;" class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;nbsp;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;The simplest Federated Item would have an onGet Server Event which would provide values whenever a get request was made. There would be no data in the Innovator database for the ItemType but values would be returned by the Innovator Server and displayed in the Innovator Client . The values would be determined by the Method code. This would be appropriate for the case where it was required to simply show information from a remote data source in Innovator.&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in 0in 0pt 0.5in;" class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;nbsp;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;For more complex requirements where information about an item may be shared between Innovator and remote data sources, a stub Item may be stored in the Innovator database including a unique key to the remote data and any data managed in Innovator, other data would be retrieved from the remote data source when needed. In this case a combination of onAdd, onGet, onUpdate and onDelete Server Events can be designed to create the behavior required. In order to do the required behavior is must be clearly defined.&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in 0in 0pt 0.5in;" class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;nbsp;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;When any instance data is added to the Innovator database, system properties such as id, created_on, created_by, state etc are created automatically. When this occurs the Item will be able to have any and all standard Innovator behaviors including Permissions, History, Relationships, Lifecycle and Workflow. These behaviors can augment the data stored in remote systems.&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in 0in 0pt 0.5in;" class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;nbsp;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h1 style="margin:12pt 0in 3pt;"&gt;&lt;a name="_Toc216854222"&gt;&lt;span style="font-size:small;"&gt;Choosing on&amp;hellip;, onBefore&amp;hellip; or onAfter&amp;hellip; for Server Events&lt;/span&gt;&lt;/a&gt;&lt;/h1&gt;
&lt;p style="margin:0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;nbsp;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/h1&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;The Event for Sever Events needs to be chosen by considering&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;mso-fareast-font-family:Arial;"&gt;&lt;span style="mso-list:Ignore;"&gt;a)&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;the intended behavior&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;mso-fareast-font-family:Arial;"&gt;&lt;span style="mso-list:Ignore;"&gt;b)&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;how Innovator works&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;nbsp;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;For the example:&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in 0in 0pt 0.5in;" class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;nbsp;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;CI Inventory&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol;"&gt;&lt;span style="mso-list:Ignore;"&gt;&amp;middot;&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;onGet is used because we want to replace standard Innovator behavior&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in 0in 0pt 1in;" class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;nbsp;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;CI Order&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol;"&gt;&lt;span style="mso-list:Ignore;"&gt;&amp;middot;&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;onAfterGet is used because we want to get data from the Innovator database then use it to get data from the remote system&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol;"&gt;&lt;span style="mso-list:Ignore;"&gt;&amp;middot;&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;onAfterAdd, onAfterUpdate is used because we want Innovator to do whqt it normally does, onBefore would probably work as well&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol;"&gt;&lt;span style="mso-list:Ignore;"&gt;&amp;middot;&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;onBeforeDelete is used because we won&amp;rsquo;t be able to get data we need after we delete it&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h1 style="margin:12pt 0in 3pt;"&gt;&lt;a name="_Toc216854223"&gt;&lt;span style="mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;Standard Work for Implementing Federated Data in Innovator&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/h1&gt;
&lt;p style="margin:0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;nbsp;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/h1&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;mso-fareast-font-family:Arial;"&gt;&lt;span style="mso-list:Ignore;"&gt;1.&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;Determine the sources and desired behavior for data to be federated. It helps to document this in a Use Case.&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;mso-fareast-font-family:Arial;"&gt;&lt;span style="mso-list:Ignore;"&gt;2.&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;Design the Data Model identifying ItemTypes, Relationships, Properties indicating which will be federated and which stored in Innovator.&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;mso-fareast-font-family:Arial;"&gt;&lt;span style="mso-list:Ignore;"&gt;3.&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;Select and test the interface type to be used.&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;mso-fareast-font-family:Arial;"&gt;&lt;span style="mso-list:Ignore;"&gt;4.&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;Build the Data Model&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;mso-fareast-font-family:Arial;"&gt;&lt;span style="mso-list:Ignore;"&gt;5.&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;Implement Server Events&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;mso-fareast-font-family:Arial;"&gt;&lt;span style="mso-list:Ignore;"&gt;6.&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;Test the application&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in 0in 0pt 0.5in;" class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;nbsp;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&lt;br style="mso-special-character:line-break;" /&gt;&lt;br style="mso-special-character:line-break;" /&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&lt;br style="mso-special-character:line-break;" /&gt;&lt;br style="mso-special-character:line-break;" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;span style="font-size:12pt;font-family:Arial;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-size:16.0pt;mso-font-kerning:16.0pt;mso-ansi-language:EN-US;mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;&lt;br clear="all" style="page-break-before:always;" /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;h1 style="margin:12pt 0in 3pt;"&gt;&lt;a name="OLE_LINK1"&gt;&lt;/a&gt;&lt;a name="_Toc216854224"&gt;&lt;span&gt;&lt;span style="font-size:small;"&gt;Example Use Case&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span&gt;&lt;/span&gt;&lt;/h1&gt;
&lt;p style="margin:0in 0in 0pt;" class="MsoNormal"&gt;&lt;span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;nbsp;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span&gt;&lt;/span&gt;&lt;/h1&gt;
&lt;p class="MsoNormal"&gt;&lt;span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span&gt;&lt;span style="font-size:10pt;font-family:Arial;mso-fareast-font-family:Arial;"&gt;&lt;span style="mso-list:Ignore;"&gt;1.&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;Use case summary&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;mso-fareast-font-family:Arial;"&gt;&lt;span style="mso-list:Ignore;"&gt;a.&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;In the simple Retail Catalog application used in Admin, Workflow and API training a Retail Catalog has a relationship to Catalog Items,&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;we will add the following Federated Data&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;mso-fareast-font-family:Arial;"&gt;&lt;span style="mso-list:Ignore;"&gt;b.&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;Catalog Items will have two relationships CI Inventory and CI Order&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;mso-fareast-font-family:Arial;"&gt;&lt;span style="mso-list:Ignore;"&gt;c.&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;CI Inventory represents the inventory on hand at each Catalog Item at several warehouses&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;mso-fareast-font-family:Arial;"&gt;&lt;span style="mso-list:Ignore;"&gt;d.&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;CI Order represents orders to replenish inventory for a single Catalog Item at a single warehouse&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;mso-fareast-font-family:Arial;"&gt;&lt;span style="mso-list:Ignore;"&gt;e.&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;CI Inventory data will be provided by a remote system, no data will reside in Innovator but inventory records will be shown in the Catalog Item relationship grid.&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;mso-fareast-font-family:Arial;"&gt;&lt;span style="mso-list:Ignore;"&gt;f.&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;Catalog Item will have a property indicating the quantity in stock which will be retrieved from data on the remote system calculated as sum of quantity on hand at all warehouses.&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;mso-fareast-font-family:Arial;"&gt;&lt;span style="mso-list:Ignore;"&gt;g.&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;CI Order data will be shared between Innovator and the remote system and will shown in the Catalog Item relationship grid.&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;mso-fareast-font-family:Arial;"&gt;&lt;span style="mso-list:Ignore;"&gt;h.&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;CI Order records may be added in either Innovator or the remote system, the remote system alone will control the quantity received.&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;mso-fareast-font-family:Arial;"&gt;&lt;span style="mso-list:Ignore;"&gt;i.&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;A Lifecycle will be implemented in Innovator for CI Orders. Orders with qty received less than qty ordered will be in the &amp;lt;st1:place w:st=&amp;quot;on&amp;quot;&amp;gt;&amp;lt;st1:placename w:st=&amp;quot;on&amp;quot;&amp;gt;Open&amp;lt;/st1:placename&amp;gt; &amp;lt;st1:placetype w:st=&amp;quot;on&amp;quot;&amp;gt;State&amp;lt;/st1:placetype&amp;gt;&amp;lt;/st1:place&amp;gt; and other orders will be in the Closed state&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;nbsp;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;mso-fareast-font-family:Arial;"&gt;&lt;span style="mso-list:Ignore;"&gt;2.&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;Innovator Items&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;mso-fareast-font-family:Arial;"&gt;&lt;span style="mso-list:Ignore;"&gt;a.&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;ItemType Retail Catalog&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;mso-fareast-font-family:Arial;"&gt;&lt;span style="mso-list:Ignore;"&gt;&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;i.&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;Implementation: Table&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;mso-fareast-font-family:Arial;"&gt;&lt;span style="mso-list:Ignore;"&gt;b.&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;ItemType Catalog Item&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;mso-fareast-font-family:Arial;"&gt;&lt;span style="mso-list:Ignore;"&gt;&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;i.&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;Implementation: Table&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;mso-fareast-font-family:Arial;"&gt;&lt;span style="mso-list:Ignore;"&gt;c.&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;RelationshipType Retail Catalog Item&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;mso-fareast-font-family:Arial;"&gt;&lt;span style="mso-list:Ignore;"&gt;&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;i.&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;Source: Retail Catalog&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;mso-fareast-font-family:Arial;"&gt;&lt;span style="mso-list:Ignore;"&gt;&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;ii.&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;Related: Catalog Item&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;mso-fareast-font-family:Arial;"&gt;&lt;span style="mso-list:Ignore;"&gt;&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;iii.&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;Relationship ItemType Implementation: Table&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;mso-fareast-font-family:Arial;"&gt;&lt;span style="mso-list:Ignore;"&gt;d.&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;RelationshipType CI Inventory&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;mso-fareast-font-family:Arial;"&gt;&lt;span style="mso-list:Ignore;"&gt;&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;i.&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;Source: Catalog Item&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;mso-fareast-font-family:Arial;"&gt;&lt;span style="mso-list:Ignore;"&gt;&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;ii.&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;No related&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;mso-fareast-font-family:Arial;"&gt;&lt;span style="mso-list:Ignore;"&gt;&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;iii.&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;Relationship ItemType Implementation: Federated, no data in Innovator&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;mso-fareast-font-family:Arial;"&gt;&lt;span style="mso-list:Ignore;"&gt;&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;iv.&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;ServerEvent on get to implement business rules&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;mso-fareast-font-family:Arial;"&gt;&lt;span style="mso-list:Ignore;"&gt;e.&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;RelationshipType CI Order&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;mso-fareast-font-family:Arial;"&gt;&lt;span style="mso-list:Ignore;"&gt;&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;i.&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;Source: Catalog Item&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;mso-fareast-font-family:Arial;"&gt;&lt;span style="mso-list:Ignore;"&gt;&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;ii.&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;Relationship ItemType Implementation: Federated, stub data in Innovator&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;mso-fareast-font-family:Arial;"&gt;&lt;span style="mso-list:Ignore;"&gt;&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;iii.&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;No related&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;mso-fareast-font-family:Arial;"&gt;&lt;span style="mso-list:Ignore;"&gt;&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;iv.&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;Lifecyle Open and Closed, World can promote&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;mso-fareast-font-family:Arial;"&gt;&lt;span style="mso-list:Ignore;"&gt;&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;v.&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;ServerEvents on get, add, update and delete to implement business rules&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:10pt;font-family:Arial;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:EN-US;mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;&lt;br clear="all" style="page-break-before:always;mso-special-character:line-break;" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;nbsp;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:10pt;font-family:Arial;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:EN-US;mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;&lt;br clear="all" style="page-break-before:always;mso-special-character:line-break;" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;mso-fareast-font-family:Arial;"&gt;&lt;span style="mso-list:Ignore;"&gt;3.&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;Business rules&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;mso-fareast-font-family:Arial;"&gt;&lt;span style="mso-list:Ignore;"&gt;a.&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;For Catalog Item show sum of quantity on hand at all warehouses&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;mso-fareast-font-family:Arial;"&gt;&lt;span style="mso-list:Ignore;"&gt;b.&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;For Catalog Inventory show warehouse and qty on hand&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;mso-fareast-font-family:Arial;"&gt;&lt;span style="mso-list:Ignore;"&gt;c.&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;For Catalog Item Order show warehouse, qty on order, qty received&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;mso-fareast-font-family:Arial;"&gt;&lt;span style="mso-list:Ignore;"&gt;a.&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;Since Catalog Item Order has data shared between Innovator and the remote system we need to define where information can be added changed and deleted in these rules. You may choose different rules according the business need.&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;mso-fareast-font-family:Arial;"&gt;&lt;span style="mso-list:Ignore;"&gt;b.&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;CI Orders will only be displayed in the relationship grid of Catalog Items, ie where the source_id is known.&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;mso-fareast-font-family:Arial;"&gt;&lt;span style="mso-list:Ignore;"&gt;c.&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;When a new CI Order is added to Innovator and it does not exist on the remote system, it will be added to both systems&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;mso-fareast-font-family:Arial;"&gt;&lt;span style="mso-list:Ignore;"&gt;d.&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;When a CI Order order quantity is edited in Innovator it will also be updated on the remote system&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;mso-fareast-font-family:Arial;"&gt;&lt;span style="mso-list:Ignore;"&gt;e.&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;When a CI Order is deleted in Innovator, it will be deleted from the remote system also&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;mso-fareast-font-family:Arial;"&gt;&lt;span style="mso-list:Ignore;"&gt;f.&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;An action may be run in Innovator which will synchronize data between Innovator and the remote system&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;mso-fareast-font-family:Arial;"&gt;&lt;span style="mso-list:Ignore;"&gt;&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;i.&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;An CI Orders on the remote system but not in Innovator will be added to Innovator&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;mso-fareast-font-family:Arial;"&gt;&lt;span style="mso-list:Ignore;"&gt;&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;ii.&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;Any CI Orders not on the remote system but in Innovator will be deleted from Innovator&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;mso-fareast-font-family:Arial;"&gt;&lt;span style="mso-list:Ignore;"&gt;&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;iii.&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;All CI Orders in Innovator will be promoted to the appropriate state&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;mso-fareast-font-family:Arial;"&gt;&lt;span style="mso-list:Ignore;"&gt;4.&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;User Interface&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;mso-fareast-font-family:Arial;"&gt;&lt;span style="mso-list:Ignore;"&gt;a.&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;No special requirements&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;nbsp;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;span style="font-size:12pt;font-family:Arial;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-size:16.0pt;mso-font-kerning:16.0pt;mso-ansi-language:EN-US;mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;&lt;br clear="all" style="page-break-before:always;" /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;h1 style="margin:12pt 0in 3pt;"&gt;&lt;a name="_Toc216854225"&gt;&lt;span style="font-size:small;"&gt;IMPLEMENTATION OF EXAMPLE&lt;/span&gt;&lt;/a&gt;&lt;/h1&gt;
&lt;p style="margin:0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;nbsp;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/h1&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;A SQL interface will be used.&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;nbsp;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;For simplicity &amp;lsquo;remote data&amp;rsquo; will be in tables not owned by innovator. Data might just as easily be in a linked server, which can be referenced directly using sql in the Innovator data server&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h2 style="margin:12pt 0in 3pt;"&gt;&lt;a name="_Toc216854226"&gt;&lt;span style="font-size:small;"&gt;Remote table definitions&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p style="margin:0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;nbsp;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;CREATE TABLE [dbo].[fed_ci_inventory](&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;[wh] [varchar](1) NULL,&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;[item_number] [nvarchar](7) NULL,&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;[qty_oh] [int] NULL&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;) ON [PRIMARY]&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in 0in 0pt 0.5in;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;nbsp;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;CREATE TABLE [dbo].[fed_ci_order](&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;[ordno] [int] NULL,&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;[wh] [char](1) NULL,&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;[item_number] [varchar](8) NULL,&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;[qty_ord] [int] NULL,&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;[qty_rcd] [int] NULL&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;) ON [PRIMARY]&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h2 style="margin:12pt 0in 3pt;"&gt;&lt;a name="_Toc216854227"&gt;&lt;span style="font-size:small;"&gt;CI Inventory, ServerEvent, onGet&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p class="MsoNormal"&gt;&lt;i&gt;&lt;span style="font-size:11pt;color:green;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;// get the item_number, it&amp;#39;s not passed automatically&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;Item qry0 &lt;span style="color:red;"&gt;=&lt;/span&gt; &lt;b&gt;&lt;span style="color:blue;"&gt;this&lt;/span&gt;&lt;/b&gt;&lt;span style="color:red;"&gt;.&lt;/span&gt;newItem(&lt;span style="color:purple;"&gt;&amp;quot;Catalog Item&amp;quot;&lt;/span&gt;);&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;qry0&lt;span style="color:red;"&gt;.&lt;/span&gt;setAttribute(&lt;span style="color:purple;"&gt;&amp;quot;select&amp;quot;&lt;/span&gt;,&lt;span style="color:purple;"&gt;&amp;quot;item_number&amp;quot;&lt;/span&gt;);&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;qry0&lt;span style="color:red;"&gt;.&lt;/span&gt;setID(&lt;b&gt;&lt;span style="color:blue;"&gt;this&lt;/span&gt;&lt;/b&gt;&lt;span style="color:red;"&gt;.&lt;/span&gt;getProperty(&lt;span style="color:purple;"&gt;&amp;quot;source_id&amp;quot;&lt;/span&gt;));&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;Item res&lt;span style="color:red;"&gt;=&lt;/span&gt;qry0&lt;span style="color:red;"&gt;.&lt;/span&gt;apply(&lt;span style="color:purple;"&gt;&amp;quot;get&amp;quot;&lt;/span&gt;);&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-size:11pt;color:blue;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;if&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt; (res&lt;span style="color:red;"&gt;.&lt;/span&gt;isError()) &lt;b&gt;&lt;span style="color:blue;"&gt;return&lt;/span&gt;&lt;/b&gt; res;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;i&gt;&lt;span style="font-size:11pt;color:green;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;// get federated data&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;i&gt;&lt;span style="font-size:11pt;color:green;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;// we use a SQL Item here rather than applySQL(...)&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;i&gt;&lt;span style="font-size:11pt;color:green;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;// because SQL PROCESS conveniently takes&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;i&gt;&lt;span style="font-size:11pt;color:green;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;// id and type columns from the result set&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;i&gt;&lt;span style="font-size:11pt;color:green;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;// and turns them into attributes of the returned Items&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;Item qry1 &lt;span style="color:red;"&gt;=&lt;/span&gt; &lt;b&gt;&lt;span style="color:blue;"&gt;this&lt;/span&gt;&lt;/b&gt;&lt;span style="color:red;"&gt;.&lt;/span&gt;newItem(&lt;span style="color:purple;"&gt;&amp;quot;SQL&amp;quot;&lt;/span&gt;,&lt;span style="color:purple;"&gt;&amp;quot;SQL PROCESS&amp;quot;&lt;/span&gt;);&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;qry1&lt;span style="color:red;"&gt;.&lt;/span&gt;setProperty(&lt;span style="color:purple;"&gt;&amp;quot;name&amp;quot;&lt;/span&gt;,&lt;span style="color:purple;"&gt;&amp;quot;select_ci_inventory&amp;quot;&lt;/span&gt;);&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;qry1&lt;span style="color:red;"&gt;.&lt;/span&gt;setProperty(&lt;span style="color:purple;"&gt;&amp;quot;PROCESS&amp;quot;&lt;/span&gt;,&lt;span style="color:purple;"&gt;&amp;quot;CALL&amp;quot;&lt;/span&gt;);&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;qry1&lt;span style="color:red;"&gt;.&lt;/span&gt;setProperty(&lt;span style="color:purple;"&gt;&amp;quot;ARG1&amp;quot;&lt;/span&gt;, res&lt;span style="color:red;"&gt;.&lt;/span&gt;getProperty(&lt;span style="color:purple;"&gt;&amp;quot;item_number&amp;quot;&lt;/span&gt;));&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;res &lt;span style="color:red;"&gt;=&lt;/span&gt; qry1&lt;span style="color:red;"&gt;.&lt;/span&gt;apply();&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-size:11pt;color:blue;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;return&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt; res&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h2 style="margin:12pt 0in 3pt;"&gt;&lt;a name="_Toc216854228"&gt;&lt;span style="font-size:small;"&gt;SQL Item, SELECT_CI_INVENTORY&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;create procedure select_ci_inventory (@ci varchar(8))&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;AS&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;BEGIN&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;select replace(NewID(),&amp;#39;-&amp;#39;,&amp;#39;&amp;#39;)&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;id, &amp;#39;CI Inventory&amp;#39;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;type, *&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;from dbo.fed_ci_inventory&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;where item_number=@ci&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;END&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;nbsp;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:10pt;font-family:Arial;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:EN-US;mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;&lt;br clear="all" style="page-break-before:always;mso-special-character:line-break;" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;nbsp;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:10pt;font-family:Arial;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:EN-US;mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;&lt;br clear="all" style="page-break-before:always;mso-special-character:line-break;" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h2 style="margin:12pt 0in 3pt;"&gt;&lt;a name="_Toc216854229"&gt;&lt;span style="font-size:small;"&gt;CI Order, ServerEvent, onAfterGet&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p style="margin:0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;nbsp;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;i&gt;&lt;span style="font-size:11pt;color:green;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;// onAfterGet may return a single Item for example to populate an Item Window &lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;i&gt;&lt;span style="font-size:11pt;color:green;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;// or a collection of Items for example to populate the Main Grid&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;i&gt;&lt;span style="font-size:11pt;color:green;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;// so we loop through the context Item&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-size:11pt;color:blue;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;for&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt; (&lt;b&gt;&lt;span style="color:blue;"&gt;int&lt;/span&gt;&lt;/b&gt; i&lt;span style="color:red;"&gt;=&lt;/span&gt;0;i&lt;span style="color:red;"&gt;&amp;lt;&lt;/span&gt;&lt;b&gt;&lt;span style="color:blue;"&gt;this&lt;/span&gt;&lt;/b&gt;&lt;span style="color:red;"&gt;.&lt;/span&gt;getItemCount();i&lt;span style="color:red;"&gt;++&lt;/span&gt;)&lt;b&gt;&lt;span style="color:blue;"&gt;{&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Item ci &lt;span style="color:red;"&gt;=&lt;/span&gt; &lt;b&gt;&lt;span style="color:blue;"&gt;this&lt;/span&gt;&lt;/b&gt;&lt;span style="color:red;"&gt;.&lt;/span&gt;getItemByIndex(i);&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;i&gt;&lt;span style="color:green;"&gt;// get data for the key to the remote system&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;b&gt;&lt;span style="color:blue;"&gt;string&lt;/span&gt;&lt;/b&gt; ordno &lt;span style="color:red;"&gt;=&lt;/span&gt;ci&lt;span style="color:red;"&gt;.&lt;/span&gt;getProperty(&lt;span style="color:purple;"&gt;&amp;quot;ordno&amp;quot;&lt;/span&gt;);&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;b&gt;&lt;span style="color:blue;"&gt;string&lt;/span&gt;&lt;/b&gt; wh&lt;span style="color:red;"&gt;=&lt;/span&gt;ci&lt;span style="color:red;"&gt;.&lt;/span&gt;getProperty(&lt;span style="color:purple;"&gt;&amp;quot;wh&amp;quot;&lt;/span&gt;);&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;b&gt;&lt;span style="color:blue;"&gt;string&lt;/span&gt;&lt;/b&gt; item_number&lt;span style="color:red;"&gt;=&lt;/span&gt;ci&lt;span style="color:red;"&gt;.&lt;/span&gt;getProperty(&lt;span style="color:purple;"&gt;&amp;quot;item_number&amp;quot;&lt;/span&gt;);&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;b&gt;&lt;span style="color:blue;"&gt;if&lt;/span&gt;&lt;/b&gt; (ordno&lt;span style="color:red;"&gt;==&lt;/span&gt;&lt;b&gt;&lt;span style="color:blue;"&gt;null&lt;/span&gt;&lt;/b&gt;&lt;span style="color:red;"&gt;||&lt;/span&gt;wh&lt;span style="color:red;"&gt;==&lt;/span&gt;&lt;b&gt;&lt;span style="color:blue;"&gt;null&lt;/span&gt;&lt;/b&gt;&lt;span style="color:red;"&gt;||&lt;/span&gt;item_number&lt;span style="color:red;"&gt;==&lt;/span&gt;&lt;b&gt;&lt;span style="color:blue;"&gt;null&lt;/span&gt;&lt;/b&gt;)&lt;b&gt;&lt;span style="color:blue;"&gt;{&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:2;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;i&gt;&lt;span style="color:green;"&gt;// the context Item might only contain the id&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:2;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;i&gt;&lt;span style="color:green;"&gt;// in which case we&amp;#39;ll get them from the server&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:2;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Item ci2&lt;span style="color:red;"&gt;=&lt;/span&gt; &lt;b&gt;&lt;span style="color:blue;"&gt;this&lt;/span&gt;&lt;/b&gt;&lt;span style="color:red;"&gt;.&lt;/span&gt;newItem(&lt;span style="color:purple;"&gt;&amp;quot;CI Order&amp;quot;&lt;/span&gt;);&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:2;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;ci2&lt;span style="color:red;"&gt;.&lt;/span&gt;setID(&lt;b&gt;&lt;span style="color:blue;"&gt;this&lt;/span&gt;&lt;/b&gt;&lt;span style="color:red;"&gt;.&lt;/span&gt;getItemByIndex(i)&lt;span style="color:red;"&gt;.&lt;/span&gt;getID());&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:2;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;ci2&lt;span style="color:red;"&gt;.&lt;/span&gt;setAttribute(&lt;span style="color:purple;"&gt;&amp;quot;select&amp;quot;&lt;/span&gt;,&lt;span style="color:purple;"&gt;&amp;quot;ordno,wh,item_number&amp;quot;&lt;/span&gt;);&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:2;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;ci2&lt;span style="color:red;"&gt;=&lt;/span&gt;ci2&lt;span style="color:red;"&gt;.&lt;/span&gt;apply(&lt;span style="color:purple;"&gt;&amp;quot;get&amp;quot;&lt;/span&gt;);&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:2;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;b&gt;&lt;span style="color:blue;"&gt;if&lt;/span&gt;&lt;/b&gt; (ci2&lt;span style="color:red;"&gt;.&lt;/span&gt;isError()) &lt;b&gt;&lt;span style="color:blue;"&gt;return&lt;/span&gt;&lt;/b&gt; ci;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:2;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;ordno &lt;span style="color:red;"&gt;=&lt;/span&gt;ci2&lt;span style="color:red;"&gt;.&lt;/span&gt;getProperty(&lt;span style="color:purple;"&gt;&amp;quot;ordno&amp;quot;&lt;/span&gt;);&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:2;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;wh&lt;span style="color:red;"&gt;=&lt;/span&gt;ci2&lt;span style="color:red;"&gt;.&lt;/span&gt;getProperty(&lt;span style="color:purple;"&gt;&amp;quot;wh&amp;quot;&lt;/span&gt;);&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:2;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;item_number&lt;span style="color:red;"&gt;=&lt;/span&gt;ci2&lt;span style="color:red;"&gt;.&lt;/span&gt;getProperty(&lt;span style="color:purple;"&gt;&amp;quot;item_number&amp;quot;&lt;/span&gt;);&lt;span style="mso-tab-count:2;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;span style="mso-tab-count:2;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;b&gt;&lt;span style="color:blue;"&gt;}&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;i&gt;&lt;span style="color:green;"&gt;// retrieve data from the remote system&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;i&gt;&lt;span style="font-size:11pt;color:green;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;// in this case we&amp;rsquo;ll use applySQL(&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;hellip;)&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;hellip;)&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;i&gt;&lt;span style="font-size:11pt;color:green;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;// all the code is in the method, no separate SQL Item&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;i&gt;&lt;span style="font-size:11pt;color:green;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;// in C# the @&amp;rdquo;&amp;hellip;&amp;rdquo; indicates a string literal&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;i&gt;&lt;span style="font-size:11pt;color:green;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;// so the string can include linebreaks&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;i&gt;&lt;span style="font-size:11pt;color:green;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;// and String.Format(&amp;hellip;) makess substitutions&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;b&gt;&lt;span style="color:blue;"&gt;string&lt;/span&gt;&lt;/b&gt; sql&lt;span style="color:red;"&gt;=&lt;/span&gt;&lt;span style="color:purple;"&gt;@&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;quot;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;select qty_rcd from dbo&lt;span style="color:red;"&gt;.&lt;/span&gt;fed_ci_order &lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;where ordno&lt;span style="color:red;"&gt;=&lt;/span&gt;&lt;b&gt;&lt;span style="color:blue;"&gt;{&lt;/span&gt;&lt;/b&gt;0&lt;b&gt;&lt;span style="color:blue;"&gt;}&lt;/span&gt;&lt;/b&gt; and wh&lt;span style="color:red;"&gt;=&lt;/span&gt;&lt;b&gt;&lt;span style="color:blue;"&gt;{&lt;/span&gt;&lt;/b&gt;1&lt;b&gt;&lt;span style="color:blue;"&gt;}&lt;/span&gt;&lt;/b&gt; and item_number&lt;span style="color:red;"&gt;=&lt;/span&gt;&lt;span style="color:purple;"&gt;&amp;#39;{2}&amp;#39;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;quot;;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;quot;;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;sql&lt;span style="color:red;"&gt;=&lt;/span&gt;String&lt;span style="color:red;"&gt;.&lt;/span&gt;Format(sql,ordno,wh,item_number);&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Item res &lt;span style="color:red;"&gt;=&lt;/span&gt;&lt;b&gt;&lt;span style="color:blue;"&gt;this&lt;/span&gt;&lt;/b&gt;&lt;span style="color:red;"&gt;.&lt;/span&gt;getInnovator()&lt;span style="color:red;"&gt;.&lt;/span&gt;applySQL(sql);&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;b&gt;&lt;span style="color:blue;"&gt;if&lt;/span&gt;&lt;/b&gt; (res&lt;span style="color:red;"&gt;.&lt;/span&gt;isError()) &lt;b&gt;&lt;span style="color:blue;"&gt;return&lt;/span&gt;&lt;/b&gt; res;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;i&gt;&lt;span style="color:green;"&gt;// update context Item with retrieved data&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;b&gt;&lt;span style="color:blue;"&gt;if&lt;/span&gt;&lt;/b&gt; (res&lt;span style="color:red;"&gt;.&lt;/span&gt;getResult()&lt;span style="color:red;"&gt;!=&lt;/span&gt;&lt;span style="color:purple;"&gt;&amp;quot;&amp;quot;&lt;/span&gt;)&lt;b&gt;&lt;span style="color:blue;"&gt;{&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:2;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;b&gt;&lt;span style="color:blue;"&gt;string&lt;/span&gt;&lt;/b&gt; qty_rcd &lt;span style="color:red;"&gt;=&lt;/span&gt; res&lt;span style="color:red;"&gt;.&lt;/span&gt;getProperty(&lt;span style="color:purple;"&gt;&amp;quot;qty_rcd&amp;quot;&lt;/span&gt;,&lt;span style="color:purple;"&gt;&amp;quot;0&amp;quot;&lt;/span&gt;);&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:2;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;ci&lt;span style="color:red;"&gt;.&lt;/span&gt;setProperty(&lt;span style="color:purple;"&gt;&amp;quot;qty_rcd&amp;quot;&lt;/span&gt;,qty_rcd);&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;b&gt;&lt;span style="color:blue;"&gt;}&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-size:11pt;color:blue;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;}&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;i&gt;&lt;span style="font-size:11pt;color:green;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;// pass updated contextItem back to Innovator&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-size:11pt;color:blue;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;return&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt; &lt;b&gt;&lt;span style="color:blue;"&gt;this&lt;/span&gt;&lt;/b&gt;;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:EN-US;mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;&lt;br clear="all" style="page-break-before:always;mso-special-character:line-break;" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;nbsp;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:EN-US;mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;&lt;br clear="all" style="page-break-before:always;mso-special-character:line-break;" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h2 style="margin:12pt 0in 3pt;"&gt;&lt;a name="_Toc216854230"&gt;&lt;span style="font-size:small;"&gt;CI Order, Server Event, onAfterAdd&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p class="MsoNormal"&gt;&amp;lt;o:p&amp;gt;&lt;span style="font-size:small;font-family:Times New Roman;"&gt;&amp;nbsp;&lt;/span&gt;&amp;lt;/o:p&amp;gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;i&gt;&lt;span style="font-size:11pt;color:green;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;// get data for key to remote system from context Item&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-size:11pt;color:blue;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;string&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt; ordno&lt;span style="color:red;"&gt;=&lt;/span&gt;&lt;b&gt;&lt;span style="color:blue;"&gt;this&lt;/span&gt;&lt;/b&gt;&lt;span style="color:red;"&gt;.&lt;/span&gt;getProperty(&lt;span style="color:purple;"&gt;&amp;quot;ordno&amp;quot;&lt;/span&gt;);&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-size:11pt;color:blue;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;string&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt; wh&lt;span style="color:red;"&gt;=&lt;/span&gt;&lt;b&gt;&lt;span style="color:blue;"&gt;this&lt;/span&gt;&lt;/b&gt;&lt;span style="color:red;"&gt;.&lt;/span&gt;getProperty(&lt;span style="color:purple;"&gt;&amp;quot;wh&amp;quot;&lt;/span&gt;);&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-size:11pt;color:blue;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;string&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt; item_number&lt;span style="color:red;"&gt;=&lt;/span&gt;&lt;b&gt;&lt;span style="color:blue;"&gt;this&lt;/span&gt;&lt;/b&gt;&lt;span style="color:red;"&gt;.&lt;/span&gt;getProperty(&lt;span style="color:purple;"&gt;&amp;quot;item_number&amp;quot;&lt;/span&gt;);&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-size:11pt;color:blue;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;string&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt; qty_ord&lt;span style="color:red;"&gt;=&lt;/span&gt;&lt;b&gt;&lt;span style="color:blue;"&gt;this&lt;/span&gt;&lt;/b&gt;&lt;span style="color:red;"&gt;.&lt;/span&gt;getProperty(&lt;span style="color:purple;"&gt;&amp;quot;qty_ord&amp;quot;&lt;/span&gt;);&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in 0in 0pt 0.5in;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;nbsp;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;i&gt;&lt;span style="font-size:11pt;color:green;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;// add a new row to the remote system&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-size:11pt;color:blue;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;string&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt; sql&lt;span style="color:red;"&gt;=&lt;/span&gt;&lt;span style="color:purple;"&gt;@&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;quot;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;insert into dbo&lt;span style="color:red;"&gt;.&lt;/span&gt;fed_ci_order select &lt;span style="color:purple;"&gt;&amp;#39;{0}&amp;#39;&lt;/span&gt;,&lt;span style="color:purple;"&gt;&amp;#39;{1}&amp;#39;&lt;/span&gt;,&lt;span style="color:purple;"&gt;&amp;#39;{2}&amp;#39;&lt;/span&gt;,&lt;span style="color:purple;"&gt;&amp;#39;{3}&amp;#39;&lt;/span&gt;, &lt;b&gt;&lt;span style="color:blue;"&gt;null&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;where not exists&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;(select &lt;span style="color:red;"&gt;*&lt;/span&gt; from dbo&lt;span style="color:red;"&gt;.&lt;/span&gt;fed_ci_order&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;where ordno&lt;span style="color:red;"&gt;=&lt;/span&gt;&lt;b&gt;&lt;span style="color:blue;"&gt;{&lt;/span&gt;&lt;/b&gt;0&lt;b&gt;&lt;span style="color:blue;"&gt;}&lt;/span&gt;&lt;/b&gt; and wh&lt;span style="color:red;"&gt;=&lt;/span&gt;&lt;b&gt;&lt;span style="color:blue;"&gt;{&lt;/span&gt;&lt;/b&gt;1&lt;b&gt;&lt;span style="color:blue;"&gt;}&lt;/span&gt;&lt;/b&gt; and item_number&lt;span style="color:red;"&gt;=&lt;/span&gt;&lt;span style="color:purple;"&gt;&amp;#39;{2}&amp;#39;&lt;/span&gt;)&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in 0in 0pt 0.5in;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="font-size:11pt;color:purple;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;quot;;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;color:purple;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="background: SpringGreen;"&gt;&amp;quot;;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;sql&lt;span style="color:red;"&gt;=&lt;/span&gt;String&lt;span style="color:red;"&gt;.&lt;/span&gt;Format(sql,ordno,wh,item_number,qty_ord);&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;Item result&lt;span style="color:red;"&gt;=&lt;/span&gt;&lt;b&gt;&lt;span style="color:blue;"&gt;this&lt;/span&gt;&lt;/b&gt;&lt;span style="color:red;"&gt;.&lt;/span&gt;getInnovator()&lt;span style="color:red;"&gt;.&lt;/span&gt;applySQL(sql);&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;i&gt;&lt;span style="font-size:11pt;color:green;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;// no further processing in Innovator&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;i&gt;&lt;span style="font-size:11pt;color:green;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;// but c# must return something, if it&amp;#39;s an error the add will roll back&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
&lt;h2 style="margin:12pt 0in 3pt;"&gt;&lt;span style="font-size:11pt;color:blue;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;a name="_Toc216854231"&gt;&lt;span style="font-size:small;"&gt;CI Order, Server Event, onAfterUpdate&lt;/span&gt;&lt;/a&gt;&lt;span&gt;&lt;/span&gt;&lt;span style="font-size:11pt;color:blue;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span&gt;&lt;/span&gt;&lt;span style="font-size:11pt;color:blue;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p class="MsoNormal"&gt;&lt;i&gt;&lt;span style="font-size:11pt;color:green;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;// get data for key to remote system from context Item&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-size:11pt;color:blue;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;string&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt; ordno&lt;span style="color:red;"&gt;=&lt;/span&gt;&lt;b&gt;&lt;span style="color:blue;"&gt;this&lt;/span&gt;&lt;/b&gt;&lt;span style="color:red;"&gt;.&lt;/span&gt;getProperty(&lt;span style="color:purple;"&gt;&amp;quot;ordno&amp;quot;&lt;/span&gt;);&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-size:11pt;color:blue;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;string&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt; wh&lt;span style="color:red;"&gt;=&lt;/span&gt;&lt;b&gt;&lt;span style="color:blue;"&gt;this&lt;/span&gt;&lt;/b&gt;&lt;span style="color:red;"&gt;.&lt;/span&gt;getProperty(&lt;span style="color:purple;"&gt;&amp;quot;wh&amp;quot;&lt;/span&gt;);&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-size:11pt;color:blue;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;string&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt; item_number&lt;span style="color:red;"&gt;=&lt;/span&gt;&lt;b&gt;&lt;span style="color:blue;"&gt;this&lt;/span&gt;&lt;/b&gt;&lt;span style="color:red;"&gt;.&lt;/span&gt;getProperty(&lt;span style="color:purple;"&gt;&amp;quot;item_number&amp;quot;&lt;/span&gt;);&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-size:11pt;color:blue;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;string&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt; qty_ord&lt;span style="color:red;"&gt;=&lt;/span&gt;&lt;b&gt;&lt;span style="color:blue;"&gt;this&lt;/span&gt;&lt;/b&gt;&lt;span style="color:red;"&gt;.&lt;/span&gt;getProperty(&lt;span style="color:purple;"&gt;&amp;quot;qty_ord&amp;quot;&lt;/span&gt;);&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;i&gt;&lt;span style="font-size:11pt;color:green;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;// update remote system&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-size:11pt;color:blue;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;string&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt; sql&lt;span style="color:red;"&gt;=&lt;/span&gt;&lt;span style="color:purple;"&gt;@&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;quot;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;update dbo&lt;span style="color:red;"&gt;.&lt;/span&gt;fed_ci_order&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;set qty_ord&lt;span style="color:red;"&gt;=&lt;/span&gt;&lt;b&gt;&lt;span style="color:blue;"&gt;{&lt;/span&gt;&lt;/b&gt;3&lt;b&gt;&lt;span style="color:blue;"&gt;}&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;where ordno&lt;span style="color:red;"&gt;=&lt;/span&gt;&lt;b&gt;&lt;span style="color:blue;"&gt;{&lt;/span&gt;&lt;/b&gt;0&lt;b&gt;&lt;span style="color:blue;"&gt;}&lt;/span&gt;&lt;/b&gt; and wh&lt;span style="color:red;"&gt;=&lt;/span&gt;&lt;b&gt;&lt;span style="color:blue;"&gt;{&lt;/span&gt;&lt;/b&gt;1&lt;b&gt;&lt;span style="color:blue;"&gt;}&lt;/span&gt;&lt;/b&gt; and item_number&lt;span style="color:red;"&gt;=&lt;/span&gt;&lt;span style="color:purple;"&gt;&amp;#39;{2}&amp;#39;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in 0in 0pt 0.5in;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="font-size:11pt;color:purple;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;quot;;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;color:purple;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="background: SpringGreen;"&gt;&amp;quot;;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;sql&lt;span style="color:red;"&gt;=&lt;/span&gt;String&lt;span style="color:red;"&gt;.&lt;/span&gt;Format(sql,ordno,wh,item_number,qty_ord);&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;Item result&lt;span style="color:red;"&gt;=&lt;/span&gt;&lt;b&gt;&lt;span style="color:blue;"&gt;this&lt;/span&gt;&lt;/b&gt;&lt;span style="color:red;"&gt;.&lt;/span&gt;getInnovator()&lt;span style="color:red;"&gt;.&lt;/span&gt;applySQL(sql);&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in 0in 0pt 0.5in;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;nbsp;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;i&gt;&lt;span style="font-size:11pt;color:green;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;// no further processing in Innovator&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;i&gt;&lt;span style="font-size:11pt;color:green;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;// but c# must return something, if it&amp;#39;s an error the update will roll back&lt;span style="text-dec
