<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd"><channel><title>Supply Chain Management in Dynamics AX</title><link>http://blogs.msdn.com/b/dynamicsaxscm/</link><description>This blog contains information and feedback on the Supply Chain Management area in Microsoft Dynamics AX</description><dc:language>en-US</dc:language><generator>Telligent Evolution Platform Developer Build (Build: 5.6.50428.7875)</generator><itunes:author /><itunes:summary>This blog contains information and feedback on the Supply Chain Management area in Microsoft Dynamics AX</itunes:summary><itunes:explicit>no</itunes:explicit><language>en-US</language><item><title>Import Vendor Catalogs – Part 3 (Troubleshooting)</title><link>http://blogs.msdn.com/b/dynamicsaxscm/archive/2013/03/07/import-vendor-catalogs-part-3-troubleshooting.aspx</link><pubDate>Thu, 07 Mar 2013 13:35:58 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10400270</guid><dc:creator>Vanya Lebedev</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/dynamicsaxscm/rsscomments.aspx?WeblogPostID=10400270</wfw:commentRss><comments>http://blogs.msdn.com/b/dynamicsaxscm/archive/2013/03/07/import-vendor-catalogs-part-3-troubleshooting.aspx#comments</comments><description>&lt;p&gt;It’s seems like it’s time for a new post in the series about importing vendor catalogs in Dynamics AX 2012. The previous couple of blog posts covered &lt;a href="http://blogs.msdn.com/b/dynamicsaxscm/archive/2012/08/29/import-vendor-catalogs-from-setup-to-importing-a-sample-catalog-part-1-setup.aspx"&gt;setup&lt;/a&gt; and &lt;a href="http://blogs.msdn.com/b/dynamicsaxscm/archive/2012/09/09/import-vendor-catalogs-from-setup-to-importing-a-sample-catalog-part-2-importing-a-sample-catalog.aspx"&gt;importing a sample catalog&lt;/a&gt;. It’s all well and nice but what if something went wrong somewhere along the way of setting up the feature. Below you will find a list of problems that can arise during vendor catalog import setup. And of course the solutions to the problems will be described in detail.&lt;/p&gt;  &lt;h2&gt;Questions and Answers&lt;/h2&gt;  &lt;p&gt;&lt;strong&gt;I try to import a Vendor catalog with Dynamics AX. I generate the XSD File but it is really not clear how to populate it.&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;The XSD file that you can generate from the vendor catalog form provides you with the schema of the CMR file that can be imported. XSD (&lt;a href="http://en.wikipedia.org/wiki/XML_Schema_(W3C)"&gt;XML Schema Definition&lt;/a&gt;) is one of several &lt;a href="http://en.wikipedia.org/wiki/XML_schema"&gt;XML schema languages&lt;/a&gt;. The blog post about &lt;a href="http://blogs.msdn.com/b/dynamicsaxscm/archive/2012/09/09/import-vendor-catalogs-from-setup-to-importing-a-sample-catalog-part-2-importing-a-sample-catalog.aspx"&gt;importing a sample catalog&lt;/a&gt; contains a detailed list of steps that you need to take to generated a sample CMR file.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;I’d like to see an example of a CMR file with data to import?&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;It is important to note that the XSD schema for CMR files depends on the procurement hierarchy that you set up in Dynamics AX so the chances of successfully importing sample CMR files are really-really low because the XSD schema produced from your system will most probably differ from the one that was used to generate the sample file. However it’s always nice to see a sample file just to have an idea of what kind of beast the CMR file is. Below is the XML that a sample file might contain:&lt;/p&gt;  &lt;div id="codeSnippetWrapper" style="margin: 20px 0px 10px; padding: 4px; border: 1px solid silver; width: 97.5%; text-align: left; line-height: 12pt; overflow: auto; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; cursor: text; direction: ltr; max-height: 200px; background-color: rgb(244, 244, 244);"&gt;   &lt;div id="codeSnippet" style="padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;     &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;?&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;xml&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;version&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;=&amp;quot;1.0&amp;quot;&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;encoding&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;=&amp;quot;utf-8&amp;quot;&lt;/span&gt;?&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;VendorCatalog&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;VendorName&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;=&amp;quot;CatImpVend&amp;quot;&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;LoadDate&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;=&amp;quot;1900-01-01T01:01:01+01:00&amp;quot;&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;ProductClassification&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;=&amp;quot;Procurement Category&amp;quot;&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;xmlns&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;=&amp;quot;http://dax.com/vendorcatalog&amp;quot;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;  &lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;Product&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;xmlns:xsi&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot;&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;xsi:type&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;=&amp;quot;root&amp;quot;&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;Delete&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;=&amp;quot;No&amp;quot;&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;ProductCode&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;=&amp;quot;ProductCode1&amp;quot;&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;ProductSearchName&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;=&amp;quot;ProductSearchName1&amp;quot;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;    &lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;PriceInformation&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;      &lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;Price&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;Currency&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;=&amp;quot;USD&amp;quot;&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;UnitOfMeasure&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;=&amp;quot;%&amp;quot;&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;Value&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;=&amp;quot;100&amp;quot;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;      &lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;Price&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;    &lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;PriceInformation&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;    &lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;ProductNameAndDescription&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;      &lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;NameAndDescription&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;        &lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;Description&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;Description1&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;Description&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;        &lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;Name&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;Name1&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;Name&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;        &lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;Language&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;af&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;Language&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;      &lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;NameAndDescription&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;    &lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;ProductNameAndDescription&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;    &lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;ProductAttributes&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;      &lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;Color&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;Language&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;=&amp;quot;af&amp;quot;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;Blue&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;Color&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;    &lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;ProductAttributes&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;  &lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;Product&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;VendorCatalog&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;I’m getting the error “Imported schema for namespace ‘http://www.w3.org/XML/1998/namespace’ was not resolved” when trying to generate in Visual Studio a sample CMR file based on the XSD schema.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This is a known issue. The workaround is to remove the line below from the XSD file: &lt;/p&gt;

&lt;div id="codeSnippetWrapper" style="margin: 20px 0px 10px; padding: 4px; border: 1px solid silver; width: 97.5%; text-align: left; line-height: 12pt; overflow: auto; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; cursor: text; direction: ltr; max-height: 200px; background-color: rgb(244, 244, 244);"&gt;
  &lt;div id="codeSnippet" style="padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;
    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;xs:import&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;schemaLocation&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;=&amp;quot;http://www.w3.org/2001/xml.xsd&amp;quot;&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;namespace&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;=&amp;quot;http://www.w3.org/XML/1998/namespace&amp;quot;&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;When I run the AIF job for processing no error is given but the status of the import in the Catalog file history does not change&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The error was most probably logged in the AIF exception log: System administration\Periodic\Application integrationServices and Application Integration Framework\Exceptions.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;In the AIF exception log there is an error: Could not find schema information for the element 'http://dax.com/vendorcatalog:VendorCatalog'.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Make sure that you set up the inbound port in AIF as in &lt;a href="http://msdn.microsoft.com/en-us/library/hh533450.aspx"&gt;Walkthrough: Configuring an inbound integration port for catalog import [AX 2012]&lt;/a&gt;. Pay special attention to the paragraph about setting up the pipeline component:&lt;/p&gt;

&lt;p&gt;The catalog import service requires a special component that processes CMR documents. To enable this component, follow these steps. &lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;
    &lt;p&gt;In the &lt;strong&gt;Inbound ports&lt;/strong&gt; form, on the &lt;strong&gt;Processing options&lt;/strong&gt; tab, select the &lt;strong&gt;Preprocess service operation requests&lt;/strong&gt; check box, and then click &lt;strong&gt;Inbound pipelines&lt;/strong&gt;. &lt;/p&gt;
  &lt;/li&gt;

  &lt;li&gt;
    &lt;p&gt;In the &lt;strong&gt;Inbound pipelines&lt;/strong&gt; form, click &lt;strong&gt;Add&lt;/strong&gt;. Then, in the &lt;strong&gt;Class name&lt;/strong&gt; list, select CatVendorXmlTransform. &lt;/p&gt;
  &lt;/li&gt;

  &lt;li&gt;
    &lt;p&gt;In the &lt;strong&gt;Purpose&lt;/strong&gt; field, enter an optional description, such as “Transform vendor XML files,” and then close the &lt;strong&gt;Inbound pipelines&lt;/strong&gt; form. &lt;/p&gt;
  &lt;/li&gt;

  &lt;li&gt;
    &lt;p&gt;Click &lt;strong&gt;Activate&lt;/strong&gt; to deploy the integration port.&lt;/p&gt;
  &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;h2&gt;Conclusion&lt;/h2&gt;

&lt;p&gt;I hope this information was useful. I would like to make this article into a live blog post. So if you have any problems with setting up vendor catalog import please write to me or post a comment and I will do my best to resolve your problem and post the resolution in this article.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10400270" width="1" height="1"&gt;</description></item><item><title>What's New in Microsoft Dynamics AX 2012 R2 for Product Information Management</title><link>http://blogs.msdn.com/b/dynamicsaxscm/archive/2012/12/18/what-s-new-in-microsoft-dynamics-ax-2012-r2-for-product-information-management.aspx</link><pubDate>Tue, 18 Dec 2012 11:03:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10378980</guid><dc:creator>Mai-Britt Winther</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/dynamicsaxscm/rsscomments.aspx?WeblogPostID=10378980</wfw:commentRss><comments>http://blogs.msdn.com/b/dynamicsaxscm/archive/2012/12/18/what-s-new-in-microsoft-dynamics-ax-2012-r2-for-product-information-management.aspx#comments</comments><description>&lt;p&gt;This blog post describes some of the enhancements to the Product Information Management (PIM)&lt;br /&gt;area that have been implemented in the R2 release after the launch of Microsoft Dynamics AX 2012 (RTM).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Discovering the small secrets of the Authorized by&lt;br /&gt;company fact box&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Yes, it almost qualifies as an Easter egg! If you resize the Authorized by company fact box in R2,&amp;nbsp;you will find a new column by the end of the grid, and in this column you&amp;rsquo;ll find the item number that identifies the product within its legal entity.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81/5732.blog1.png"&gt;&lt;img src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81/5732.blog1.png" alt="" width="344" height="239" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;This field saves you the hassle of first having to select the company and then the &lt;em&gt;More&lt;/em&gt; link to be able to right-click on the Item number field in order to jump to the details of the product in the specific legal entity. Since these fields are part of a grid, you can of course drag the Item number field closer to the company field and thereby have a smaller FactBox with the direct link.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81/1616.blog2.png"&gt;&lt;img src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81/1616.blog2.png" alt="" width="178" height="219" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;This allows you to jump directly to the record and continue the setup process for the product, with the option to use templates.&lt;/p&gt;
&lt;p&gt;And speaking of templates&amp;hellip;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&amp;ldquo;Catching&amp;rdquo; the process fields in templates&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;With the addition of the Process Industry (PI) solution, a lot of new functionality and product characteristics have been enabled. A small subset of the fields that were added with the solution brought about some minor issues and especially the question of whether a field was a catch weight item or not has caused some confusion.&lt;br /&gt;These issues have now been resolved in order to unblock the procedure.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Enhancing the product services&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;If you rely on some of your products to be created via AIF services, you will find a couple of updates to the services.&lt;/p&gt;
&lt;p&gt;Firstly, the PI characteristics have been added to the released product services, allowing you to read and write product definitions.&lt;/p&gt;
&lt;p&gt;Secondly, a much requested field such as the default order type has been added to the released product service. This allows you to indicate whether the product should be purchased or produced or if it should use Kanban.&lt;/p&gt;
&lt;p&gt;And thirdly, the product and product master dimension value services have been updated to offer full CRUD support.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10378980" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/SCM/">SCM</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/Item_2D00_Product+Data+Management/">Item-Product Data Management</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/Dynamics+Ax+2012/">Dynamics Ax 2012</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/Product+information+management/">Product information management</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/Product_2D00_item+data+management+services/">Product-item data management services</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/AX/">AX</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/Product+template/">Product template</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/Dynamics+AX+2012+R2/">Dynamics AX 2012 R2</category></item><item><title>Monitor and analyse current and future warehouse space utilization with Dynamics AX 2012 R2</title><link>http://blogs.msdn.com/b/dynamicsaxscm/archive/2012/12/12/monitor-and-analyse-current-and-future-warehouse-space-utilization-with-dynamics-ax-2012-r2.aspx</link><pubDate>Tue, 11 Dec 2012 23:37:01 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10376634</guid><dc:creator>Mirza Abdic'</dc:creator><slash:comments>3</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/dynamicsaxscm/rsscomments.aspx?WeblogPostID=10376634</wfw:commentRss><comments>http://blogs.msdn.com/b/dynamicsaxscm/archive/2012/12/12/monitor-and-analyse-current-and-future-warehouse-space-utilization-with-dynamics-ax-2012-r2.aspx#comments</comments><description>&lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;It’s the warehouse managers’ responsibility to make sure that sufficient space is available for all goods that are to be stored in the warehouses that they control. This can be a challenging task. Warehouse space is expensive, and warehouse managers must avoid an excess of free space and on the other hand they must make sure that space is available at the time when goods arrive at the warehouse locations. &lt;/p&gt;  &lt;p&gt;In some industries, a shortage of space at the time when goods arrive at a warehouse location can result in huge financial losses for a company. If, for example, there is not space in a warehouse when a truck load of frozen fish arrives, the warehouse manager cannot just unload the fish on the parking lot outside the buildings. Possible solutions to the problem would be to redirect goods to another warehouse owned by the company, to buy inventory space at the warehouse hotels, or, if there are no other options, to send the goods back. &lt;/p&gt;  &lt;p&gt;All of the solutions mentioned above to the problem of not being able to store goods due to a lack of available warehouse space, will result in added expenses for the warehouse and they might even result in goods not being available for customers or the production. &lt;/p&gt;  &lt;p&gt;What is important for the warehouse manager is to be able to quickly get an overview of the current space utilization in terms of, for example, pallets, volume or weight and to be able to project the future space utilization based on transactions generated by master planning. &lt;/p&gt;  &lt;p&gt;In Dynamics AX 2012 R2, a new report provides a possibility of short and long term operation planning for current and future space utilization of a warehouse. &lt;/p&gt;  &lt;h5&gt;How the space utilization feature can help the warehouse manager&lt;/h5&gt;  &lt;p&gt;As already mentioned, warehouse managers manage the space that is available in the warehouse and they must make sure that the inbound products can be stored in the warehouse. Information about current and forecasted space utilization can enable the warehouse manager to make decisions about where items should be stored. The new report can help the warehouse manager to identify problems with missing space for items that will arrive today or in the future and it can provide insights in transaction details that are related to an excess of unused space. &lt;/p&gt;  &lt;p&gt;To avoid space related issues, the warehouse manager can analyze the amount of capacity that the warehouse or warehouses are currently using and the amount they will use in the future. The warehouse manager can get a detailed overview of the transactions that cause space management issues, and maybe these issues can be avoided by using projections that allow more lead time.&lt;/p&gt;  &lt;p&gt;The space utilization feature in Microsoft Dynamics AX 2012 R2 can display the current capacity of a warehouse and the projected capacity of the future. Capacity can be displayed in pallets (if advanced WMS is used), weight, or volume. Forecasted capacity is based on a master plan and other space utilization settings as defined by the warehouse manager. This will be covered in the sections below.&lt;/p&gt;  &lt;p&gt;The warehouse manager can: &lt;/p&gt;  &lt;p&gt;· Choose a master plan based on the need of a space utilization analysis. &lt;/p&gt;  &lt;p&gt;· Select how many days of future space need to be calculated&lt;/p&gt;  &lt;p&gt;· Specify if either planned or confirmed transactions or both should be included in the report. &lt;/p&gt;  &lt;p&gt;Space utilization is calculated from transactions that are generated by a master plan for the warehouse. The calculation model uses the space utilization situation in the warehouse from before the last MRP run. All of the transactions that are to happen on that warehouse space are calculated no matter if they are planned or confirmed. The result as it would look by the end of the day is shown in percentage vs. maximal space available. The result can be viewed in pallets, volume, or weight provided that this information is set up correctly for all of the products. &lt;/p&gt;  &lt;p&gt;· Check the setting of the products on the &lt;b&gt;Manage inventory&lt;/b&gt; fast tab in the &lt;b&gt;Released product details&lt;/b&gt; form under &lt;b&gt;Product information management&lt;/b&gt;.&lt;/p&gt;  &lt;p&gt;Reports provide warning functionality for master data configurations. For example, say that the warehouse space utilization report is viewed in a unit volume and there is a purchase order line with an item that does not have any setup for physical dimensions. In this case a warning will be shown for this instance and for all similar cases. A detailed report will be generated for all of the missing inventory item setups. If items do not have fallback warehouses, this will be included in the report as well. A warning icon on the report indicates to the warehouse manager that calculations might not be precise and that a fallback warehouse or some inventory item setups are missing. &lt;/p&gt;  &lt;h5&gt;How to use the space utilization feature&lt;/h5&gt;  &lt;p&gt;To use the Space utilization feature in Microsoft Dynamics AX 2012 R2, you must complete the following three steps. Also, data from at least one master plan must be created before the report can be generated.&lt;/p&gt;  &lt;p&gt;Master planning &amp;gt; &lt;b&gt;Periodic&lt;/b&gt;&amp;gt; &lt;b&gt;Master scheduling&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/6747.clip_5F00_image002_5F00_679BBAE5.png"&gt;&lt;img style="display: inline; background-image: none;" title="clip_image002" border="0" alt="clip_image002" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/5658.clip_5F00_image002_5F00_thumb_5F00_1057202F.png" width="478" height="253" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Figure 1&lt;/p&gt;  &lt;p&gt;Configure and run the report:&lt;/p&gt;  &lt;p&gt;1. Configure one or more space utilization setup templates.&lt;/p&gt;  &lt;p&gt;2. Run the &lt;b&gt;Schedule load utilization&lt;/b&gt; periodic job.&lt;/p&gt;  &lt;p&gt;3. Analyze the space utilization information. This can be accomplished in one of two ways:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;1. Run the Warehouse load utilization report from Inventory and warehouse management in Dynamics AX 2012 R2.&lt;/p&gt; &lt;/blockquote&gt;  &lt;blockquote&gt;   &lt;p&gt;2. View the report in the &lt;b&gt;Space utilization&lt;/b&gt; web part in the &lt;b&gt;Warehouse manager&lt;/b&gt; role center.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;1. Configure one or more space utilization setup templates.&lt;/p&gt;  &lt;p&gt;Click &lt;b&gt;Inventory and warehouse management&lt;/b&gt; &amp;gt; &lt;b&gt;Setup&lt;/b&gt; &amp;gt; &lt;b&gt;Warehouse reports&lt;/b&gt; &amp;gt; &lt;b&gt;Space utilization&lt;/b&gt;.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/0044.clip_5F00_image004_5F00_29DEAD5C.png"&gt;&lt;img style="display: inline; background-image: none;" title="clip_image004" border="0" alt="clip_image004" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/7360.clip_5F00_image004_5F00_thumb_5F00_47045566.png" width="617" height="313" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Figure 2&lt;/p&gt;  &lt;p&gt;From the &lt;b&gt;Schedule load utilization&lt;/b&gt; form, you can create any number of space utilization setups and switch between the setups. &lt;/p&gt;  &lt;p&gt;&lt;b&gt;Space utilization: &lt;/b&gt;Enter the space utilization ID.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Name:&lt;/b&gt; Enter the space utilization name.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Storage load mode:&lt;/strong&gt; In the Storage load field, you can select Warehouse, Zone or warehouse and Zone. This field is used to determine the output of the report. For example, if you select Warehouse, one line is printed for each warehouse. If you select Zone, one line is printed for each store zone. If you select Warehouse and zone, one line is printed for each warehouse and store zone combination. &lt;/p&gt;  &lt;p&gt;&lt;b&gt;Exclude blocked locations:&lt;/b&gt; When this check box is selected, the report will not include capacity for a location that is locked by the inventory blocking feature.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Location type:&lt;/b&gt; Select location types to be used as available allowed space. The information on the Location type FastTab is used when you run the Schedule load utilization periodic job in step 2 below. When the current and forecasted capacity is calculated, only location types that are selected are analyzed. &lt;/p&gt;  &lt;p&gt;&lt;b&gt;Note:&lt;/b&gt; The setup only needs to be created once. &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;2. Run the &lt;b&gt;Schedule load utilization&lt;/b&gt; periodic job.&lt;/p&gt;  &lt;p&gt;Open Inventory and warehouse management &amp;gt; Periodic &amp;gt; Schedule load utilization.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/2260.clip_5F00_image005_5F00_5D76F3ED.png"&gt;&lt;img style="display: inline; background-image: none;" title="clip_image005" border="0" alt="clip_image005" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/5707.clip_5F00_image005_5F00_thumb_5F00_348BDEE4.png" width="519" height="296" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Figure 3&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Master plan: &lt;/b&gt;Select the master plan that you want to use for space utilization calculations.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Note:&lt;/b&gt; the warehouse manager can shift to another master plan at any time. This is useful in order to determine how the space utilization will look if the planning team decides to change to another plan. &lt;/p&gt;  &lt;p&gt;&lt;b&gt;Number of days: &lt;/b&gt;Enter the number of days that you want to project and analyze warehouse space utilization for in the future. The current report shows space utilization for 10 days in the future. &lt;/p&gt;  &lt;p&gt;&lt;b&gt;Space utilization: &lt;/b&gt;Select the space utilization configuration to be used in combination with the number of days and the master plan that is selected in step 1.&lt;/p&gt;  &lt;p&gt;Click &lt;b&gt;OK&lt;/b&gt; to generate data for the report. &lt;/p&gt;  &lt;p&gt;Use the options on the Batch tab to schedule the generation of data for report as a batch process. Normally the batch process is set to run automatically once a day after the master planning has been completed. &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;3. Analyze the space utilization information (generated in step 2).&lt;/p&gt;  &lt;p&gt;As mentioned previously, the report can be viewed from the warehouse manager’s role center (out-of-the-box), or from the Dynamics AX client. This description is based on Dynamics AX 2012 R2 client. &lt;/p&gt;  &lt;p&gt;&lt;b&gt;Note&lt;/b&gt;: To be able to view the report from the warehouse manager’s role center page, the configuration and generation of data in step 1 and 2 must be completed. &lt;/p&gt;  &lt;p&gt;Complete the following setup to run the report:&lt;/p&gt;  &lt;p&gt;Open &lt;b&gt;Inventory and warehouse management&lt;/b&gt; &amp;gt; &lt;b&gt;Reports&lt;/b&gt; &amp;gt; &lt;b&gt;Analysis&lt;/b&gt; &amp;gt; &lt;b&gt;Warehouse load utilization&lt;/b&gt;.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/8422.clip_5F00_image006_5F00_79580318.png"&gt;&lt;img style="display: inline; background-image: none;" title="clip_image006" border="0" alt="clip_image006" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/0160.clip_5F00_image006_5F00_thumb_5F00_3698B7E0.png" width="687" height="291" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Figure 4&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Show by&lt;/b&gt;: Use this field to determine how the rows of the report are displayed. If you select Site, one row is printed for each site. If you select Load unit, the Storage load field on the Space utilization setup template is used to determine how the rows are printed (Warehouse, Zone or Warehouse and Zone). If you select Site, a report will be generated on the site level where each site can contain load units of the types Warehouse, Zones, and Warehouse and zone. &lt;/p&gt;  &lt;p&gt;&lt;b&gt;Site:&lt;/b&gt; Select&lt;b&gt; &lt;/b&gt;one or more sites. &lt;/p&gt;  &lt;p&gt;&lt;b&gt;Load unit: &lt;/b&gt;When one or more sites and a space utilization setup are selected, load units are displayed for all the sites that are selected under Site. The Load unit field only applies if the Show by field is set to Load unit and the Space utilization setup field is selected. The options in the Load unit field varies based on the option selected in the Storage load field for the current space utilization setup. For example, if storage load is set to Zone, a list of store zones is displayed in the Load unit field.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Load type:&lt;/b&gt; Indicate if the report percentages should be calculated and viewed using pallet, volume or weight. &lt;/p&gt;  &lt;p&gt;&lt;b&gt;Space utilization setup:&lt;/b&gt; Select the space utilization setup that should be used for the report.&lt;/p&gt;  &lt;p&gt;Click &lt;b&gt;OK&lt;/b&gt; to run the report.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h5&gt;Example of a generated report&lt;/h5&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/7532.clip_5F00_image007_5F00_41E1CC1D.png"&gt;&lt;img style="display: inline; background-image: none;" title="clip_image007" border="0" alt="clip_image007" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/7851.clip_5F00_image007_5F00_thumb_5F00_5E9B4132.png" width="778" height="288" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Figure 5&lt;/p&gt;  &lt;p&gt;In the example above, the report shows what site we are looking at, what load units have been selected, and what load type we are using. &lt;/p&gt;  &lt;p&gt;The report is generate by a load unit combination of warehouse and zones as specified in the selected warehouse space utilization configuration. The combination of warehouse and zones basically means that the warehouse capacity is divided by a unique combination of warehouse and zone. In this example, the warehouse manager can monitor space utilization for each zone and, at the same time, identify the warehouse of the zone. &lt;/p&gt;  &lt;p&gt;If there is an intersection between zones and they share the same location in one warehouse, they will automatically be grouped in one single load unit and capacities for the intersections are not counted twice. In the example, the load unit on warehouse WH1 combines two zones, Z1 and Z2, due to an intersection.&lt;/p&gt;  &lt;p&gt;When looking at the table columns, the column to the far left is the space utilization situation by the end of the current day. The other columns represent the future with increments of one day each. If a load unit exceeds the maximum space available, the color of the cells turns red. This will happen if, when all transactions are conducted on a particular day, the total available space on the load unit is less than what is needed to store the goods by the end of the day.&lt;/p&gt;  &lt;p&gt;Every single table cell can be clicked regardless of the color. The color indicates when and where there is or will be a problem with space utilization. &lt;/p&gt;  &lt;p&gt;When one cell is selected, a new report is shown with a list of all of the transactions that are to be conducted on that day, grouped by regular issues, receipts, and backlog transactions, if any. &lt;/p&gt;  &lt;p&gt;Backlog transactions are transactions that should have been conducted before the current day. Backlog transactions are not displayed for each cell in the report, but if any backlog transactions exist it will be indicated by an icon for the particular load unit. If you then select the icon, a report with list of backlog transactions will be generated. &lt;/p&gt;  &lt;p&gt;Transactions that occupy the largest part of the space are shown on top in the detailed view of the report. This helps the warehouse manager identify transactions that must be accommodated or moved to another date in order to avoid space utilization problems.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h5&gt;Example of a detailed report view&lt;/h5&gt;  &lt;p&gt;Open this view by clicking a cell in the report:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/1106.clip_5F00_image008_5F00_743579CF.png"&gt;&lt;img style="display: inline; background-image: none;" title="clip_image008" border="0" alt="clip_image008" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/4645.clip_5F00_image008_5F00_thumb_5F00_00274437.png" width="656" height="498" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Figure 6&lt;/p&gt;  &lt;p&gt;A warning icon is displayed for items that are part of the transactions but which cannot be calculated correctly due to insufficient setup information as presented on Figure 5.&lt;/p&gt;  &lt;p&gt;If you select the warning icon, reports will be generated with information about the setup that must be completed in order to calculate transactions correctly. &lt;/p&gt;  &lt;p&gt;There can be may be many reasons why space utilization calculations cannot be completed correctly for all transactions. &lt;/p&gt;  &lt;p&gt;The yellow warning icons indicate if the numbers of the report can be trusted or not. By selecting a warning icon you can then identify the missing setup, correct the problem, and rerun the report again. &lt;/p&gt;  &lt;p&gt;Warning icons will be shown in the following situations:&lt;/p&gt;  &lt;p&gt;· Warehouse item setup is not correct.&lt;/p&gt;  &lt;p&gt;· Pallet conversion has not been set.&lt;/p&gt;  &lt;p&gt;· The Weight of an item has not been specified.&lt;/p&gt;  &lt;p&gt;· The volume of an item has not been specified. &lt;/p&gt;  &lt;p&gt;· A fallback warehouse has not been specified.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h5&gt;Example of a missing setup report&lt;/h5&gt;  &lt;p&gt;When you select a warning sign, the report representing the Deficiency types in data setup t might look like this:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/4251.image_5F00_095359AB.png"&gt;&lt;img style="display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/3162.image_5F00_thumb_5F00_67878119.png" width="738" height="399" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Figure 7&lt;/p&gt;  &lt;p&gt;From this report it appears that on Warehouse WH3 we have two items missing pallet conversion and two Items missing warehouse item setup.&lt;/p&gt;  &lt;p&gt;These missing setups need to be corrected and after warehouse space utilization report can be selected and warning icon wil not be there anymore, wich means that we can trust calculations and numbers presented in a report.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Demo of the Warehouse space utilization &lt;/p&gt;  &lt;div style="margin: 0px; padding: 0px; float: none; display: inline;" id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:294c7cf0-bec0-4ee4-8cb0-c06fcb3b1855" class="wlWriterEditableSmartContent"&gt;&lt;div&gt;&lt;object width="448" height="252"&gt;&lt;param name="movie" value="http://www.youtube.com/v/8FeAaXSgHTI?hl=en&amp;amp;hd=1"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/8FeAaXSgHTI?hl=en&amp;amp;hd=1" type="application/x-shockwave-flash" width="448" height="252"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;div style="width:448px;clear:both;font-size:.8em"&gt;Warehouse Space utilization report in Dynamics AX 2012 R2&lt;/div&gt;&lt;/div&gt;  &lt;p&gt;&amp;#160;&lt;a href="http://www.youtube.com/watch?v=8FeAaXSgHTI&amp;amp;feature=youtu.be"&gt;Warehouse space utilization report on Youtube&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10376634" width="1" height="1"&gt;</description></item><item><title>Understanding the product validation process in Dynamics AX 2012</title><link>http://blogs.msdn.com/b/dynamicsaxscm/archive/2012/12/06/understanding-the-product-validation-process-in-dynamics-ax-2012.aspx</link><pubDate>Thu, 06 Dec 2012 19:09:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10375341</guid><dc:creator>Ievgenii Korovin</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/dynamicsaxscm/rsscomments.aspx?WeblogPostID=10375341</wfw:commentRss><comments>http://blogs.msdn.com/b/dynamicsaxscm/archive/2012/12/06/understanding-the-product-validation-process-in-dynamics-ax-2012.aspx#comments</comments><description>&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4&gt;Introduction&lt;/h4&gt;
&lt;p&gt;Dynamics AX 2012 provides a new feature that allows you to validate the released product setup and ensure data integrity and overall process readiness. This feature is useful for managing master data and we expect it to be widely used by our partners and customers in order to support the product data life cycle processes, engineering change, approval workflows etc.&lt;/p&gt;
&lt;h4&gt;Retrospective look at the previous versions of Dynamics AX&lt;/h4&gt;
&lt;p&gt;Traditionally, the system stores item definition data in one main table (Invent Table). Every time a user creates a new item, a set of mandatory fields must be addressed in order to successfully save the new item definition. This approach looks simple and logical; however, the item definition requires a good overview of all the mandatory settings. Insights into these settings are usually divided between users in multiple departments in an enterprise organization and it usually requires quite a lot of work to coordinate this information. A common approach in order to ensure consistency is to create shared and approved item templates which are strictly controlled and can be re-used across enterprises for the initial item data creation.&lt;/p&gt;
&lt;p&gt;Another inconvenience of requiring users to address all mandatory fields relates to in-flexibility since it makes users working with the system less agile and process driven. Say, for example, that an engineering department wants to create a new product definition in the ERP system. There is an urgent need to send product descriptions to the external vendor for the localization and for the creation of marketing materials for the upcoming sales campaign. However, users cannot simply create items with the settings to control the external vendor relation processes. In this case, ALL settings must be defined which includes setup of financial accounts, inventory tracking, reservation rules etc.&lt;/p&gt;
&lt;p&gt;Item master data setup enables the core business processes within ERP, so it&amp;rsquo;s not a surprise that we see a number of partner customizations in this space. If, for example, a company wants to retire an item, the company must ensure that the item cannot be produced or sold any longer within the organization. At the same time, it should be still possible to handle customer returns based on the existing customer agreements. When the item master data setup changes, one would expect some validation mechanism to ensure that the new item master data state is consistent with the user&amp;rsquo;s expectation. Unfortunately, there is no single centralized place to support such item validation process, so our partners and customers have to introduce such capabilities by themselves.&lt;/p&gt;
&lt;h4&gt;Why are there no any mandatory product master data fields in Dynamics AX 2012?&lt;/h4&gt;
&lt;p&gt;With the introduction of the Product Information Management (PIM) module in Dynamics AX 2012 we get an opportunity to remove some of the above described boundaries and to build a more flexible and process-oriented solution. There are a couple of key differences for users who deal with products compared to the previous versions of Dynamics AX:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;No mandatory fields &lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;When you create a new shared product definition, the only property that you must provide is a product number (product ID). Once a new shared product is created, you can continue with the master data setup.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/8204.1_5F00_7B521C1F.png"&gt;&lt;img style="margin-right: 0px; margin-left: 0px; display: inline;" title="Create new product" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/1832.1_5F00_thumb_5F00_6F502BEB.png" alt="Create new product" width="285" height="299" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Figure 1 Create new product&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;When you release a product to the given legal entity you need not set any company-specific properties.&lt;/li&gt;
&lt;li&gt;When you create a new released product from a legal entity, the only property you have to provide is the product number and the item number. Usually those IDs are bound to the automatic number sequence, so you can create a new released product definition with just one click with the mouse.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/6052.2_5F00_3B60621C.png"&gt;&lt;img style="display: inline;" title="Create new released product" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/4478.2_5F00_thumb_5F00_7D66D15D.png" alt="Create new released product" width="837" height="427" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Figure 2 Create new released product&lt;/p&gt;
&lt;p&gt;Once you have a basic product or released product definition in place, the system allows you to continue with the various master data setup processes such as to define translation, attach documents and images, sync product data to an external solution via existing &lt;a href="http://blogs.msdn.com/b/dynamicsaxscm/archive/2011/07/06/product-item-data-management-services.aspx"&gt;product-item services&lt;/a&gt; etc.&lt;/p&gt;
&lt;h4&gt;When can my product be used for procurement, sales, and production?&lt;/h4&gt;
&lt;p&gt;This is a valid question at this point because if there are no mandatory fields anymore, how do I know when my product can used for procurement, sales, production, quotation &amp;hellip;?&lt;/p&gt;
&lt;p&gt;In order to answer this question let&amp;rsquo;s focus on &lt;strong&gt;process readiness&lt;/strong&gt; and how the system behaves in Dynamics AX 2012.&lt;/p&gt;
&lt;p&gt;There are hundreds if not a thousand different business processes which can be controlled by product master data. The total number of those processes varies from industry to industry and the processes vary a lot based on the end customer business requirements. It&amp;rsquo;s hard, if not impossible, to predict or know in advance which product master data is required in order to enable each unique business process.&lt;/p&gt;
&lt;p&gt;Therefore, in Dynamics AX 2012, every single business process has to, metaphorically speaking, verify all required product master data. In other words, if some master data is not set for a given business process, the system will throw an error and the end user must set the master data before the system can continue.&lt;/p&gt;
&lt;h5&gt;Example&lt;/h5&gt;
&lt;p&gt;A user creates an inventory movement journal. The system tries to retrieve all inventory dimensions that should be tracked for the product. If the setup is not complete, the process will fail since the basic pre-requirements are not fulfilled.&lt;/p&gt;
&lt;h4&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/2248.3_5F00_218EBC9E.png"&gt;&lt;img style="display: inline;" title="Create journal line for product with missing setup" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/2728.3_5F00_thumb_5F00_6C84BE1E.png" alt="Create journal line for product with missing setup" width="850" height="529" border="0" /&gt;&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;Figure 3 Create journal line for product with missing setup&lt;/p&gt;
&lt;h4&gt;Understanding a product validation feature&lt;/h4&gt;
&lt;p&gt;The new product validation process has been introduced in order to help assess the overall product data readiness for the main business processes.&lt;/p&gt;
&lt;p&gt;As mentioned before, it&amp;rsquo;s impossible to predict what master data will be required for what process in the system. However, we can definitely focus on the setup that is most essential in order to cover key processes in Dynamics AX 2012.&lt;/p&gt;
&lt;p&gt;The product master data validation logic can be triggered from released product list pages and released product details forms. The functionality will verify that the &lt;strong&gt;following essential fields&lt;/strong&gt; are specified for the released product:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Product storage dimension group&lt;/li&gt;
&lt;li&gt;Product tracking dimension group&lt;/li&gt;
&lt;li&gt;Model group&lt;/li&gt;
&lt;li&gt;Item group&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;In addition to the previous fields list, the following essential fields have been added to the validation logic to cover the Process Industry for Dynamics AX 2012 Feature Pack:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Catch weight unit setup for the catch weight enabled products&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;All these settings can be set on the released product list page which prevents the need to navigate across different places and modules in the system. Users can then leverage one single form to complete all the setup that is required.&lt;/p&gt;
&lt;h4&gt;When, why and how to run a product validation&lt;/h4&gt;
&lt;p&gt;We strongly recommend to always validate the product data setup to ensure overall process readiness. This process helps to prevent last minute issues for end users.&lt;/p&gt;
&lt;h5&gt;Example&lt;/h5&gt;
&lt;ul&gt;
&lt;li&gt;A product manager releases all product data to a legal entity.&lt;/li&gt;
&lt;li&gt;The product manager uses product templates to address the main field values and to execute the validation logic.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;You can run validation logic for one or for multiple products and you can apply a product template for multiple products at the same time.&lt;/p&gt;
&lt;h4&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/4382.5_5F00_625323B1.png"&gt;&lt;img style="display: inline;" title="Run a product validation function for multiple products" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/8203.5_5F00_thumb_5F00_48EDB128.png" alt="Run a product validation function for multiple products" width="820" height="361" border="0" /&gt;&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;Figure 4 Run a product validation function for multiple products&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Tip: Read more about how to use product templates: &lt;/em&gt;&lt;a href="http://blogs.msdn.com/b/dynamicsaxscm/archive/2012/09/22/using-product-templates-in-dynamics-ax-2012.aspx"&gt;&lt;em&gt;previous blog post&lt;/em&gt;&lt;/a&gt;&lt;em&gt; &lt;/em&gt;&lt;/p&gt;
&lt;h4&gt;How to customize the product validation process&lt;/h4&gt;
&lt;p&gt;The EcoResProductValidationService class holds all the product validation logic. The class gets the number of released product references as an input, runs the validation logic, and reports all validation errors in a standard infolog message.&lt;/p&gt;
&lt;div id="codeSnippetWrapper" style="margin: 20px 0px 10px; padding: 4px; border: 1px solid silver; width: 97.5%; text-align: left; line-height: 12pt; overflow: auto; font-family: 'Courier New', courier, monospace; font-size: 8pt; cursor: text; direction: ltr; max-height: 200px; background-color: #f4f4f4;"&gt;
&lt;div id="codeSnippet" style="padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span id="lnum1" style="color: #606060;"&gt; 1:&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;static&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;void&lt;/span&gt; runValidationForReleasedProducts(Args _args)&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;&lt;span id="lnum2" style="color: #606060;"&gt; 2:&lt;/span&gt; {&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span id="lnum3" style="color: #606060;"&gt; 3:&lt;/span&gt;     container                           packedProductsPerCompanyInfo;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;&lt;span id="lnum4" style="color: #606060;"&gt; 4:&lt;/span&gt;     InventTable                         inventTable;    &lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span id="lnum5" style="color: #606060;"&gt; 5:&lt;/span&gt;     EcoResProductValidatonDataContract  dataContract = &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; EcoResProductValidatonDataContract();&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;&lt;span id="lnum6" style="color: #606060;"&gt; 6:&lt;/span&gt;     EcoResProductValidatonService       service = &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; EcoResProductValidatonService();&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span id="lnum7" style="color: #606060;"&gt; 7:&lt;/span&gt;     &lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;&lt;span id="lnum8" style="color: #606060;"&gt; 8:&lt;/span&gt;     &lt;span style="color: #008000;"&gt;// Find all released product with the itemId pattern like 'production*'&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span id="lnum9" style="color: #606060;"&gt; 9:&lt;/span&gt;     &lt;span style="color: #0000ff;"&gt;while&lt;/span&gt; select itemId from inventTable&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;&lt;span id="lnum10" style="color: #606060;"&gt; 10:&lt;/span&gt;             &lt;span style="color: #0000ff;"&gt;where&lt;/span&gt; inventTable.ItemId like &lt;span style="color: #006080;"&gt;'production*'&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span id="lnum11" style="color: #606060;"&gt; 11:&lt;/span&gt;     {&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;&lt;span id="lnum12" style="color: #606060;"&gt; 12:&lt;/span&gt;         packedProductsPerCompanyInfo += [[inventTable.ItemId]];&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span id="lnum13" style="color: #606060;"&gt; 13:&lt;/span&gt;     }&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;&lt;span id="lnum14" style="color: #606060;"&gt; 14:&lt;/span&gt;         &lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span id="lnum15" style="color: #606060;"&gt; 15:&lt;/span&gt;     &lt;span style="color: #0000ff;"&gt;if&lt;/span&gt; (conLen(packedProductsPerCompanyInfo) &amp;gt; 0)&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;&lt;span id="lnum16" style="color: #606060;"&gt; 16:&lt;/span&gt;     {&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span id="lnum17" style="color: #606060;"&gt; 17:&lt;/span&gt;         &lt;span style="color: #008000;"&gt;// Create service operation data contract class and pass all released product references&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;&lt;span id="lnum18" style="color: #606060;"&gt; 18:&lt;/span&gt;         dataContract = &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; EcoResProductValidatonDataContract();&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span id="lnum19" style="color: #606060;"&gt; 19:&lt;/span&gt;         dataContract.packedProductsPerCompanyData(SysOperationHelper::base64Encode(packedProductsPerCompanyInfo));&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;&lt;span id="lnum20" style="color: #606060;"&gt; 20:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span id="lnum21" style="color: #606060;"&gt; 21:&lt;/span&gt;         &lt;span style="color: #008000;"&gt;// Run validation logic&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;&lt;span id="lnum22" style="color: #606060;"&gt; 22:&lt;/span&gt;         service.validateProducts(dataContract);&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span id="lnum23" style="color: #606060;"&gt; 23:&lt;/span&gt;     }&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;&lt;span id="lnum24" style="color: #606060;"&gt; 24:&lt;/span&gt; }&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Assume that we need to make sure that all items are produced with a production order for the current manufacturing company. The existing EcoResProductValidator can easily be extended to accommodate such a validation check:&lt;/p&gt;
&lt;h4&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/0268.6_5F00_012EB8F2.png"&gt;&lt;img style="display: inline;" title="6" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/1643.6_5F00_thumb_5F00_658CBDAC.png" alt="6" width="861" height="333" border="0" /&gt;&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;Figure 5 Customization example&lt;/p&gt;
&lt;h4&gt;Summary&lt;/h4&gt;
&lt;p&gt;Managing product master data can be a complex and challenging task. We hope that the product information management features in Dynamics AX 2012 can help your organization to deal with some of these challenges. The product validation process is there for you, so please learn how to use it and enhance it if you need to.&lt;/p&gt;
&lt;p&gt;Thanks for reading.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10375341" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/Microsoft+Dynamics+AX+2012/">Microsoft Dynamics AX 2012</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/Item_2D00_Product+Data+Management/">Item-Product Data Management</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/Dynamics+Ax+2012/">Dynamics Ax 2012</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/What_2700_s+new+in+Dynamics+Ax+2012/">What's new in Dynamics Ax 2012</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/Product+information+management/">Product information management</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/Product_2D00_item+data+management+services/">Product-item data management services</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/Product+Number/">Product Number</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/AX+2012/">AX 2012</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/product+release+process/">product release process</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/Dynamics+AX+2012+R2/">Dynamics AX 2012 R2</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/product+validation/">product validation</category></item><item><title>Relocation transports – a new pallet transport type in Microsoft Dynamics AX 2012 R2</title><link>http://blogs.msdn.com/b/dynamicsaxscm/archive/2012/12/04/relocation-transports-a-new-pallet-transport-type-in-microsoft-dynamics-ax-2012-r2.aspx</link><pubDate>Tue, 04 Dec 2012 10:23:54 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10374386</guid><dc:creator>Lennart Conrad</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/dynamicsaxscm/rsscomments.aspx?WeblogPostID=10374386</wfw:commentRss><comments>http://blogs.msdn.com/b/dynamicsaxscm/archive/2012/12/04/relocation-transports-a-new-pallet-transport-type-in-microsoft-dynamics-ax-2012-r2.aspx#comments</comments><description>&lt;p&gt;&lt;b&gt;By Bibi Christensen, Per Lykke Lynnerup &amp;amp; Lennart Conrad&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Introduction the Relocation Transport&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;A new type of pallet transports called Relocation transport has been introduced in Microsoft Dynamics AX 2012 R2.&lt;/p&gt;  &lt;p&gt;The new pallet transport type can be used to move items on a pallet from one warehouse location to another warehouse location even when you have transactions that are physically reserved against the quantity on the pallet. With this added functionality the common warehouse activity of moving pallets between locations is supported more efficiently.&lt;/p&gt;  &lt;p&gt;When the transport is created, two sets of inventory transactions are created:&lt;/p&gt;  &lt;p&gt;- Issue transactions with the issue status Reserved physical that will reserve items on the pallet at the from-location.&lt;/p&gt;  &lt;p&gt;- Receipt transactions with the receipt status Ordered on the to-location.&lt;/p&gt;  &lt;p&gt;When the transport is created, existing transactions that are Reserved physical on the pallet at the from-location will be updated to Reserved ordered on the to-location. If there are any transactions that are Reserved physical and fixed against the from-warehouse or from-location, and any of these are changed, the transport cannot be created. &lt;/p&gt;  &lt;p&gt;If there are any transactions with the pallet id that have status Arrived the transport is not created. This is typically the case if a transport already exists for the pallet.&lt;/p&gt;  &lt;p&gt;Transactions with the pallet id that have an issue status of Quotation Issue, On order, Reserved ordered or a receipt status of Ordered are not updated. In this case the from-location and pallet remains the same on these transactions. &lt;/p&gt;  &lt;p&gt;Once the transport is completed Reserved ordered transactions on the to-location will be updated to Reserved physical.&lt;/p&gt;  &lt;h4&gt;How to set up and use the new transport type&lt;/h4&gt;  &lt;p&gt;The new transport type is set up the same way as the existing transports.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/1222.clip_5F00_image001_5F00_122B2B52.png"&gt;&lt;img style="display: inline; background-image: none;" title="clip_image001" border="0" alt="clip_image001" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/7585.clip_5F00_image001_5F00_thumb_5F00_77EAC22D.png" width="552" height="235" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;In the &lt;b&gt;Inventory and warehouse management parameters&lt;/b&gt; form you can set up the priorities for pallet transports.&lt;/p&gt;  &lt;p&gt;· Click &lt;b&gt;Inventory and warehouse management&lt;/b&gt; &amp;gt; &lt;b&gt;Setup&lt;/b&gt; to open the &lt;b&gt;Inventory and warehouse management&lt;/b&gt; form.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/4861.clip_5F00_image003_5F00_7DC565C6.jpg"&gt;&lt;img style="display: inline; background-image: none;" title="clip_image003" border="0" alt="clip_image003" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/0652.clip_5F00_image003_5F00_thumb_5F00_157C9D2D.jpg" width="669" height="180" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;In the &lt;b&gt;Forklift&lt;/b&gt; form you can specify the forklifts that should handle the relocation transports.&lt;/p&gt;  &lt;p&gt;· Click &lt;b&gt;Inventory and warehouse management&lt;/b&gt; &amp;gt; &lt;b&gt;Setup&lt;/b&gt; &amp;gt; &lt;b&gt;Inventory equipment&lt;/b&gt; &amp;gt; &lt;b&gt;Forklift&lt;/b&gt; to open the &lt;b&gt;Forklift&lt;/b&gt; form.&lt;/p&gt;  &lt;p&gt;When you move a pallet, you can create the relocation transport. &lt;/p&gt;  &lt;p&gt;A check box is added to the &lt;b&gt;Move pallet&lt;/b&gt; form and when the checkbox is selected, a relocation pallet transport will be created.&lt;/p&gt;  &lt;p&gt;· Click &lt;b&gt;Inventory and warehouse management&lt;/b&gt; &amp;gt; &lt;b&gt;Setup&lt;/b&gt; &amp;gt; &lt;b&gt;Inventory equipment&lt;/b&gt; &amp;gt; &lt;b&gt;Pallets&lt;/b&gt; &amp;gt; &lt;b&gt;Functions&lt;/b&gt; &amp;gt; &lt;b&gt;Move pallet&lt;/b&gt; to open the &lt;b&gt;Move pallet&lt;/b&gt; form.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/3441.clip_5F00_image004_5F00_0D18C7D6.png"&gt;&lt;img style="display: inline; background-image: none;" title="clip_image004" border="0" alt="clip_image004" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/4530.clip_5F00_image004_5F00_thumb_5F00_40748B32.png" width="666" height="401" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;h4&gt;New code APIs and thebackporting of feature to the previous releases &lt;/h4&gt;  &lt;p&gt;The API to create a relocation transport from code is quite simple; You basically just call one line of code:&lt;/p&gt;  &lt;p align="center"&gt;&lt;font size="2" face="Arial"&gt;WMSTransport::createRelocationTransport(wmsPalletToMove,newWMSLocation);&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;It has also been decided to port this new functionality to Microsoft Dynamics AX 2012 and it will be available as part of AX 2012 RU5 and with KB2770782. &lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10374386" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/Warehouse+Management/">Warehouse Management</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/WMS/">WMS</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/pallet/">pallet</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/What_2700_s+new+in+Dynamics+Ax+2012/">What's new in Dynamics Ax 2012</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/relocation+transport/">relocation transport</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/Dynamics+AX+2012+R2/">Dynamics AX 2012 R2</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/pallet+transport/">pallet transport</category></item><item><title>What’s New for Microsoft Dynamics AX 2012 R2 for WMS</title><link>http://blogs.msdn.com/b/dynamicsaxscm/archive/2012/11/30/what-s-new-for-microsoft-dynamics-ax-2012-r2-for-wms.aspx</link><pubDate>Fri, 30 Nov 2012 12:16:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10372179</guid><dc:creator>Per Lykke Lynnerup</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/dynamicsaxscm/rsscomments.aspx?WeblogPostID=10372179</wfw:commentRss><comments>http://blogs.msdn.com/b/dynamicsaxscm/archive/2012/11/30/what-s-new-for-microsoft-dynamics-ax-2012-r2-for-wms.aspx#comments</comments><description>&lt;p&gt;This blog post describes some of the enhancements to the Warehouse management (WMS) functionality that have been implemented in the R2 release after the launch of Microsoft Dynamics AX 2012 (RTM).&lt;/p&gt;
&lt;h4&gt;Shipment list report printed in a batch job at shipment update&lt;/h4&gt;
&lt;p&gt;By using outbound rules for a shipment and by setting up automatic printing of the shipment list you can have the shipment list report sent to a batch job.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/5148.image_5F00_2C80542B.png"&gt;&lt;img style="display: inline; background-image: none;" title="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/0456.image_5F00_thumb_5F00_498902F3.png" alt="image" width="952" height="135" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Make sure you assign a printer setting that uses a paper printer for the batch job printing.&lt;/p&gt;
&lt;p&gt;You can define the printer setup from &lt;strong&gt;Inventory and warehouse management&lt;/strong&gt; &amp;gt; &lt;strong&gt;Shipments&lt;/strong&gt; &amp;gt; &lt;strong&gt;Printer setup&lt;/strong&gt; &amp;gt; &lt;strong&gt;Shipment list&lt;/strong&gt;:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/6523.image_5F00_1FA88EBE.png"&gt;&lt;img style="display: inline; background-image: none;" title="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/8764.image_5F00_thumb_5F00_2AD4A9B9.png" alt="image" width="868" height="152" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h4&gt;New uses of the location type Picking location&lt;/h4&gt;
&lt;p&gt;The location type Picking location can now be used as part of the item arrival process and for pallet movements.&lt;/p&gt;
&lt;p&gt;&amp;middot; &lt;strong&gt;Item arrival: &lt;/strong&gt; Locations of the type Picking location are now available in the registration process and you can apply a picking location on a journal line in an item arrival journal even if the inventory item&amp;rsquo;s warehouse item setting does not use a picking location.&lt;/p&gt;
&lt;p&gt;&amp;middot; &lt;strong&gt;Pallet movements&lt;/strong&gt;: When you use the Move pallet functionality, you can now select a location type of Picking location even though the location is not an item picking location.&lt;/p&gt;
&lt;h4&gt;Relocation pallet transport&lt;/h4&gt;
&lt;p&gt;In AX 2012 R2 you can create a relocation pallet transport and then assign the actual pallet transport processing to a warehouse worker.&lt;/p&gt;
&lt;p&gt;You can access the new functionality from the &lt;strong&gt;Move pallet&lt;/strong&gt; menu item via &lt;strong&gt;Inventory and warehouse management&lt;/strong&gt; &amp;gt; &lt;strong&gt;Setup&lt;/strong&gt; &amp;gt; &lt;strong&gt;Inventory equipment&lt;/strong&gt; &amp;gt; &lt;strong&gt;Pallets&lt;/strong&gt; &amp;gt; &lt;strong&gt;Functions&lt;/strong&gt;:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/3652.image_5F00_3A0B1286.png"&gt;&lt;img style="display: inline; background-image: none;" title="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/1805.image_5F00_thumb_5F00_6E41CC7D.png" alt="image" width="605" height="420" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;You can then process the pallet transport from &lt;strong&gt;Inventory and warehouse management&lt;/strong&gt; &amp;gt; &lt;strong&gt;Common&lt;/strong&gt; &amp;gt; &lt;strong&gt;Pallet transports&lt;/strong&gt;:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/0334.image_5F00_7901B483.png"&gt;&lt;img style="display: inline; background-image: none;" title="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/4201.image_5F00_thumb_5F00_2A237FD5.png" alt="image" width="750" height="247" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h5&gt;Detailed blog post on the relocation transport&lt;/h5&gt;
&lt;p&gt;A detailed blog post about the implementation of the relocation pallet transport will follow.&lt;/p&gt;
&lt;h4&gt;Shipment template enhancements for joint shipping&lt;/h4&gt;
&lt;p&gt;An option called &lt;strong&gt;Grouping inventory reference&lt;/strong&gt; has been added to the &lt;strong&gt;Joint shipping&lt;/strong&gt; field in the &lt;strong&gt;Shipment templates&lt;/strong&gt; form.&lt;/p&gt;
&lt;p&gt;You can access the &lt;strong&gt;Shipment templates&lt;/strong&gt; form from &lt;strong&gt;Inventory and warehouse management&lt;/strong&gt; &amp;gt; &lt;strong&gt;Setup&lt;/strong&gt; &amp;gt; &lt;strong&gt;Distribution&lt;/strong&gt; &amp;gt; &lt;strong&gt;Shipment templates&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;When the &lt;strong&gt;Grouping inventory reference&lt;/strong&gt; option is selected, output orders for withdrawal of kanbans are grouped based on the ID of the parent manufacturing kanban. If you use this option with output orders that do not reference kanbans, the grouping reference is the same as the reference for the output order.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/8322.image_5F00_1E905347.png"&gt;&lt;img style="display: inline; background-image: none;" title="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/4113.image_5F00_thumb_5F00_48FF1515.png" alt="image" width="836" height="354" border="0" /&gt;&amp;nbsp;&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10372179" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/Shipment/">Shipment</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/Picking/">Picking</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/Shipment+Template/">Shipment Template</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/Warehouse+Management/">Warehouse Management</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/WMS/">WMS</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/pallet/">pallet</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/Microsoft+Dynamics+AX+2012/">Microsoft Dynamics AX 2012</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/Dynamics+Ax+2012/">Dynamics Ax 2012</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/What_2700_s+new+in+Dynamics+Ax+2012/">What's new in Dynamics Ax 2012</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/AX+2012/">AX 2012</category></item><item><title>Troubleshooting the product release process</title><link>http://blogs.msdn.com/b/dynamicsaxscm/archive/2012/10/05/troubleshooting-the-product-release-process.aspx</link><pubDate>Fri, 05 Oct 2012 11:58:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10356508</guid><dc:creator>Ievgenii Korovin</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/dynamicsaxscm/rsscomments.aspx?WeblogPostID=10356508</wfw:commentRss><comments>http://blogs.msdn.com/b/dynamicsaxscm/archive/2012/10/05/troubleshooting-the-product-release-process.aspx#comments</comments><description>&lt;p&gt;The product release process is part of the product setup in Dynamics AX 2012. Every single product must be released to a legal entity before the system allows you to procure, sell, or produce it.&lt;/p&gt;
&lt;p&gt;For more details, about how to release products, product masters and product variants, see: &lt;a href="http://msdn.microsoft.com/en-us/subscriptions/hh208544.aspx"&gt;Release products&lt;/a&gt;.&lt;span style="text-decoration: underline;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;In some cases, the product release process can fail to release products due to inconsistencies or missing setup. In this post, we will take a look at system capabilities that allow you to troubleshoot the product release process and take action to resolve any issues.&lt;/p&gt;
&lt;h4&gt;Quick overview of the product release process&lt;/h4&gt;
&lt;p&gt;The product release process allows you to release multiple products and product variants or, in other words, make multiple products available in various legal entities. This action can be executed from various list pages and detail forms.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/3482.image_5F00_49A69CBD.png"&gt;&lt;img width="860" height="478" title="image" style="display: inline;" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/3173.image_5F00_thumb_5F00_68EBD441.png" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;If you work with a small number of products, it&amp;rsquo;s a very quick process to release them to a single legal entity. But in the case of, for example, a new site deployment, it can be a time consuming task to release all products to the new legal entity.&lt;/p&gt;
&lt;p&gt;For this scenario, we recommend using a server batch job to execute the product release process in order to avoid extra load on the system during work hours. If issues arise during a batch job execution, the release session concept in Dynamics AX 2012 will help provide you with information about any issues or conflicts. Based on the system reports you can then resolve the issues or conflicts that occurred during the batch job execution.&lt;/p&gt;
&lt;h4&gt;The release session concept and the release process&lt;/h4&gt;
&lt;p&gt;The release session is a database persisted object which groups all products that should be released to legal entities. The release session object is automatically created behind the scene when you request to release one or more products.&lt;/p&gt;
&lt;p&gt;If all products have been successfully released without any issues, the release session is automatically deleted and no further actions are required for the release product request. However, if issues occurred during the release process, then the release session will remain open with all the individual products that failed during the process. This allows you to troubleshoot the release process, fix the issues and repeat the action without having to select all products and legal entities one more time.&lt;/p&gt;
&lt;h5&gt;Example&lt;/h5&gt;
&lt;p&gt;Assume that a product manager must release a new collection of products to a new legal entity. When he executes the release process, various errors are reported by the system. The product manager can now navigate to the most recent release session, troubleshoot the issues and repeat the entire release action from there.&lt;/p&gt;
&lt;h4&gt;Open product releases list page&lt;/h4&gt;
&lt;p&gt;All open release sessions can be found under Product Information Management -&amp;gt; Periodic -&amp;gt; Open product releases list page. This list page contains all release sessions where something went wrong. You can filter all sessions by the user ID and release session time stamp to see all the products and product variants that the system could not release to the legal entity.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/8284.image_5F00_6CFB4375.png"&gt;&lt;img width="868" height="436" title="image" style="display: inline;" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/3173.image_5F00_thumb_5F00_30D2087E.png" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;You can click the &lt;b&gt;View Infolog&lt;/b&gt; button to view details about the issues with the specific product or product variant. This is a great way to figure out what went wrong and why.&lt;/p&gt;
&lt;p&gt;Let&amp;rsquo;s take a look at some issues that commonly occur during the product release process:&lt;/p&gt;
&lt;p&gt;&amp;middot; The product already exists in a legal entity.&lt;/p&gt;
&lt;p&gt;o This can happen if you release a product for the first time by mistake and then release the product again after having made changes to it. This action will create a conflict and one way to solve the conflict would be to delete the released product from the legal entity, go back to your product definition, make the required changes, and then release the product again.&lt;/p&gt;
&lt;p&gt;&amp;middot; A different product already exists with the specified item ID.&lt;/p&gt;
&lt;p&gt;o This might happen due to an issue with the number sequence for the item number or because the item number has been defaulted from the product number and by coincidence, another released product exists with the same item number. To solve this issue, you must use another number sequence or rename a product with a different product number value. For more information about the product and item numbers, read this blog post: &lt;a href="http://blogs.msdn.com/b/dynamicsaxscm/archive/2012/02/13/product-number-and-item-number-in-dynamics-ax-2012.aspx"&gt;Product Number and Item Number in Dynamics AX 2012&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;middot; The product variant could not be released&lt;/p&gt;
&lt;p&gt;o This usually happens when the inventory dimensions (InventDim) number sequence setup is missing in the legal entity. Make sure that the number sequence is properly set up. For more information, see &lt;a href="http://technet.microsoft.com/en-us/library/hh242127.aspx"&gt;Set up number sequences&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;When you have investigated and resolved all issues, you can repeat the release action by clicking the &lt;b&gt;Release product&lt;/b&gt; button. For more information about the Open Product Releases List Page, see: &lt;a href="http://msdn.microsoft.com/en-us/subscriptions/hh209696.aspx"&gt;Open product releases (form)&lt;/a&gt;.&lt;/p&gt;
&lt;h4&gt;Working with the release session from the code&lt;/h4&gt;
&lt;p&gt;If you have access to the code, you can also release a series of products without using the user interface. The following code example demonstrates how the release session can be created and how it should be used for release purposes:&lt;/p&gt;
&lt;div id="codeSnippetWrapper" style="margin: 20px 0px 10px; padding: 4px; border: 1px solid silver; width: 97.5%; text-align: left; line-height: 12pt; overflow: auto; font-family: 'Courier New', courier, monospace; font-size: 8pt; cursor: text; direction: ltr; max-height: 200px; background-color: #f4f4f4;"&gt;
&lt;div id="codeSnippet" style="padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span id="lnum1" style="color: #606060;"&gt; 1:&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;static&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;void&lt;/span&gt; releaseProductToCurrentLegalEntity(Args _args)&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;&lt;span id="lnum2" style="color: #606060;"&gt; 2:&lt;/span&gt; {&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span id="lnum3" style="color: #606060;"&gt; 3:&lt;/span&gt;     EcoResProductReleaseSessionManager  productReleaseSessionManager;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;&lt;span id="lnum4" style="color: #606060;"&gt; 4:&lt;/span&gt;     EcoResProduct                       product;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span id="lnum5" style="color: #606060;"&gt; 5:&lt;/span&gt;     CompanyInfo                         companyInfo;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;&lt;span id="lnum6" style="color: #606060;"&gt; 6:&lt;/span&gt;     &lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span id="lnum7" style="color: #606060;"&gt; 7:&lt;/span&gt;     companyInfo = CompanyInfo::findDataArea(curext());&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;&lt;span id="lnum8" style="color: #606060;"&gt; 8:&lt;/span&gt;     &lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span id="lnum9" style="color: #606060;"&gt; 9:&lt;/span&gt;     product = EcoResProduct::findByDisplayProductNumber(&lt;span style="color: #006080;"&gt;'myProduct'&lt;/span&gt;);&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;&lt;span id="lnum10" style="color: #606060;"&gt; 10:&lt;/span&gt;     &lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span id="lnum11" style="color: #606060;"&gt; 11:&lt;/span&gt;     ttsBegin;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;&lt;span id="lnum12" style="color: #606060;"&gt; 12:&lt;/span&gt;     &lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span id="lnum13" style="color: #606060;"&gt; 13:&lt;/span&gt;     &lt;span style="color: #008000;"&gt;// Create a new release session&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;&lt;span id="lnum14" style="color: #606060;"&gt; 14:&lt;/span&gt;     productReleaseSessionManager = EcoResProductReleaseSessionManager::newReleaseSession();&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span id="lnum15" style="color: #606060;"&gt; 15:&lt;/span&gt;    &lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;&lt;span id="lnum16" style="color: #606060;"&gt; 16:&lt;/span&gt;     &lt;span style="color: #008000;"&gt;// Add a product to the release session&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span id="lnum17" style="color: #606060;"&gt; 17:&lt;/span&gt;     productReleaseSessionManager.addProduct(product.RecId);&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;&lt;span id="lnum18" style="color: #606060;"&gt; 18:&lt;/span&gt;     &lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span id="lnum19" style="color: #606060;"&gt; 19:&lt;/span&gt;     &lt;span style="color: #008000;"&gt;// Add a legal entity where tne product should be released to &lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;&lt;span id="lnum20" style="color: #606060;"&gt; 20:&lt;/span&gt;     productReleaseSessionManager.addLegalEntityForAllProducts(companyInfo.RecId);&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span id="lnum21" style="color: #606060;"&gt; 21:&lt;/span&gt;     &lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;&lt;span id="lnum22" style="color: #606060;"&gt; 22:&lt;/span&gt;     &lt;span style="color: #008000;"&gt;// Release all products within the current session to the specified legal entity&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span id="lnum23" style="color: #606060;"&gt; 23:&lt;/span&gt;     productReleaseSessionManager.execute();&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;&lt;span id="lnum24" style="color: #606060;"&gt; 24:&lt;/span&gt;     &lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span id="lnum25" style="color: #606060;"&gt; 25:&lt;/span&gt;     ttsCommit;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;&lt;span id="lnum26" style="color: #606060;"&gt; 26:&lt;/span&gt; }&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Another approach would be to use the existing Product-Item data management services. For more information, read this blog post: &lt;a href="http://blogs.msdn.com/b/dynamicsaxscm/archive/2011/07/06/product-item-data-management-services.aspx"&gt;Product-item data management services&lt;/a&gt;.&lt;/p&gt;
&lt;h4&gt;Summary&lt;/h4&gt;
&lt;p&gt;The product release process is an important concept in Dynamics AX 2012. We hope that the tools and functionality of the system sufficiently and effectively support your business process. Please leave any feedback or suggestions here or provide the information via our AX SCM requirements group: &lt;a href="http://www.linkedin.com/groups?home=&amp;amp;gid=4518636&amp;amp;trk=anet_ug_hm"&gt;AX SCM requirements&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Thank you for reading this!&lt;/p&gt;
&lt;p&gt;Evgenij Korovin&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10356508" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/Microsoft+Dynamics+AX+2012/">Microsoft Dynamics AX 2012</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/Item_2D00_Product+Data+Management/">Item-Product Data Management</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/Stocked+products/">Stocked products</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/Product+information+management/">Product information management</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/Product_2D00_item+data+management+services/">Product-item data management services</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/Product+Number/">Product Number</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/Item+Number/">Item Number</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/product+release+process/">product release process</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/troubleshooting/">troubleshooting</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/Open+product+releases+list+page/">Open product releases list page</category></item><item><title>Inventory blocking</title><link>http://blogs.msdn.com/b/dynamicsaxscm/archive/2012/09/28/inventory-blocking.aspx</link><pubDate>Fri, 28 Sep 2012 07:49:53 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10354036</guid><dc:creator>Volodymyr Giginiak</dc:creator><slash:comments>4</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/dynamicsaxscm/rsscomments.aspx?WeblogPostID=10354036</wfw:commentRss><comments>http://blogs.msdn.com/b/dynamicsaxscm/archive/2012/09/28/inventory-blocking.aspx#comments</comments><description>&lt;h3&gt;&lt;a name="_Toc304456474"&gt;Overview&lt;/a&gt;&lt;/h3&gt;  &lt;p&gt;The possibility to prevent items currently in your warehouse from being used in standard processes has often been requested. In previous versions of Dynamics AX this was primarily possible with the quarantine order functionality. However quarantine orders require items to be (logically) moved to a separate quarantine warehouse.&lt;/p&gt;  &lt;p&gt;So the new blocking functionality is designed to allow items to be blocked at their current location.&lt;/p&gt;  &lt;p&gt;The first requirement is to be able to block some of the current on-hand. During the analysis for the new functionality it was discovered that in addition there is also a need to block some incoming goods until quality inspection is complete.&lt;/p&gt;  &lt;p&gt;The second requirement is that the current on-hand is always correct – both from a quantity point of view and from a value point of view.&lt;/p&gt;  &lt;h3&gt;&amp;#160;&lt;/h3&gt;  &lt;h3&gt;&lt;a name="_Toc304456474"&gt;The ideas behind it all&lt;/a&gt;&lt;/h3&gt;  &lt;p&gt;For most types of issue transactions – like sales orders – it is possible to point out specific on hand and use the physical reservation to reserve/block current on-hand for the specified transaction. To ensure that items on-hand are blocked we create a set of issue transactions and use the same physical reservation mechanism. This set is identified by a unique InventTransId value. &lt;/p&gt;  &lt;p&gt;To ensure that the expected on-hand is always correct we create a set of expected receipt transactions. The date when the items are expected to be released back to inventory can be modified by the user. This ensures that master planning can correctly considers items currently blocked.    &lt;br /&gt;The set of expected receipt transactions is identified by another unique InventTransId value. &lt;/p&gt;  &lt;p&gt;We have defined a new reference type for the inventory transactions related to blocking called “Inventory blocking”.&lt;/p&gt;  &lt;p&gt;This screen shot shows the transactions for a blocking entity where a single piece is being blocked&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/7776.image_5F00_59725CBC.png"&gt;&lt;img style="display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/3755.image_5F00_thumb_5F00_2208378F.png" width="835" height="326" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;The corresponding on-hand form in a scenario where 1000 pieces are on hand is shown below&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/7571.image_5F00_43CFFC21.png"&gt;&lt;img style="display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/2804.image_5F00_thumb_5F00_7291A0C4.png" width="832" height="487" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;The inventory blocking functionality intentionally doesn’t have any scrap functionality – or other means of deducting some of the blocked on-hand. If you want to allow for such functionality you need to combine the blocking functionality with other processes for issuing items.&lt;/p&gt;  &lt;p&gt;As the inventory blocking functionality never consumes or moves any on-hand there is no need to ever pick, pack or invoice any of the issue transactions (which would also require updating of the receipt transactions). When the items are no longer to be blocked the quantity is simply reduced or the entire blocking entity is deleted along with all the transactions associated.&lt;/p&gt;  &lt;h3&gt;&amp;#160;&lt;/h3&gt;  &lt;h3&gt;&lt;a name="_Toc304456478"&gt;Manual inventory blocking&lt;/a&gt;&lt;/h3&gt;  &lt;p&gt;Manual inventory blocking – as opposed to quality order blocking – is the process where a user directly creates a new inventory blocking entity and specifies quantity and inventory dimensions.    &lt;br /&gt;The form for maintaining inventory blockings can be found in the “Periodic” section under “Inventory and warehouse management”.&lt;/p&gt;  &lt;p&gt;When saving the new inventory blocking entity inventory transactions are automatically created which makes the physical reservation and represent the release back to inventory.&lt;/p&gt;  &lt;h3&gt;&amp;#160;&lt;/h3&gt;  &lt;h3&gt;&lt;a name="_Toc304456479"&gt;Quality order blocking&lt;/a&gt;&lt;/h3&gt;  &lt;p&gt;A quality order can be created either manually or automatically as part of the receipts process. For both cases an inventory blocking entity is automatically created – just as for a manual inventory blocking entity. However as the received items may be part of a linked chain (marked) of transactions the blocking transactions are inserted into this chain upon creation and the original chain is recreated again upon release from blocking.&lt;/p&gt;    &lt;p align="right"&gt;&lt;em&gt;Author: Kim Moerup&lt;/em&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10354036" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/QMS/">QMS</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/Quality+Management/">Quality Management</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/Dynamics+Ax+2012/">Dynamics Ax 2012</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/Quality+order+blocking/">Quality order blocking</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/Manual+inventory+blocking/">Manual inventory blocking</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/Inventory+Blocking/">Inventory Blocking</category></item><item><title>Using product templates in Dynamics AX 2012</title><link>http://blogs.msdn.com/b/dynamicsaxscm/archive/2012/09/22/using-product-templates-in-dynamics-ax-2012.aspx</link><pubDate>Sat, 22 Sep 2012 20:21:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10352363</guid><dc:creator>Ievgenii Korovin</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/dynamicsaxscm/rsscomments.aspx?WeblogPostID=10352363</wfw:commentRss><comments>http://blogs.msdn.com/b/dynamicsaxscm/archive/2012/09/22/using-product-templates-in-dynamics-ax-2012.aspx#comments</comments><description>&lt;h4&gt;Introduction&lt;/h4&gt;
&lt;p&gt;Dynamics AX 2012 provides a new feature that allows you to create and apply product templates to speed up the product creation process. We believe that this is one out of hundreds of small hidden features that will delight our partners and make our end customers more efficient.&lt;/p&gt;
&lt;h4&gt;Item record templates in the previous version of Dynamics AX&lt;/h4&gt;
&lt;p&gt;Traditionally, the Record Templates functionality plays an important role in the user experience during a creation process of key master data entities such as items, customers, and vendors. The system allows you to create a copy of any record in the grid and use it to create a new entity of the same type. This approach helps to ensure data consistency and to establish enterprise process control.&lt;/p&gt;
&lt;p&gt;If, for example, you want to create a new engineering component, you can apply a predefined and approved item template that contains data which has been carefully gathered across different departments such as account setup, reservation rules, and dimensions tracking.&lt;/p&gt;
&lt;h4&gt;Understanding the product templates in Dynamics AX 2012&lt;/h4&gt;
&lt;p&gt;In Dynamics AX 2012, there is a rich and normalized data model behind key entities such as products and released products. This means that when you create a product, multiple tables get updated behind the scene. Using a template will help you create uniform product master data in a more intelligent manner.&lt;/p&gt;
&lt;p&gt;The product template feature in Dynamics AX 2012 takes into account the new data model by extending an old limitation where the template was only associated with one record in one table. Now, the template can build records from multiple tables and records.&lt;/p&gt;
&lt;h4&gt;Create product templates in Dynamics AX 2012&lt;/h4&gt;
&lt;p&gt;To create a new product template, navigate to the Released Product Details Form -&amp;gt; Action Pane -&amp;gt; Template menu. Here you can create a snapshot of the current product entity and save it as a shared product template or as a personal product template.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/6232.image_5F00_59949B0F.png"&gt;&lt;img width="872" height="514" title="image" style="display: inline;" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/1512.image_5F00_thumb_5F00_1888AC5C.png" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h4&gt;Work with the shared product templates&lt;/h4&gt;
&lt;p&gt;You find the shared product templates under Home -&amp;gt; Area Page -&amp;gt; Setup -&amp;gt; Record Templates.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/2677.image_5F00_19832CEA.png"&gt;&lt;img width="873" height="595" title="image" style="display: inline;" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/2555.image_5F00_thumb_5F00_66B5B726.png" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;You can edit a shared product template at any time. This means that if, for example, you want to use a different counting group for a given predefined product template, then you do not need to create a new product template. You can just update the existing template.&lt;/p&gt;
&lt;p&gt;Also, the system allows you to modify the shared product template from the Product details form. This makes it easy to identify all the fields that you want to change.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/8883.image_5F00_75EEB0A4.png"&gt;&lt;img width="876" height="527" title="image" style="display: inline;" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/3683.image_5F00_thumb_5F00_4DDE9236.png" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h4&gt;Apply product templates&lt;/h4&gt;
&lt;h5&gt;Product creation form&lt;/h5&gt;
&lt;p&gt;You can select a product template when you create a new released product. Key fields in the product structure are populated by the template.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/1373.image_5F00_36497574.png"&gt;&lt;img width="731" height="444" title="image" style="display: inline;" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/7446.image_5F00_thumb_5F00_07F28078.png" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Once you have selected a product template, you can click &lt;b&gt;Show more fields&lt;/b&gt; in order to view the important field content that has been provided by the template. You can overwrite template values which are displayed on the form.&lt;/p&gt;
&lt;p&gt;Please note, that you can view only the most essential fields in this dialog. Rest fields from the template will be automatically applied during the product creation.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/3733.image_5F00_04E02283.png"&gt;&lt;img width="877" height="757" title="image" style="display: inline;" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/8015.image_5F00_thumb_5F00_467CEF80.png" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h5&gt;Released Product Details form&lt;/h5&gt;
&lt;p&gt;You can apply and try to re-apply a template from the Released product details form. Every time you apply a template, the system tries to update the various fields of the released product entity.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/8737.image_5F00_02CAD5CD.png"&gt;&lt;img width="846" height="151" title="image" style="display: inline;" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/6746.image_5F00_thumb_5F00_3F84EF0E.png" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;If you have applied a wrong template by mistake during product creation you can easily re-apply the proper template to the same product, rather than delete and create a new product. However, the system runs regular validation logic for all updated fields so if a released product is already in use, any attempt to re-apply the template will fail if the product contains data that don&amp;rsquo;t match the template.&lt;/p&gt;
&lt;p&gt;Assume that you have a stocked product with transactions. You try to apply a new version of the template to the product. However, on the template, the Stocked Product policy is not selected which means that products based on the template are non-stocked. In this case, the system will fail during the apply template action. This is because a stocked product with existing inventory transactions cannot be converted to a non-stocked product.&lt;/p&gt;
&lt;h4&gt;Apply a product template to multiple products in one go&lt;/h4&gt;
&lt;p&gt;When you release a bulk of products in a legal entity, you can apply a template all the products in one go rather than one by one. From the main Release product list page, you select the products where you want to add the template and click &lt;b&gt;Apply template&lt;/b&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/5657.image_5F00_230D1E90.png"&gt;&lt;img width="856" height="395" title="image" style="display: inline;" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/4555.image_5F00_thumb_5F00_69206C54.png" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h4&gt;Product templates in Dynamics AX 2012 Feature Pack&lt;/h4&gt;
&lt;p&gt;As you probably know, the recent feature pack contains new, exiting capabilities within retail and process manufacturing industries. And as you might expect, the product template functionality has been extended to accommodate key product data for those industries as well. You can, for example, create and re-use a template that stores retail-specific released product data.&lt;/p&gt;
&lt;h4&gt;Summary and some thoughts for the next releases&lt;/h4&gt;
&lt;p&gt;The product master data creation process is an essential part of any ERP product. Going forward we will do our best to make sure that the system offers more intelligent ways to simplify and streamline the product data creation and maintenance processes.&lt;/p&gt;
&lt;p&gt;Please let us know if you have any specific suggestions on how we can improve the product in this area. We encourage you to join the &lt;a href="http://www.linkedin.com/groups?home=&amp;amp;gid=4518636&amp;amp;trk=anet_ug_hm"&gt;AX SCM requirements&lt;/a&gt; LinkedIn group to either let us know what requirements you see in the field or to answer polls that we setup to gather feedback or by setting up your polls/discussions.This is a great way for you to influence the product direction.&lt;/p&gt;
&lt;p&gt;Thanks for reading!&lt;/p&gt;
&lt;p&gt;&lt;a href="http://dk.linkedin.com/in/ievgeniikorovin"&gt;Evgenij Korovin&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10352363" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/Setup/">Setup</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/Set+up+items+for+warehouse+management/">Set up items for warehouse management</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/Microsoft+Dynamics+AX+2012/">Microsoft Dynamics AX 2012</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/Item_2D00_Product+Data+Management/">Item-Product Data Management</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/What_2700_s+new+in+Dynamics+Ax+2012/">What's new in Dynamics Ax 2012</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/Product+information+management/">Product information management</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/Product_2D00_item+data+management+services/">Product-item data management services</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/Product+Number/">Product Number</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/record+template/">record template</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/Product+template/">Product template</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/apply+product+template/">apply product template</category></item><item><title>Avoid index length issues with InventDim</title><link>http://blogs.msdn.com/b/dynamicsaxscm/archive/2012/09/11/avoid-index-length-issues-with-inventdim.aspx</link><pubDate>Tue, 11 Sep 2012 12:51:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10348173</guid><dc:creator>Kim Moerup</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/dynamicsaxscm/rsscomments.aspx?WeblogPostID=10348173</wfw:commentRss><comments>http://blogs.msdn.com/b/dynamicsaxscm/archive/2012/09/11/avoid-index-length-issues-with-inventdim.aspx#comments</comments><description>&lt;p&gt;In Microsoft Dynamics AX we use indexes to ensure uniqueness. &lt;br /&gt;An example of this is the &lt;i&gt;DimIdx &lt;/i&gt;index in &lt;i&gt;InventDim&lt;/i&gt;, where all dimension fields are included to ensure that only a single record exists for a given set of dimensions.&lt;/p&gt;
&lt;p&gt;However, the SQL Server has a limitation of 16 fields in an index. &lt;br /&gt;With the first versions of &lt;i&gt;InventDim&lt;/i&gt; (which was introduced in Axapta 2.0) this was rarely a problem since only a few dimensions where shipped out-of-the-box. &lt;br /&gt;So partners and customers could still add more dimensions. Over time, numerous dimensions have been added in the standard version and in country specific solutions. &lt;br /&gt;As a result, we are now very close to the 16 field limit. With the Dynamics AX2012 Feature Pack and Russian functionality installed we have 14 fields in the index and more to come in future releases.&lt;/p&gt;
&lt;p&gt;We have received an increasing amount of questions about how to get around this issue so we have implemented a solution which allows you to add custom inventory dimensions and still have the uniqueness validated and enforced.&lt;/p&gt;
&lt;p&gt;In our investigation of possible solutions we have tried to find a balance between simplicity, maintainability, and performance. &lt;br /&gt;What we found to be the best solution can be described as follows:&lt;br /&gt;&lt;br /&gt;- Introduce a new field based on the &lt;i&gt;Sha1HashCode &lt;/i&gt;data type.&lt;br /&gt;- Remove some of the least used dimensions from the &lt;i&gt;DimIdx&lt;/i&gt; index and add the new field instead. The removed fields must be hashed in the new field during the insertion.&lt;br /&gt;- Calculate the hash and use it in the &lt;i&gt;findDim &lt;/i&gt;method when looking for an existing dimension.&lt;br /&gt;- Create a new &lt;i&gt;InventDimIdAllDimensions &lt;/i&gt;field in the &lt;i&gt;InventSumDeltaDim&lt;/i&gt; table (I guess the name says what it contains) and replace all the dimension fields in the &lt;i&gt;TTSItemCheckDimIdx&lt;/i&gt; index with this new field.&lt;/p&gt;
&lt;p&gt;This solution will be available in an upcoming release of Microsoft Dynamics AX so if you cannot wait for this release, feel free to be inspired by our findings &amp;ndash; hopefully it will also make it easier for you to upgrade your data.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10348173" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/Microsoft+Dynamics+AX+2012/">Microsoft Dynamics AX 2012</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/AX+2012/">AX 2012</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/InventDim+index+Dynamics+AX/">InventDim index Dynamics AX</category></item><item><title>An AX environmental process map in detail</title><link>http://blogs.msdn.com/b/dynamicsaxscm/archive/2012/09/11/an-ax-environmental-process-map-in-detail.aspx</link><pubDate>Tue, 11 Sep 2012 12:10:47 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10348160</guid><dc:creator>David M Probst</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/dynamicsaxscm/rsscomments.aspx?WeblogPostID=10348160</wfw:commentRss><comments>http://blogs.msdn.com/b/dynamicsaxscm/archive/2012/09/11/an-ax-environmental-process-map-in-detail.aspx#comments</comments><description>I recently reviewed the new training material for the AX2012 version of the Environmental dashboard (EMS). A little late in the process I realized that the details on the Environmental process map were a bit insufficient for this feature. I wanted to...(&lt;a href="http://blogs.msdn.com/b/dynamicsaxscm/archive/2012/09/11/an-ax-environmental-process-map-in-detail.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10348160" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/Dynamics+AX/">Dynamics AX</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/Dynamics+AX+2009/">Dynamics AX 2009</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/AX+2009/">AX 2009</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/Environmental+dashboard/">Environmental dashboard</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/AX+2012/">AX 2012</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/Axapta/">Axapta</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/AX/">AX</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/Environmental/">Environmental</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/Microsoft+Dynamics/">Microsoft Dynamics</category></item><item><title>Import vendor catalogs: from setup to importing a sample catalog – Part 2 (Importing a sample catalog)</title><link>http://blogs.msdn.com/b/dynamicsaxscm/archive/2012/09/09/import-vendor-catalogs-from-setup-to-importing-a-sample-catalog-part-2-importing-a-sample-catalog.aspx</link><pubDate>Sat, 08 Sep 2012 22:23:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10347564</guid><dc:creator>Vanya Lebedev</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/dynamicsaxscm/rsscomments.aspx?WeblogPostID=10347564</wfw:commentRss><comments>http://blogs.msdn.com/b/dynamicsaxscm/archive/2012/09/09/import-vendor-catalogs-from-setup-to-importing-a-sample-catalog-part-2-importing-a-sample-catalog.aspx#comments</comments><description>&lt;p&gt;The &lt;a href="http://blogs.msdn.com/b/dynamicsaxscm/archive/2012/08/29/import-vendor-catalogs-from-setup-to-importing-a-sample-catalog-part-1-setup.aspx"&gt;previous blog post&lt;/a&gt; in this series gave an overview of setting up AX 2012 to enable the Import vendor catalogs functionality. Now it&amp;rsquo;s time to see how to produce a sample CMR (catalog maintenance request) file and import it into AX using both AX Windows client and the Vendor self-service portal in Enterprise portal.&lt;/p&gt;
&lt;h3&gt;Create a vendor catalog&lt;/h3&gt;
&lt;p&gt;First of all a vendor catalog needs to be created.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Go to &lt;strong&gt;Procurement and sourcing &amp;gt; Common &amp;gt; Catalogs &amp;gt; Vendor catalogs&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Create a new record.&lt;/li&gt;
&lt;li&gt;Select the vendor in the vendor field.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;You can enable/disable the catalog for auto approval by clicking the corresponding button in the action pane. This flag can be used to setup workflow automatic actions.&lt;/p&gt;
&lt;h3&gt;Create a sample catalog maintenance request (CMR) file&lt;/h3&gt;
&lt;p&gt;CMR file is an XML file which contains the information about the products which are available for purchase from the vendor. You can use the CMR file to create a new catalog, replace an existing catalog, or modify an existing catalog. In order to create a sample CMR file you need to generate a catalog import file template first.&lt;/p&gt;
&lt;h4&gt;Generate a catalog import file template&lt;/h4&gt;
&lt;p&gt;The catalog import file template is an industry-standard XSD file that you use to create a CMR file for vendor&amp;rsquo;s products. In order to create the XSD file you need to:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Click &lt;b&gt;Procurement and sourcing&lt;/b&gt; &amp;gt; &lt;b&gt;Common&lt;/b&gt; &amp;gt; &lt;b&gt;Catalogs&lt;/b&gt; &amp;gt; &lt;b&gt;Vendor catalogs&lt;/b&gt;.&lt;/li&gt;
&lt;li&gt;On the &lt;b&gt;Vendor catalogs&lt;/b&gt; list page, double-click the catalog that you want to work with.&lt;/li&gt;
&lt;li&gt;To download a current catalog import template (XSD file), in the &lt;b&gt;Update catalog&lt;/b&gt; form, on the &lt;b&gt;Action Pane&lt;/b&gt;, on the &lt;b&gt;Catalogs&lt;/b&gt; tab, in the &lt;b&gt;Related information&lt;/b&gt; group, click &lt;b&gt;Generate catalog template&lt;/b&gt;. Select one of the following options:&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Procurement category&lt;/b&gt; &amp;ndash; Generate a catalog template that includes the procurement categories in which the vendor is authorized to provide products.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Commodity code&lt;/b&gt; &amp;ndash; Generate a catalog template that includes industry-standard commodity codes.&lt;/li&gt;
&lt;/ul&gt;
&lt;ol&gt;
&lt;li&gt;In the &lt;b&gt;Save as&lt;/b&gt; dialog box, select the location where you want to store the catalog file template and save the file.&lt;/li&gt;
&lt;/ol&gt;
&lt;h4&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/3716.image_5F00_60D7FF93.png"&gt;&lt;img width="828" height="399" title="image" style="display: inline; background-image: none;" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/4380.image_5F00_thumb_5F00_1FC9802F.png" border="0" /&gt;&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4&gt;Generate a sample CMR file&lt;/h4&gt;
&lt;p&gt;One thing to note about the catalog import template XSD file is that for each procurement category where the vendor is approved there will be a separate product definition with a separate set of attributes so it is important to use the current version of the XSD file for producing the sample CMR file. In order to create a sample CMR file you can:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Open the XSD file in &lt;strong&gt;Visual Studio.&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Go to the &lt;strong&gt;Schema explorer&lt;/strong&gt; view.&lt;/li&gt;
&lt;li&gt;Right click the &lt;strong&gt;Products&lt;/strong&gt; node.&lt;/li&gt;
&lt;li&gt;Click the &lt;strong&gt;Generate sample XML&lt;/strong&gt; item.&lt;/li&gt;
&lt;li&gt;Modify the auto-generated contents with the valid data: vendor name, product name, price and other attributes. Some of the attributes like product name can be filled with any string value. Other attributes (like currency) will only accept a fixed set of values which can be found by navigating the XSD file.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;A sample CMR file will typically look like the one below:&lt;/p&gt;
&lt;div id="codeSnippetWrapper" style="margin: 20px 0px 10px; padding: 4px; border: 1px solid silver; width: 97.5%; text-align: left; line-height: 12pt; overflow: auto; font-family: 'Courier New', courier, monospace; font-size: 8pt; cursor: text; direction: ltr; max-height: 200px; background-color: #f4f4f4;"&gt;
&lt;div id="codeSnippet" style="padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span id="lnum1" style="color: #606060;"&gt; 1:&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;&amp;lt;?&lt;/span&gt;&lt;span style="color: #800000;"&gt;xml&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;version&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="1.0"&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;encoding&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="utf-8"&lt;/span&gt;?&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;&lt;span id="lnum2" style="color: #606060;"&gt; 2:&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;VendorCatalog&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;VendorName&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="CatImp2"&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;LoadDate&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="2012-01-01T01:01:01+01:00"&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;ProductClassification&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="Procurement Category"&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;xmlns&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="http://dax.com/vendorcatalog"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span id="lnum3" style="color: #606060;"&gt; 3:&lt;/span&gt;   &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;Product&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;xmlns:xsi&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;='http://www.w3.org/2001/XMLSchema-instance'&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;xsi:type&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;='Accessories'&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;Delete&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;='No'&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;ProductCode&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;='ImpCatVend2_1'&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;ProductSearchName&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;='ImpCatVends2_1'&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;&lt;span id="lnum4" style="color: #606060;"&gt; 4:&lt;/span&gt;     &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;PriceInformation&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span id="lnum5" style="color: #606060;"&gt; 5:&lt;/span&gt;       &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;Price&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;Currency&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;='USD'&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;UnitOfMeasure&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;='Pcs'&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;Value&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;='5000'&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;Price&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;&lt;span id="lnum6" style="color: #606060;"&gt; 6:&lt;/span&gt;     &lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;PriceInformation&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span id="lnum7" style="color: #606060;"&gt; 7:&lt;/span&gt;     &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;ProductNameAndDescription&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;&lt;span id="lnum8" style="color: #606060;"&gt; 8:&lt;/span&gt;       &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;NameAndDescription&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span id="lnum9" style="color: #606060;"&gt; 9:&lt;/span&gt;         &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;Description&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;ImpCatVends2_1&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;Description&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;&lt;span id="lnum10" style="color: #606060;"&gt; 10:&lt;/span&gt;         &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;Name&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;ImpCatVends2_1&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;Name&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span id="lnum11" style="color: #606060;"&gt; 11:&lt;/span&gt;         &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;Language&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;en&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;Language&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;&lt;span id="lnum12" style="color: #606060;"&gt; 12:&lt;/span&gt;       &lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;NameAndDescription&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span id="lnum13" style="color: #606060;"&gt; 13:&lt;/span&gt;     &lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;ProductNameAndDescription&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;&lt;span id="lnum14" style="color: #606060;"&gt; 14:&lt;/span&gt;     &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;ProductAttributes&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;ProductAttributes&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span id="lnum15" style="color: #606060;"&gt; 15:&lt;/span&gt;   &lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;Product&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;&lt;span id="lnum16" style="color: #606060;"&gt; 16:&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;VendorCatalog&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;Upload the CMR file using AX Windows client&lt;/h3&gt;
&lt;p&gt;Having generated the sample CMR file you can proceed with the import.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Click &lt;b&gt;Procurement and sourcing&lt;/b&gt; &amp;gt; &lt;b&gt;Common&lt;/b&gt; &amp;gt; &lt;b&gt;Catalogs&lt;/b&gt; &amp;gt; &lt;b&gt;Vendor catalogs&lt;/b&gt;.&lt;/li&gt;
&lt;li&gt;On the &lt;b&gt;Vendor catalogs&lt;/b&gt; list page, double-click the catalog that you want to work with.&lt;/li&gt;
&lt;li&gt;In the &lt;b&gt;Update catalog&lt;/b&gt; form, on the &lt;b&gt;Catalog file history&lt;/b&gt; tab, click &lt;b&gt;Upload file&lt;/b&gt;.&lt;/li&gt;
&lt;li&gt;In the &lt;b&gt;Upload file&lt;/b&gt; dialog box, browse to the location of the CMR file that you created.&lt;/li&gt;
&lt;li&gt;Enter an effective date and an expiration date. These dates define the date range in which the pricing for the products in the CMR file is valid.&lt;/li&gt;
&lt;li&gt;Select one of the following update types for the CMR file:&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Add updates to the existing vendor catalog&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Replace the existing vendor catalog with a new catalog&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ol&gt;
&lt;li&gt;Click &lt;b&gt;OK&lt;/b&gt; to start the upload process for the CMR file.&lt;/li&gt;
&lt;li&gt;To view the details about the processing status of the CMR file, on the &lt;b&gt;Catalog file history&lt;/b&gt; tab, click &lt;b&gt;Event log&lt;/b&gt;.&lt;/li&gt;
&lt;li&gt;In the &lt;b&gt;Event log&lt;/b&gt; form, the status of the CMR file is updated as the file is processed.&lt;/li&gt;
&lt;li&gt;The status of the catalog import will be &amp;rdquo;New&amp;rdquo; (unless an error occurred).&lt;/li&gt;
&lt;li&gt;A new XML file will be placed in the catalog import pickup folder. This file is a WSDL message for the &lt;strong&gt;CatImpService.create&lt;/strong&gt; service for which a file adapter-based inbound integration port has been set up previously (see the &lt;a href="http://blogs.msdn.com/b/dynamicsaxscm/archive/2012/08/29/import-vendor-catalogs-from-setup-to-importing-a-sample-catalog-part-1-setup.aspx"&gt;previous blog post&lt;/a&gt; for details). This message contains all the information from the CMR file that we just uploaded plus the WSDL &amp;rdquo;envelope&amp;rdquo;. Find the sample WSDL catalog import message below:&lt;/li&gt;
&lt;/ol&gt;
&lt;div id="codeSnippetWrapper" style="margin: 20px 0px 10px; padding: 4px; border: 1px solid silver; width: 97.5%; text-align: left; line-height: 12pt; overflow: auto; font-family: 'Courier New', courier, monospace; font-size: 8pt; cursor: text; direction: ltr; max-height: 200px; background-color: #f4f4f4;"&gt;
&lt;div id="codeSnippet" style="padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span id="lnum1" style="color: #606060;"&gt; 1:&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;&amp;lt;?&lt;/span&gt;&lt;span style="color: #800000;"&gt;xml&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;version&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="1.0"&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;encoding&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="utf-8"&lt;/span&gt;?&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;&lt;span id="lnum2" style="color: #606060;"&gt; 2:&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;Batch&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span id="lnum3" style="color: #606060;"&gt; 3:&lt;/span&gt;     &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;Envelope&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;xmlns&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="http://schemas.microsoft.com/dynamics/2011/01/documents/Message"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;&lt;span id="lnum4" style="color: #606060;"&gt; 4:&lt;/span&gt;         &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;Header&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span id="lnum5" style="color: #606060;"&gt; 5:&lt;/span&gt;             &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;Action&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;http://schemas.microsoft.com/dynamics/2008/01/services/CatImpService/create&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;Action&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;&lt;span id="lnum6" style="color: #606060;"&gt; 6:&lt;/span&gt;         &lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;Header&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span id="lnum7" style="color: #606060;"&gt; 7:&lt;/span&gt;         &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;Body&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;&lt;span id="lnum8" style="color: #606060;"&gt; 8:&lt;/span&gt;             &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;MessageParts&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span id="lnum9" style="color: #606060;"&gt; 9:&lt;/span&gt;                 &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;VendorCatalog&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;&lt;span id="lnum10" style="color: #606060;"&gt; 10:&lt;/span&gt;                 ...&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span id="lnum11" style="color: #606060;"&gt; 11:&lt;/span&gt;                 &lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;VendorCatalog&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;&lt;span id="lnum12" style="color: #606060;"&gt; 12:&lt;/span&gt;             &lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;MessageParts&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span id="lnum13" style="color: #606060;"&gt; 13:&lt;/span&gt;         &lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;Body&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;&lt;span id="lnum14" style="color: #606060;"&gt; 14:&lt;/span&gt;     &lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;Envelope&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span id="lnum15" style="color: #606060;"&gt; 15:&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;Batch&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;Process the CMR file&lt;/h3&gt;
&lt;p&gt;After the WSDL message has been placed in the catalog import pickup folder the catalog import service needs to be called. The service will copy the data from the CMR file to the vendor catalog staging tables.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Run the &lt;strong&gt;AIF vendor catalog import processing job&lt;/strong&gt; which has been setup previously (see the &lt;a href="http://blogs.msdn.com/b/dynamicsaxscm/archive/2012/08/29/import-vendor-catalogs-from-setup-to-importing-a-sample-catalog-part-1-setup.aspx"&gt;previous blog post&lt;/a&gt; for details).&lt;/li&gt;
&lt;li&gt;After you do that the status of the catalog import will change to &lt;strong&gt;&amp;rdquo;In progress&amp;rdquo;&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;Approve the catalog import&lt;/h3&gt;
&lt;p&gt;In this example we will assume that the workflow has been set up for manual approval, i.e. there are no automated actions setup in the Catalog import product approval workflow.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;After the status of the catalog has changed to &amp;rdquo;In progress&amp;rdquo; the &lt;strong&gt;workflow bar&lt;/strong&gt; will appear in the top of the Vendor Catalog form.&lt;/li&gt;
&lt;li&gt;Click the &lt;strong&gt;submit&lt;/strong&gt; button.&lt;/li&gt;
&lt;li&gt;Run the &lt;strong&gt;workflow processing job&lt;/strong&gt; (see the &lt;a href="http://blogs.msdn.com/b/dynamicsaxscm/archive/2012/08/29/import-vendor-catalogs-from-setup-to-importing-a-sample-catalog-part-1-setup.aspx"&gt;previous blog post&lt;/a&gt; for details).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Refresh&lt;/strong&gt; the Vendor Catalog form.&lt;/li&gt;
&lt;li&gt;The status of the catalog import has changed to &lt;strong&gt;&amp;rdquo;Pending approval&amp;rdquo;&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Click the &lt;strong&gt;Details&lt;/strong&gt; button on the Catalog file history fast tab.&lt;/li&gt;
&lt;li&gt;Select all products and click the &lt;strong&gt;Actions &amp;gt; Approve&lt;/strong&gt; button in the workflow bar.&lt;/li&gt;
&lt;li&gt;Run the &lt;strong&gt;workflow processing job&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;The status of the products has changed to &lt;strong&gt;&amp;rdquo;Approved&amp;rdquo;&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Go back&lt;/strong&gt; to the Vendor Catalog form.&lt;/li&gt;
&lt;li&gt;The status of the import has changed to &lt;strong&gt;&amp;rdquo;Succeeded&amp;rdquo;&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;After the imported product candidates have been approved they are added to the product master.&lt;/li&gt;
&lt;li&gt;After the product candidates have been approved they can be released to legal entities by clicking the &lt;strong&gt;Release approved products&lt;/strong&gt; button on the Vendor Catalog form.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;Vendor self-service portal (VSS)&lt;/h3&gt;
&lt;p&gt;Some of the actions described above can also be performed using the Enterprise Portal (EP). In order to run this scenario it is required to associate the user with a vendor.&lt;/p&gt;
&lt;h4&gt;Create an AX user for the vendor party&lt;/h4&gt;
&lt;p&gt;First of all you need&amp;nbsp;to associate an AX user with the vendor account. Large companies will probably take advantage of more complicated workflows available in AX to perform this operation (see the &lt;a href="https://mbs.microsoft.com/partnersource/communities/training/trainingmaterials/student/course80430.htm?printpage=false"&gt;Vendor Management and Collaboration in Microsoft Dynamics AX 2012&lt;/a&gt; training materials for more details). Smaller companies can utilize the simplified process described below.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Go to &lt;strong&gt;System administration &amp;gt; Common &amp;gt; Users &amp;gt; Users&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Grant the user that you want to associate with the vendor the&lt;strong&gt; Vendor (external)&lt;/strong&gt; role.&lt;/li&gt;
&lt;li&gt;Click the &lt;strong&gt;Relations&lt;/strong&gt; button in the action pane.&lt;/li&gt;
&lt;li&gt;Set the &lt;strong&gt;Relation type = Vendor&lt;/strong&gt; and select the vendor which you want to enable for uploading catalogs using the Vendor portal.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4&gt;Upload the CMR file using the VSS portal&lt;/h4&gt;
&lt;p&gt;After setting up the user-vendor association you can proceed with opening the Vendor portal and uploading the CMR file.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Go to &lt;strong&gt;System administration &amp;gt; Common &amp;gt; Users &amp;gt; Users&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Select the user&lt;/strong&gt; that you have configured to represent the vendor party.&lt;/li&gt;
&lt;li&gt;Click the &lt;strong&gt;profiles&lt;/strong&gt; button.&lt;/li&gt;
&lt;li&gt;Click the &lt;strong&gt;view role centers&lt;/strong&gt; button.&lt;/li&gt;
&lt;li&gt;In the enterprise portal make sure that the&lt;strong&gt; correct user is active&lt;/strong&gt; (if not click the login as a different user button and login as the user which has been configured to represent the vendor party).&lt;/li&gt;
&lt;li&gt;If you logged on as an admin or have multiple vendors associated with your account then make sure that the &lt;strong&gt;correct vendor association is active&lt;/strong&gt;. The current vendor association can be changed by clicking the vendor dropdown box in the top right corner of the screen.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Now you can navigate to &lt;strong&gt;Vendor portal &amp;gt; Catalogs&lt;/strong&gt; and upload the CMR file. I will not go into more details since the vendor catalogs form in the enterprise portal is similar to the vendor catalogs form in AX Windows client.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/0564.image_5F00_2869D8BB.png"&gt;&lt;img width="879" height="292" title="image" style="display: inline; background-image: none;" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/5873.image_5F00_thumb_5F00_20723659.png" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10347564" width="1" height="1"&gt;</description></item><item><title>AX2012 Purchasing with: Advanced warehouse management and quarantine management.</title><link>http://blogs.msdn.com/b/dynamicsaxscm/archive/2012/09/04/ax2012-purchasing-with-advanced-warehouse-management-and-quarantine-orders.aspx</link><pubDate>Tue, 04 Sep 2012 09:13:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10346104</guid><dc:creator>Karina N Jakobsen</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/dynamicsaxscm/rsscomments.aspx?WeblogPostID=10346104</wfw:commentRss><comments>http://blogs.msdn.com/b/dynamicsaxscm/archive/2012/09/04/ax2012-purchasing-with-advanced-warehouse-management-and-quarantine-orders.aspx#comments</comments><description>&lt;p&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;AX2012 Purchasing with: Advanced warehouse management and quarantine management.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;If it&amp;rsquo;s ever been an issue for you that no items in Contoso CEU are set up with both advanced warehouse management and quarantine management this information might be useful to you.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;Here you get a cheat sheet that you can use to set up Contoso CEU in order to handle an advanced warehouse procedure like the following in AX2012.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81/4263.Blog_5F00_Flow.PNG"&gt;&lt;img alt="" src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81/4263.Blog_5F00_Flow.PNG" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Calibri; font-size: small;" size="3" face="Calibri"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;Go to Inventory and warehouse management/Setup/Inventory breakdown/Warehouses&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style="font-size: small;" size="3"&gt;&amp;middot;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;Select warehouse 28.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-size: small;" size="3"&gt;&amp;middot;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;Click Inquiries/Inventory aisles.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-size: small;" size="3"&gt;&amp;middot;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;Select Aisle 01, and click Inventory location.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-size: small;" size="3"&gt;&amp;middot;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;Click New.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-size: small;" size="3"&gt;&amp;middot;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81/1374.Blog_5F00_Location.png"&gt;&lt;img alt="" src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81/1374.Blog_5F00_Location.png" border="0" /&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-size: small;" size="3"&gt;&amp;middot;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;Save to create the location.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;The above setup indicates that we do not control each location within the quarantine area separately; we just see the entire quarantine area as one location.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;Close the form and go to Product information management/Released products and select item 1601&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;Navigate to the action pane tab Manage Inventory and click Warehouse items&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style="font-size: small;" size="3"&gt;&amp;middot;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;Click New and add warehouse items for warehouse 28:&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-size: small;" size="3"&gt;&amp;middot;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81/2063.Blog_5F00_warehouseitem.png"&gt;&lt;img alt="" src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81/2063.Blog_5F00_warehouseitem.png" border="0" /&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;Save and close&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;From the detailed item form open the item model group FRP_Pick.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style="font-size: small;" size="3"&gt;&amp;middot;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81/7607.Blog_5F00_Item-model-group.png"&gt;&lt;img alt="" src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81/7607.Blog_5F00_Item-model-group.png" border="0" /&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-size: small;" size="3"&gt;&amp;middot;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;Select the Quarantine management check box and close the form.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;This way you enable quarantine management for the item arrival journal lines. You can also set this parameter for individual item arrival journal lines&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Calibri; font-size: small;" size="3" face="Calibri"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;Now item 1601 is set up with advanced warehouse management and quarantine order, so try the procedure:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;Go to Procurement and sourcing/Purchase orders/All purchase orders&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style="font-size: small;" size="3"&gt;&amp;middot;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;Create a new purchase order for vendor 1001. Accept the default values.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-size: small;" size="3"&gt;&amp;middot;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;Create a purchase order line for item 1601.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-size: small;" size="3"&gt;&amp;middot;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;Change the quantity to 24 and click No in the dialog box.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-size: small;" size="3"&gt;&amp;middot;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81/5008.Blog_5F00_purchase-order.png"&gt;&lt;img alt="" src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81/5008.Blog_5F00_purchase-order.png" border="0" /&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-size: small;" size="3"&gt;&amp;middot;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;Confirm the purchase order&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;Close all forms.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;Go to Inventory and warehouse management/Periodic/Arrival overview&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style="font-size: small;" size="3"&gt;&amp;middot;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;Find the purchase order and click Start arrival&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-size: small;" size="3"&gt;&amp;middot;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;Open the item arrival journal and add a pallet ID.&lt;/span&gt;&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style="font-size: small;" size="3"&gt;o&lt;/span&gt;&amp;nbsp;&amp;nbsp; &lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;You can use the function &amp;ldquo;Pallet ID&amp;rdquo;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;span style="font-size: small;" size="3"&gt;&amp;middot;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;The check box &amp;ldquo;Pallet transport &amp;ldquo;= selected&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-size: small;" size="3"&gt;&amp;middot;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;The check box &amp;ldquo;Check pick location&amp;rdquo; = cleared&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-size: small;" size="3"&gt;&amp;middot;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;The&amp;nbsp; check box &amp;ldquo;Check bulk location&amp;rdquo; = selected&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-size: small;" size="3"&gt;&amp;middot;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;The check box &amp;ldquo;Quarantine management&amp;rdquo; = selected&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;Post the journal and close all forms.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;The pallet and the item are now recorded in the inbound location and a pallet transport to the quarantine warehouse is ordered.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;Go to Inventory and warehouse management/Common/Pallet transport&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style="font-size: small;" size="3"&gt;&amp;middot;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;Start the pallet transport&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-size: small;" size="3"&gt;&amp;middot;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;Complete the pallet transport&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;The pallet and the item are now recorded in the quarantine warehouse and the quarantine order is created.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;Close all forms.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;Go to Inventory and warehouse management/Periodic/Quarantine order&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style="font-size: small;" size="3"&gt;&amp;middot;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;Find the quarantine order&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-size: small;" size="3"&gt;&amp;middot;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;Click Report as finished. &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-size: small;" size="3"&gt;&amp;middot;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81/2438.blog_5F00_report-as-finished.png"&gt;&lt;img alt="" src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81/2438.blog_5F00_report-as-finished.png" border="0" /&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-size: small;" size="3"&gt;&amp;middot;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;Click OK&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;The quarantine order is reported as finished and an item arrival journal is created.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;Open the item arrival journal that was created.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;Click Post&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;A pallet transport to the warehouse is ordered.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;Close all forms.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;Go to Inventory and warehouse management/Common/Pallet transport&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style="font-size: small;" size="3"&gt;&amp;middot;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;Start the pallet transport&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-size: small;" size="3"&gt;&amp;middot;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;Complete the pallet transport&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;Close all forms.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;Now the flow is completed.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Times New Roman; font-size: small;" size="3" face="Times New Roman"&gt; &lt;/span&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10346104" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/Dynamics+AX/">Dynamics AX</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/SCM/">SCM</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/Warehouse+Management/">Warehouse Management</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/Set+up+items+for+warehouse+management/">Set up items for warehouse management</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/Warehouse+item/">Warehouse item</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/pallet/">pallet</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/arrival+overview/">arrival overview</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/inbound+processes/">inbound processes</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/item+setup/">item setup</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/Item+arrival+journal/">Item arrival journal</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/inventory+breakdown+setup/">inventory breakdown setup</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/warehouse+item+setup/">warehouse item setup</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/Inbound+pallet+Transport/">Inbound pallet Transport</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/Automatic+picking+location+assignment/">Automatic picking location assignment</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/receiving+goods+in+WMS/">receiving goods in WMS</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/Pallet+ID/">Pallet ID</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/Microsoft+Dynamics+AX+2012/">Microsoft Dynamics AX 2012</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/Dynamics+Ax+2012/">Dynamics Ax 2012</category></item><item><title>Import vendor catalogs: from setup to importing a sample catalog – Part 1 (Setup)</title><link>http://blogs.msdn.com/b/dynamicsaxscm/archive/2012/08/29/import-vendor-catalogs-from-setup-to-importing-a-sample-catalog-part-1-setup.aspx</link><pubDate>Wed, 29 Aug 2012 13:16:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10344597</guid><dc:creator>Vanya Lebedev</dc:creator><slash:comments>6</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/dynamicsaxscm/rsscomments.aspx?WeblogPostID=10344597</wfw:commentRss><comments>http://blogs.msdn.com/b/dynamicsaxscm/archive/2012/08/29/import-vendor-catalogs-from-setup-to-importing-a-sample-catalog-part-1-setup.aspx#comments</comments><description>&lt;p&gt;We&amp;rsquo;ve been working on the import vendor catalogs functionality recently and realized that the ramp up time in this area is quite high. There is a lot of information on MSDN and on &lt;a href="http://informationsource.dynamics.com/"&gt;InformationSource&lt;/a&gt; about the topic but there aren&amp;rsquo;t any documents which would guide you from the initial setup to creating and importing a sample catalog.&lt;/p&gt;
&lt;p&gt;Creating and maintaining procurement catalogs that company employees can use when they order items or services for internal use is one of the major tasks in &lt;a href="http://technet.microsoft.com/en-us/library/hh208778"&gt;Procurement and Sourcing&lt;/a&gt;. This can be done in several ways. Vendor catalog data can be added to the product master manually; the catalog can be &lt;a href="http://technet.microsoft.com/en-us/library/hh208904"&gt;hosted externally&lt;/a&gt; or it can be &lt;a href="http://technet.microsoft.com/EN-US/library/hh208492"&gt;imported&lt;/a&gt; from a Catalog Maintenance Request (CMR) file. In this blog post I will focus on the last option: importing vendor catalogs. Before reading this blog post I recommend watching the &amp;ldquo;How to define procurement categories and catalogs &amp;ndash; part 3&amp;rdquo; video on &lt;a href="http://informationsource.dynamics.com/"&gt;InformationSource&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;Vendor catalog import parameters&lt;/h3&gt;
&lt;p&gt;The first step will be to setup the Vendor catalog import parameters.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/3681.image_5F00_2EED4E32.png"&gt;&lt;img width="311" height="154" title="image" style="display: inline; background-image: none;" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/3583.image_5F00_thumb_5F00_05960634.png" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Create a root folder where the CMR files will be stored (e.g. c:\temp\CMR).&lt;/li&gt;
&lt;li&gt;Click &lt;b&gt;Procurement and sourcing&lt;/b&gt; &amp;gt; &lt;b&gt;Setup&lt;/b&gt; &amp;gt; &lt;b&gt;Vendors&lt;/b&gt; &amp;gt; &lt;b&gt;Vendor catalog import parameters&lt;/b&gt;.&lt;/li&gt;
&lt;li&gt;In the &lt;b&gt;Vendor catalog import parameters&lt;/b&gt; form, in the &lt;b&gt;Root folder path&lt;/b&gt; field, enter the location of the root folder that you created for storing CMR files.&lt;/li&gt;
&lt;li&gt;The &lt;b&gt;CatalogImportPickup&lt;/b&gt; folder is created automatically inside the folder you specified.&lt;/li&gt;
&lt;/ol&gt;
&lt;h3&gt;Setup AIF&lt;/h3&gt;
&lt;p&gt;After you set up the vendor catalog import parameters you will need to configure an inbound AIF integration port for catalog import. I will not go into details since the process is very well described in &lt;a href="http://msdn.microsoft.com/en-us/library/hh533450.aspx"&gt;this article&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/1067.image_5F00_3DB33593.png"&gt;&lt;img width="1054" height="371" title="image" style="display: inline; background-image: none;" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/6648.image_5F00_thumb_5F00_3B9636CA.png" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;There are a couple of additional steps which are not mentioned in the article:&lt;/p&gt;
&lt;p&gt;1. When setting up the file adapter click the &lt;b&gt;Configure&lt;/b&gt; button, mark both checkboxes and specify the administrator user in the lookup. Not doing this will lead to an error during the import.&lt;/p&gt;
&lt;p&gt;2. If you can&amp;rsquo;t see the &lt;b&gt;CatImpService.create&lt;/b&gt; in the service selection dialog you can go to the AOT, find the CatImpService under the Services node and click &lt;b&gt;Addins\Register service&lt;/b&gt;. The alternative is to go to &lt;b&gt;System administration &amp;gt; Setup &amp;gt; Checklists &amp;gt; Initialization checklist&lt;/b&gt; and click &lt;b&gt;Set up Application Integration Framework &lt;/b&gt;in the &lt;b&gt;Initialize system&lt;/b&gt; group.&lt;/p&gt;
&lt;p&gt;You will also need some way of running the catalog import service. Normally this is done by setting up recurring batch jobs responsible for executing business logic through integration ports. To learn more about it read the &lt;i&gt;Configure and start the AIF batch services&lt;/i&gt; section of this MSDN &lt;a href="http://msdn.microsoft.com/en-us/library/hh352313.aspx"&gt;article&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;This standard approach is intended for production. However it&amp;rsquo;s not very convenient for testing/learning purposes since the catalog import processing will be done asynchronously and the minimum recurrence interval is 1 minute. So I recommend using the x++ job below which performs the import catalog processing instantly:&lt;/p&gt;
&lt;div id="codeSnippetWrapper" style="margin: 20px 0px 10px; padding: 4px; border: 1px solid silver; width: 97.5%; text-align: left; line-height: 12pt; overflow: auto; font-family: 'Courier New', courier, monospace; font-size: 8pt; cursor: text; direction: ltr; max-height: 200px; background-color: #f4f4f4;"&gt;
&lt;div id="codeSnippet" style="padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span id="lnum1" style="color: #606060;"&gt; 1:&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;static&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;void&lt;/span&gt; runAIFReceive(Args _args)&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;&lt;span id="lnum2" style="color: #606060;"&gt; 2:&lt;/span&gt; {&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span id="lnum3" style="color: #606060;"&gt; 3:&lt;/span&gt;     &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; AifGatewayReceiveService().run();&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;&lt;span id="lnum4" style="color: #606060;"&gt; 4:&lt;/span&gt;     &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; AifInboundProcessingService().run(); &lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span id="lnum5" style="color: #606060;"&gt; 5:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;&lt;span id="lnum6" style="color: #606060;"&gt; 6:&lt;/span&gt;     info(&lt;span style="color: #006080;"&gt;'AIF processing done'&lt;/span&gt;);&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span id="lnum7" style="color: #606060;"&gt; 7:&lt;/span&gt; }&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h3&gt;Setup workflow&lt;/h3&gt;
&lt;p&gt;The import vendor catalog functionality is leveraging another powerful feature of AX: workflow processing. You are allowed to setup rules for automated approval of vendor catalogs and specify one or more reviewers if manual approval is required. To enable the vendor catalog import functionality it is required to set up two types of workflows: Catalog import product approval (line-level), Catalog import approval (catalog-level).&lt;/p&gt;
&lt;h4&gt;Catalog import product approval&lt;/h4&gt;
&lt;p&gt;This type of workflow processes all the products that are included in the CMR file. Completion of all of the individual line-level workflow completes the overall catalog import workflow. In order to create a product approval workflow:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Click &lt;b&gt;Procurement and sourcing&lt;/b&gt; &amp;gt; &lt;b&gt;Setup&lt;/b&gt; &amp;gt; &lt;b&gt;Procurement and sourcing workflows&lt;/b&gt;.&lt;/li&gt;
&lt;li&gt;On the Action Pane, click &lt;b&gt;New&lt;/b&gt;.&lt;/li&gt;
&lt;li&gt;Select &lt;b&gt;Catalog import product approval&lt;/b&gt; and then click &lt;b&gt;Create workflow&lt;/b&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;h5&gt;General setup&lt;/h5&gt;
&lt;p&gt;The common catalog import product approval workflow should look like this:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/7801.image_5F00_1FA501D2.png"&gt;&lt;img width="306" height="98" title="image" style="display: inline; background-image: none;" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/1440.image_5F00_thumb_5F00_08968096.png" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h5&gt;Set up approvers&lt;/h5&gt;
&lt;p&gt;1. Double click the &lt;b&gt;Catalog import product approval&lt;/b&gt; element.&lt;/p&gt;
&lt;p&gt;2. Click the &lt;b&gt;Step 1&lt;/b&gt; element.&lt;/p&gt;
&lt;p&gt;3. Click &lt;b&gt;Assignment&lt;/b&gt; in the action pane.&lt;/p&gt;
&lt;p&gt;4. The simplest assignment would be User-&amp;gt;Admin.&lt;/p&gt;
&lt;h5&gt;Set up automatic actions&lt;/h5&gt;
&lt;p&gt;Automatic actions allow the workflow framework to automatically approve or reject the products in the imported vendor catalog which meet certain conditions. In order to set up an automatic action you need to:&lt;/p&gt;
&lt;p&gt;1. Select the &lt;b&gt;Catalog import product approval&lt;/b&gt; element.&lt;/p&gt;
&lt;p&gt;2. Click &lt;b&gt;Automatic actions&lt;/b&gt; in the action pane.&lt;/p&gt;
&lt;p&gt;3. Click the &lt;b&gt;Enable automatic actions&lt;/b&gt; check box&lt;/p&gt;
&lt;p&gt;4. Setup the conditions for auto approval/rejection&lt;/p&gt;
&lt;p&gt;There is one type of condition which I would like to focus on. You can specify &lt;i&gt;Product candidate.Price delta &lt;/i&gt;as a parameter of the automatic action. The price delta is calculated as a ratio: (new price &amp;ndash; old price) / old price. So if you want to make sure that the price delta is within 20% you need to set the condition to &lt;i&gt;Product candidate.Price delta &amp;lt;= 0.2&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;5. Select the type of automatic action (approve/reject)&lt;/p&gt;
&lt;h4&gt;Catalog import approval&lt;/h4&gt;
&lt;p&gt;This type of workflow is used for setting up the rules for approving the whole catalog. When you configure this workflow, you can reference the &lt;strong&gt;Catalog import product approval&lt;/strong&gt; workflow that you configured earlier. The common setup would be to automatically approve the whole catalog import after all the products have been approved:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/0066.image_5F00_060D4ED8.png"&gt;&lt;img width="73" height="426" title="image" style="display: inline; background-image: none;" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/2502.image_5F00_thumb_5F00_24778FC1.png" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In the properties of the Vendor catalog lines (products) element you need to reference the catalog import product approval that you created earlier.&lt;/p&gt;
&lt;h3&gt;Enable a vendor for catalog import&lt;/h3&gt;
&lt;p&gt;In order to be able to import catalogs for a particular vendor it has to be enabled for catalog import. There are two ways to achieve that&lt;/p&gt;
&lt;p&gt;- Click &lt;b&gt;Procurement\Set up\Configure vendor for catalog import&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;- If you don&amp;rsquo;t do this you will be prompted if you want to enable the vendor for catalog import when creating a new catalog for the vendor&lt;/p&gt;
&lt;p&gt;After you do this a subfolder in the catalog import root folder is created. The name of the folder is the RecId of the vendor.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/3755.image_5F00_36DFE076.png"&gt;&lt;img width="516" height="216" title="image" style="display: inline; background-image: none;" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/1680.image_5F00_thumb_5F00_5AB89203.png" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Inside the folder you will find an archive folder with all the CMR files that have been imported for this vendor. You will also find a folder that is used for importing images of the vendor&amp;rsquo;s products.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/3250.image_5F00_2322D115.png"&gt;&lt;img width="517" height="165" title="image" style="display: inline; background-image: none;" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/2063.image_5F00_thumb_5F00_60CFB8D1.png" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;Setup procurement hierarchy&lt;/h3&gt;
&lt;p&gt;You won&amp;rsquo;t be able to import products from categories where the vendor is not approved for procurement. To approve the vendor:&lt;/p&gt;
&lt;p&gt;1. Go to &lt;b&gt;Procurement and sourcing/Setup/Categories/Procurement categories&lt;/b&gt;.&lt;/p&gt;
&lt;p&gt;2. Select the category.&lt;/p&gt;
&lt;p&gt;Add the vendor to the list of approved vendors in the Vendors fast tab.&lt;/p&gt;
&lt;h3&gt;Importing a vendor catalog&lt;/h3&gt;
&lt;p&gt;Now that all the setup is done we are ready for creating a sample CMR file and importing it.&amp;nbsp;We will write about it the next blog post.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10344597" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/Dynamics+Ax+2012/">Dynamics Ax 2012</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/SRM/">SRM</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/Import+vendor+catalogs/">Import vendor catalogs</category></item><item><title>Electronic signature in Dynamics AX</title><link>http://blogs.msdn.com/b/dynamicsaxscm/archive/2012/08/21/electronic-signature-in-dynamics-ax.aspx</link><pubDate>Tue, 21 Aug 2012 14:46:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10348161</guid><dc:creator>David M Probst</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/dynamicsaxscm/rsscomments.aspx?WeblogPostID=10348161</wfw:commentRss><comments>http://blogs.msdn.com/b/dynamicsaxscm/archive/2012/08/21/electronic-signature-in-dynamics-ax.aspx#comments</comments><description>Most presentations I have made during the last few years have involved one or more personas. Shannon the machine operator, Lisa the Customer Service representative, Charlie the CEO, Lars the Shop supervisor etc. etc. At a presentation a few years back...(&lt;a href="http://blogs.msdn.com/b/dynamicsaxscm/archive/2012/08/21/electronic-signature-in-dynamics-ax.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10348161" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/Dynamics+AX/">Dynamics AX</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/Dynamics+AX+2009/">Dynamics AX 2009</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/Microsoft+Dynamics+AX+2012/">Microsoft Dynamics AX 2012</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/AX+2009/">AX 2009</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/AX+2012/">AX 2012</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/Axapta/">Axapta</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/AX/">AX</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/Microsoft+Dynamics/">Microsoft Dynamics</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/Electronic+signature/">Electronic signature</category></item><item><title>Improved integration to warehouse management in process manufacturing AX2012</title><link>http://blogs.msdn.com/b/dynamicsaxscm/archive/2012/08/16/improved-integration-to-warehouse-management-in-process-manufacturing-ax2012.aspx</link><pubDate>Thu, 16 Aug 2012 15:43:34 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10340555</guid><dc:creator>AksheyGupta</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/dynamicsaxscm/rsscomments.aspx?WeblogPostID=10340555</wfw:commentRss><comments>http://blogs.msdn.com/b/dynamicsaxscm/archive/2012/08/16/improved-integration-to-warehouse-management-in-process-manufacturing-ax2012.aspx#comments</comments><description>&lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;Process manufacturing adds multiple capabilities to ensure that the inventory that is reserved is the inventory that meets the customer criteria. This capability is useful for any enterprise irrespective of nature of manufacturing environment. &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;For instance customer could ask for an inventory batch of chocolate bars with cocoa content between 80 and 100. In addition of course, AX should not ship expired batches or batches that are currently unavailable for picking, shipping etc. In previous versions it was possible to apply these criteria of inventory reservation on sales orders and transfer orders but was not possible to apply these criteria if warehouse management was used to pick, ship, stage &amp;amp; load goods. However AX2012 will take all these requirements into consideration when doing warehouse reservations.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;In this post, a brief scenario is used to show how warehouse management reservation now works to ensure that customer criteria are met just like as in case of inventory reservation system.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;Consider this on-hand information for different batches of chocolate bars&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000a0" size="3" face="Times New Roman"&gt;&lt;strong&gt;On-hand info for item WMS:&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/5582.1_5F00_62A28EBA.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="WMS scenario" border="0" alt="WMS scenario" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/7651.1_5F00_thumb_5F00_06E7733D.png" width="461" height="107" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;Create a sales order. Add a line for chocolate bars to the sales order with quantity of 1700. On-hand inventory is automatically reserved. You can see here that reservation is only done on batches that are available, is done in FEFO order and the batch outside attribute range (batch B2, requirement: cocoa content must be between 80 and 100) is not reserved. &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/8640.2_5F00_0F87CBC9.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Batch reservation on sales order" border="0" alt="Batch reservation on sales order" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/8171.2_5F00_thumb_5F00_2CAD73D3.png" width="461" height="95" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;Release the sales order line and create an inventory order (output order) which is the basis for shipment. &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;Create a shipment, inventory order created above will automatically be added to the shipment.&lt;/font&gt; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/5050.3_5F00_3862BB05.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Inventory order" border="0" alt="Inventory order" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/0576.3_5F00_thumb_5F00_0780039A.png" width="347" height="211" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;Shipment status is registered at this point. If you look at the shipment lines, you will see 1500 reserved on B1 and 200 on B3. As you can see this is not correct according to the WMS reservation policy because we should first create output transports from bulk locations (location 001-01-3) and then pick the rest from the picking location (002-02-1)&lt;/font&gt;&lt;/p&gt; &lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/7610.4_5F00_0C160E54.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Shipment" border="0" alt="Shipment" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/3817.4_5F00_thumb_5F00_5AC723F3.png" width="390" height="176" /&gt;&lt;/a&gt;   &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;Click Functions-&amp;gt; reserve now, shipment will have reserved status now. If you look at the shipment lines now, you will notice that the shipment is reserving according to the WMS reservation principles (First output transport from bulk locations and the pick the rest on picking locations). So 1500 reserved on B3 and then 200 on B1.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/1273.5_5F00_0CDE4E71.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Shipment lines" border="0" alt="Shipment lines" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/2678.5_5F00_thumb_5F00_174EFCC4.png" width="376" height="167" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;Activate the shipment, complete the pallet transport and picking route.      &lt;br /&gt;&lt;em&gt;Key thing to note here is that just like inventory reservation, WMS reservation also picks batch B3 and not batch B2 as it did in previous versions. &lt;/em&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;Contributors: Johan Hoffman, Akshey Gupta &lt;/font&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10340555" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/Shipment/">Shipment</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/process+manufacturing/">process manufacturing</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/shipment+lines/">shipment lines</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/warehouse+reservation/">warehouse reservation</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/sales+order/">sales order</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/inventory+reservation/">inventory reservation</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/batch+attributes/">batch attributes</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/FEFO/">FEFO</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/disposition/">disposition</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/Inventory+order/">Inventory order</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/expired/">expired</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/PI/">PI</category></item><item><title>Installing a stand-alone Dynamics AX 2012 on Windows 8</title><link>http://blogs.msdn.com/b/dynamicsaxscm/archive/2012/08/13/installing-a-stand-alone-dynamics-ax-2012-on-windows-8.aspx</link><pubDate>Mon, 13 Aug 2012 15:20:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10348162</guid><dc:creator>David M Probst</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/dynamicsaxscm/rsscomments.aspx?WeblogPostID=10348162</wfw:commentRss><comments>http://blogs.msdn.com/b/dynamicsaxscm/archive/2012/08/13/installing-a-stand-alone-dynamics-ax-2012-on-windows-8.aspx#comments</comments><description>It took a little while but finally I managed to get my AX up and running on Windows 8. For those of you who want to do the same, here are a couple of pointers: 
 SharePoint 2010 is as tricky as it was on Windows 7. This KB article will help out: 
 http...(&lt;a href="http://blogs.msdn.com/b/dynamicsaxscm/archive/2012/08/13/installing-a-stand-alone-dynamics-ax-2012-on-windows-8.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10348162" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/Dynamics+AX/">Dynamics AX</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/Microsoft+Dynamics+AX+2012/">Microsoft Dynamics AX 2012</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/AX+2012/">AX 2012</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/AX/">AX</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/Installation/">Installation</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/Windows+8/">Windows 8</category></item><item><title>Product Number and Item Number in Dynamics AX 2012</title><link>http://blogs.msdn.com/b/dynamicsaxscm/archive/2012/02/13/product-number-and-item-number-in-dynamics-ax-2012.aspx</link><pubDate>Mon, 13 Feb 2012 09:14:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10267210</guid><dc:creator>Ievgenii Korovin</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/dynamicsaxscm/rsscomments.aspx?WeblogPostID=10267210</wfw:commentRss><comments>http://blogs.msdn.com/b/dynamicsaxscm/archive/2012/02/13/product-number-and-item-number-in-dynamics-ax-2012.aspx#comments</comments><description>&lt;p&gt;What is the purpose of the product number?&lt;/p&gt;
&lt;p&gt;This is a common question since the product number is a new concept in Dynamics AX 2012. The main purpose is to have a single, unified identification of a product throughout the entire organization.&lt;/p&gt;
&lt;p&gt;In addition to the product number you have a legal entity-specific item number. The item number supports the need to be able to identify products based on numbers that make sense to users within a legal entity.&lt;/p&gt;
&lt;p&gt;In this post we will describe the purpose and the use of product numbers and item numbers.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/6735.image_5F00_2A885EB2.png"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/2548.image_5F00_thumb_5F00_346D501D.png" width="582" height="298" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h4&gt;Product number&lt;/h4&gt;
&lt;p&gt;The new Product information management module in Dynamics AX 2012 allows users to create and manage shared product definition data in a centralized and consistent way. For companies that run a business across multiple legal entities, the concept of shared products can be a help to manage product master data and establish company-wide data governance processes.&lt;/p&gt;
&lt;p&gt;For example, consider a company that wants to ensure that the same product data is consistent across different manufacturing plants or retail stores.&lt;/p&gt;
&lt;p&gt;The product number is the main product identification (ID) in the system. It helps users to identify or to search for the same product instance across the entire organizational structure. The product number serves as a common reference for company-wide operational and reporting purposes.&lt;/p&gt;
&lt;p&gt;In Dynamics AX 2012, a product has to be released to a legal entity before it can be included on a transaction, line or before orders can be created against the product. The release process allows users to control which products become released products in which legal entities.&lt;/p&gt;
&lt;h4&gt;Item Number&lt;/h4&gt;
&lt;p&gt;The item number (or item ID) is the legal entity-specific identification of the released product. When a product is released to a legal entity, the item number is aligned with the product number, unless a number sequence exists for the item number in the legal entity.&lt;/p&gt;
&lt;p&gt;The system does not validate whether the values are identical or not. So in cases where a specific item number is required in order to identify products within an organization, the item number can be renamed.&lt;/p&gt;
&lt;p&gt;For example, some manufacturing companies include the unit of measure in the legal entity-specific item number. In cases where items are consolidated between a legal entity and an acquired organization, it would also be necessary to rename the item number in the legal entity.&lt;/p&gt;
&lt;h4&gt;Intercompany supply chains and consolidated reporting&lt;/h4&gt;
&lt;p&gt;For intercompany chains and for consolidated reporting purposes the system always uses a product reference. The system does not take any dependency on the legal entity-specific item numbers. Instead, a shared product reference is used to map intercompany demand and supply during master scheduling or to establish the relationship between the intercompany sales and purchase orders.&lt;/p&gt;
&lt;p&gt;&lt;i&gt;Please note that in previous versions of Dynamics AX, the system uses the concept of a company item to allow for intercompany trade between two parties. All items in one company have to be mapped manually to every item in the other company before the intercompany order can be created. With Dynamics AX 2012 there is no longer a need for manual mapping. As long as a product is released to both companies, all intercompany chains can operate smoothly.&amp;nbsp;&lt;/i&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4&gt;Recommendation regarding intercompany trade&lt;/h4&gt;
&lt;p&gt;As a general guideline, we recommend that you avoid using the item number for any purposes that are related to intercompany trade. Instead, aim to use the product number for any data consolidation across multiple legal entities.&lt;/p&gt;
&lt;p&gt;&lt;i&gt;Please note that in previous versions of Dynamics AX, the system uses the item number as the main reference for entry of orders such as sales orders and production orders. The system also uses the item number to identify inventory transactions. This is unchanged in Dynamics AX 2012.&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://dk.linkedin.com/in/ievgeniikorovin"&gt;Ievgenii Korovin&lt;/a&gt; and Dynamics AX SCM Team&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10267210" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/Microsoft+Dynamics+AX+2012/">Microsoft Dynamics AX 2012</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/What_2700_s+new+in+Dynamics+Ax+2012/">What's new in Dynamics Ax 2012</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/Product+information+management/">Product information management</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/Intercompany/">Intercompany</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/Product+Number/">Product Number</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/Item+Number/">Item Number</category></item><item><title>Dynamics AX 2009 Cost Accounting White papers</title><link>http://blogs.msdn.com/b/dynamicsaxscm/archive/2011/12/02/dynamics-ax-2009-cost-accounting-white-papers.aspx</link><pubDate>Fri, 02 Dec 2011 13:09:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10243714</guid><dc:creator>Ievgenii Korovin</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/dynamicsaxscm/rsscomments.aspx?WeblogPostID=10243714</wfw:commentRss><comments>http://blogs.msdn.com/b/dynamicsaxscm/archive/2011/12/02/dynamics-ax-2009-cost-accounting-white-papers.aspx#comments</comments><description>&lt;p&gt;If you are looking for information about inventory close and reconciliation, please check out &lt;a href="http://blogs.msdn.com/b/axsupport/archive/2011/11/21/dynamics-ax-2009-cost-accounting-white-papers.aspx"&gt;Tracy Taylor&amp;rsquo;s post on the AX Support blog&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Enjoy!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10243714" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/Inventory+Reconciliation+and+Reporting/">Inventory Reconciliation and Reporting</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/Cost+Accounting/">Cost Accounting</category></item><item><title>Use of One Pallet for Shipping and for Receipt</title><link>http://blogs.msdn.com/b/dynamicsaxscm/archive/2011/09/02/use-of-one-pallet-for-shipping-and-for-receipt.aspx</link><pubDate>Fri, 02 Sep 2011 10:19:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10204999</guid><dc:creator>Ievgenii Korovin</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/dynamicsaxscm/rsscomments.aspx?WeblogPostID=10204999</wfw:commentRss><comments>http://blogs.msdn.com/b/dynamicsaxscm/archive/2011/09/02/use-of-one-pallet-for-shipping-and-for-receipt.aspx#comments</comments><description>&lt;p&gt;By using the Item arrival journal in the Inventory and warehouse management module in AX2012 you can ship and receive a transfer order using the same pallet.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/2234.image_5F00_3DF7520A.png"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/8562.image_5F00_thumb_5F00_3A29876D.png" width="867" height="407" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In addition to the normal criteria that are used to validate pallet moves, the use of one pallet requires that the pallet is empty. If the pallet is used for receipt, it is automatically moved to the receipt location when the journal is posted.&lt;/p&gt;
&lt;p&gt;The validation of the pallet move is implemented in the class WMSPalletMoveValidator.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;By Lennart Conrad, Per Lykke Lynnerup and Bibi Christensen&lt;/b&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10204999" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/Warehouse+Management/">Warehouse Management</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/WMS/">WMS</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/pallet/">pallet</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/Item+arrival+journal/">Item arrival journal</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/Transfer+orders/">Transfer orders</category></item><item><title>Visualizing Security in Microsoft Dynamics AX 2012</title><link>http://blogs.msdn.com/b/dynamicsaxscm/archive/2011/08/26/visualizing-security-in-microsoft-dynamics-ax-2012.aspx</link><pubDate>Fri, 26 Aug 2011 09:43:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10200722</guid><dc:creator>Ievgenii Korovin</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/dynamicsaxscm/rsscomments.aspx?WeblogPostID=10200722</wfw:commentRss><comments>http://blogs.msdn.com/b/dynamicsaxscm/archive/2011/08/26/visualizing-security-in-microsoft-dynamics-ax-2012.aspx#comments</comments><description>&lt;h3&gt;Introduction&lt;/h3&gt;
&lt;p&gt;Microsoft Dynamics AX 2012 introduces role-based security, which makes security easier to manage. Relations between security roles, duties and privileges are complex. However, you can apply a tool to represent these relations in a grid.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/8424.image_5F00_460BAB2F.png"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/8037.image_5F00_thumb_5F00_0E75EA41.png" width="981" height="631" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/6864.image_5F00_5E8B22B2.png"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/5710.image_5F00_thumb_5F00_6E4AB7B6.png" width="1000" height="153" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;This document describes another way to represent security objects and the relations between these objects.&lt;/p&gt;
&lt;p&gt;DGML is an XML based file format for directed graphs. For example, this is the graph:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/2158.image_5F00_2BF79F73.png"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/0005.image_5F00_thumb_5F00_6A10BA24.png" width="1006" height="392" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;hellip;and this is the DGML file behind it:&lt;/p&gt;
&lt;div style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; width: 97.5%; font-family: 'Courier New', courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; cursor: text; border: silver 1px solid; padding: 4px;" id="codeSnippetWrapper"&gt;
&lt;div style="text-align: left; line-height: 12pt; background-color: #f4f4f4; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;" id="codeSnippet"&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;?&lt;/span&gt;&lt;span style="color: #800000;"&gt;xml&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;version&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="1.0"&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;encoding&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="utf-8"&lt;/span&gt;?&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;DirectedGraph&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;GraphDirection&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="LeftToRight"&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;Layout&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="Sugiyama"&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;xmlns&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="http://schemas.microsoft.com/vs/2009/dgml"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;Nodes&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;    &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;Node&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;Id&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="Duty D"&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;Area&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="X"&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;Type&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="SecDuty"&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;    &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;Node&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;Id&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="Duty E"&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;Area&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="Y"&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;Type&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="SecDuty"&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;    &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;Node&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;Id&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="Privilege F"&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;Area&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="X"&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;Type&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="SecPrivilege"&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;    &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;Node&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;Id&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="Privilege G"&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;Area&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="Y"&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;Type&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="SecPrivilege"&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;    &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;Node&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;Id&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="Privilege H"&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;Area&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="Z"&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;Type&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="SecPrivilege"&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;    &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;Node&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;Id&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="Role A"&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;Area&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="X"&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;Type&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="SecRole"&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;    &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;Node&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;Id&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="Role B"&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;Area&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="X"&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;Type&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="SecRole"&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;    &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;Node&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;Id&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="Role C"&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;Area&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="Y"&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;Type&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="SecRole"&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;Nodes&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt; &lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;Links&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;    &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;Link&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;Source&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="Duty D"&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;Target&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="Privilege F"&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;    &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;Link&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;Source&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="Duty D"&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;Target&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="Privilege G"&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;    &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;Link&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;Source&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="Duty D"&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;Target&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="Privilege H"&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;    &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;Link&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;Source&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="Duty E"&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;Target&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="Privilege F"&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;    &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;Link&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;Source&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="Duty E"&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;Target&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="Privilege G"&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;    &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;Link&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;Source&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="Role A"&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;Target&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="Role B"&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;    &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;Link&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;Source&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="Role B"&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;Target&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="Duty D"&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;    &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;Link&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;Source&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="Role B"&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;Target&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="Duty E"&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;    &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;Link&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;Source&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="Role C"&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;Target&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="Duty D"&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;    &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;Link&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;Source&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="Role C"&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;Target&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="Duty E"&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;Links&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt; &lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;Properties&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;    &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;Property&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;Id&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="Area"&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;DataType&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="System.String"&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;    &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;Property&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;Id&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="GraphDirection"&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;DataType&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="Microsoft.VisualStudio.Progression.Layout.GraphDirection"&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;    &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;Property&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;Id&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="Layout"&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;DataType&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="System.String"&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;    &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;Property&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;Id&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="Type"&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;DataType&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="System.String"&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;Properties&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt; &lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;Styles&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;    &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;Style&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;TargetType&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="Node"&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;GroupLabel&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="Type"&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;ValueLabel&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="SecPrivilege"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;        &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;Condition&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;Expression&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="Type = 'SecPrivilege'"&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;        &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;Setter&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;Property&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="Icon"&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;Value&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="pack://application:,,,/Microsoft.VisualStudio.Progression.GraphControl;component/Icons/Key.png"&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;    &lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;Style&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;    &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;Style&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;TargetType&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="Node"&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;GroupLabel&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="Type"&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;ValueLabel&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="SecRole"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;        &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;Condition&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;Expression&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="Type = 'SecRole'"&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;        &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;Setter&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;Property&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="Icon"&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;Value&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="pack://application:,,,/Microsoft.VisualStudio.Progression.GraphControl;component/Icons/Users.png"&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;    &lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;Style&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;    &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;Style&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;TargetType&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="Node"&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;GroupLabel&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="Type"&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;ValueLabel&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="SecDuty"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;        &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;Condition&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;Expression&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="Type = 'SecDuty'"&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;        &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;Setter&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;Property&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="Icon"&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;Value&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="pack://application:,,,/Microsoft.VisualStudio.Progression.GraphControl;component/Icons/kpi_green_sym2_large.png"&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;    &lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;Style&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;    &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;Style&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;TargetType&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="Node"&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;GroupLabel&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="Type"&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;ValueLabel&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="SecProcessCycle"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;        &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;Condition&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;Expression&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="Type = 'SecProcessCycle'"&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;        &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;Setter&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;Property&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="Icon"&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;Value&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="pack://application:,,,/Microsoft.VisualStudio.Progression.GraphControl;component/Icons/Gears.png"&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;    &lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;Style&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;Styles&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;DirectedGraph&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;The DGML format is supported in Visual Studio 2010 Ultimate&lt;b&gt; &lt;/b&gt;and&lt;b&gt; &lt;/b&gt;Premium and in some other third party tools as well. In this document, Visual Studio is used:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/3323.image_5F00_27BDA1E1.png"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/3247.image_5F00_thumb_5F00_538DF5D0.png" width="972" height="488" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In Visual Studio 2010, there is &lt;i&gt;Directed Graph&lt;/i&gt; toolbar and a &lt;i&gt;Legend&lt;/i&gt; window that allow you to change the appearance of the graph. For example, this is one graph, rendered in different ways:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/6371.image_5F00_3808F3CD.png"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/2555.image_5F00_thumb_5F00_35EBF504.png" width="997" height="599" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;There is a context menu, which provides even more options, such as Advanced selection. For example, you can also:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;select all nodes with a specific property value&lt;/li&gt;
&lt;li&gt;group nodes&lt;/li&gt;
&lt;li&gt;hide the nodes in order to simplify the graph&lt;/li&gt;
&lt;li&gt;select all incoming and/or outgoing connections for the currently selected nodes&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;i&gt;Before reading any further, we recommend that you watch &lt;/i&gt;&lt;a href="http://www.lovettsoftware.com/videos/GraphDocuments.wmv"&gt;&lt;i&gt;this&lt;/i&gt;&lt;/a&gt;&lt;i&gt; 10 minute video for a brief introduction. We also recommend &lt;/i&gt;&lt;a href="http://www.lovettsoftware.com/videos/largegraphs.mp4"&gt;&lt;i&gt;this&lt;/i&gt;&lt;/a&gt;&lt;i&gt; video which is dedicated to large graphs.&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h3&gt;Generating graphs&lt;/h3&gt;
&lt;p&gt;First of all, import the attached XPO file to Microsoft Dynamics AX 2012.&lt;/p&gt;
&lt;p&gt;There are 4 classes in the &lt;i&gt;SecurityToDGML&lt;/i&gt; private project. &lt;i&gt;SysDgmlFromSecurity&lt;/i&gt; is the main class, which should be run in order to generate the DGML file. The &lt;i&gt;SysDgmlGraph&lt;/i&gt;, &lt;i&gt;SysDgmlNode&lt;/i&gt; and &lt;i&gt;SysDgmlLink &lt;/i&gt;classes encapsulate graph construction logic.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;i&gt;Note&lt;/i&gt;&lt;/b&gt;&lt;i&gt;: Eventually, you may want to customize the solution by adding more attributes to the nodes and links. For example, objects with a particular prefix may require an additional attribute to make it easier to select them when manipulating the graph.&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;When you have imported the XPO to AX, run the &lt;b&gt;SysDgmlFromSecurity&lt;/b&gt; class. In the dialog, verify the output file name, and then click OK. After several minutes, the file is generated and it opens in Visual Studio (or in the tool that you have assigned to open DGML-files).&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Important&lt;/b&gt;: The graph is comprehensive so every little change, such as adding a property to the Legend or switching the rendering mode from Left to right to Quick clusters, will take 10 to 20 seconds or more to complete. So avoid any unnecessary clicks on the workspace. The idea is to hide as many nodes as possible and still be able to explore the nodes and relations that you want to focus on. The fewer nodes on the visible graph, the faster it is rendered.&lt;/p&gt;
&lt;h3&gt;Working with graphs&lt;/h3&gt;
&lt;h4&gt;Scenario 1: Find out what external* roles have access to duties and privileges in your area (in this example, Inventory)&lt;/h4&gt;
&lt;p&gt;*External roles: In this example, roles from areas other than Inventory, such as Manufacturing. There is some logic in the SysDgmlGraph class that tries to determine the owner team of the object and add an Area attribute to the corresponding graph node. The owner team is determined based on a prefix and/or a suffix of the object name. This is where you may need customization. You can find a sample Excel sheet attached to the &lt;a href="http://blogs.msdn.com/b/mfp/archive/2006/10/06/aot-metrices.aspx"&gt;this&lt;/a&gt; post.&lt;/p&gt;
&lt;p&gt;1. Open the DGML-file.&lt;/p&gt;
&lt;p&gt;At first, the graph looks like a vertical stripe in the middle of the workspace: &lt;br /&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/0488.image_5F00_7398DCC0.png"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/4214.image_5F00_thumb_5F00_765E91B3.png" width="913" height="504" /&gt;&lt;/a&gt; &lt;br /&gt;This is because there are too many nodes (while this is being written, about 6000 nodes and 10000 relations).&lt;/p&gt;
&lt;p&gt;2. Right-click to select a little area on the stripe. &lt;br /&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/6787.image_5F00_74ADC5DF.png"&gt;&lt;img style="background-image: none; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/2664.image_5F00_thumb_5F00_7A886978.png" width="218" height="244" /&gt;&lt;/a&gt; &lt;br /&gt;When you release the button, this part of the graph is zoomed in.&lt;/p&gt;
&lt;p&gt;3. Repeat zooming until you see something like the following: &lt;br /&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/7357.image_5F00_2E505FCA.png"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/3225.image_5F00_thumb_5F00_7B50A995.png" width="912" height="507" /&gt;&lt;/a&gt; &lt;br /&gt;You can see 3 columns of nodes, left to right: roles, duties, and then privileges. There are too many visible relations, so some have to be hidden.&lt;/p&gt;
&lt;p&gt;4. Right-click anywhere on the workspace and select Show Advanced Selection in the menu. &lt;br /&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/1588.clip_5F00_image020_5F00_0AA40BA5.png"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="clip_image020" border="0" alt="clip_image020" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/0488.clip_5F00_image020_5F00_thumb_5F00_3E6C01F6.png" width="700" height="288" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;A new window will appear on the right side of the workspace: &lt;br /&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/2555.clip_5F00_image021_5F00_5B91AA00.png"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="clip_image021" border="0" alt="clip_image021" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/6765.clip_5F00_image021_5F00_thumb_5F00_2618E7DB.png" width="292" height="252" /&gt;&lt;/a&gt; &lt;br /&gt;Area, Type and AOT name are properties of the nodes.&lt;/p&gt;
&lt;p&gt;5. Select the nodes that belong to Inventory. &lt;br /&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/0005.clip_5F00_image022_5F00_00AEF46D.png"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="clip_image022" border="0" alt="clip_image022" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/7838.clip_5F00_image022_5F00_thumb_5F00_6B513F04.png" width="378" height="262" /&gt;&lt;/a&gt; &lt;br /&gt;You will notice that some relations and nodes are selected now: &lt;br /&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/3730.image_5F00_30F5C923.png"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/6765.image_5F00_thumb_5F00_6F0EE3D4.png" width="403" height="215" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;6. Click the I button three times to select &lt;b&gt;&lt;span style="text-decoration: underline;"&gt;i&lt;/span&gt;&lt;/b&gt;ncoming connections. &lt;br /&gt;With three clicks you can select a chain of Inventory privileges: For example, a non-Inventory role can have a non-Inventory sub-role which can have a non-Inventory duty which can provide access to the Inventory privileges. By clicking once on the I button you select the duty, with two clicks you also select the sub-role, and with three clicks the whole chain is selected.&lt;/p&gt;
&lt;p&gt;At this point, you see all Inventory nodes and all the external nodes that relate to these nodes.&lt;/p&gt;
&lt;p&gt;7. Right-click&lt;b&gt; &lt;/b&gt;on any of the&lt;b&gt; &lt;/b&gt;selected&lt;b&gt; &lt;/b&gt;nodes, and click Selection &amp;gt; Hide unselected in order to hide nodes. &lt;br /&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/8015.image_5F00_0659E846.png"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/5282.image_5F00_thumb_5F00_4406D002.png" width="768" height="545" /&gt;&lt;/a&gt; &lt;br /&gt;The graph becomes much smaller and all remaining nodes remain selected: &lt;br /&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/0488.clip_5F00_image028_5F00_27A96815.jpg"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="clip_image028" border="0" alt="clip_image028" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/8831.clip_5F00_image028_5F00_thumb_5F00_5B715E66.jpg" width="313" height="363" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;8. Click anywhere on the workspace to clear the selection of the nodes. The Selection window looks as follows: &lt;br /&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/3618.clip_5F00_image029_5F00_3A11B8CA.png"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="clip_image029" border="0" alt="clip_image029" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/2543.clip_5F00_image029_5F00_thumb_5F00_39A585D5.png" width="297" height="255" /&gt;&lt;/a&gt; &lt;br /&gt;Note the 600 nodes compared to the 6000 nodes on the original graph.&lt;/p&gt;
&lt;p&gt;9. Select all areas in the Selection window except for Inventory to view only the Inventory nodes that are used by external roles and duties. &lt;br /&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/3225.clip_5F00_image030_5F00_3C6B3AC8.png"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="clip_image030" border="0" alt="clip_image030" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/2158.clip_5F00_image030_5F00_thumb_5F00_69EC5A8B.png" width="333" height="256" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;10. Click the O button three times like you did with the I button in order to select all outgoing connections for the selected (=non-Inventory) nodes.&lt;/p&gt;
&lt;p&gt;11. Right-click any of the selected nodes and select Selection &amp;gt; Hide unselected.&lt;/p&gt;
&lt;p&gt;12. Click anywhere in the workspace to clear the selection of the nodes. This way you reduce the number of nodes in the graph to about 300.&lt;/p&gt;
&lt;p&gt;13. Select Zoom to fit in the toolbar to see the following: &lt;br /&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/0676.image_5F00_2F90E4AA.png"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/4705.image_5F00_thumb_5F00_34FF554E.png" width="69" height="546" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The final graph is not very large. The only thing missing is the set of highlighted external duties and roles.&lt;/p&gt;
&lt;p&gt;14. In the Legend window, click the Add button and then select Node Property &amp;gt; Area. &lt;br /&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/8510.image_5F00_37C50A41.png"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/0005.image_5F00_thumb_5F00_5C09EEC3.png" width="582" height="418" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;15. Click on the new Area stripe and then select Background. &lt;br /&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/3632.image_5F00_59ECEFFA.png"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/3730.image_5F00_thumb_5F00_5F5B609E.png" width="458" height="301" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;16. In the Color Set Picker window, click the button at the top and then select one of the predefined color sets. &lt;br /&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/7838.image_5F00_76A6650F.png"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/4212.image_5F00_thumb_5F00_74896646.png" width="569" height="221" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;17. Change the color for Inventory to White to leave only nodes from other areas highlighted. &lt;br /&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/5775.image_5F00_20C5ED2B.png"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/7345.image_5F00_thumb_5F00_78B33E0B.png" width="572" height="63" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;18. Click OK. &lt;br /&gt;This is the final graph: &lt;br /&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/2543.image_5F00_70BB9BA9.png"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/0576.image_5F00_thumb_5F00_560EFF90.png" width="51" height="496" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;19. Select one of the external nodes, such as Maintain BOM master, in order to zoom in and check the external nodes for eligibility to use Inventory privileges. &lt;br /&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/4380.image_5F00_6DC636F6.png"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/6765.image_5F00_thumb_5F00_44DB21ED.png" width="1010" height="113" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;20. Turn on the Butterfly mode. &lt;br /&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/2727.image_5F00_7117A8D1.png"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/7024.image_5F00_thumb_5F00_4FB80335.png" width="343" height="106" /&gt;&lt;/a&gt; &lt;br /&gt;The graph now looks as follows: &lt;br /&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/6036.image_5F00_5592A6CE.png"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/5873.image_5F00_thumb_5F00_4205472D.png" width="977" height="474" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The product designer has access to 4 Inventory privileges. If something is wrong here, we have an issue.&lt;/p&gt;
&lt;p&gt;21. Turn off the Butterfly mode and proceed to the next non-Inventory node. Repeat until you are finished.&lt;/p&gt;
&lt;h4&gt;Scenario 2: Do the opposite of the first scenario to figure out what external privileges and duties are used by roles in your area&lt;/h4&gt;
&lt;p&gt;This scenario is similar to the first scenario except for the fact that you should use the I and the O buttons in the reverse order.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Note:&lt;/b&gt; If objects are marked with wrong areas, you must update the prefixes in the ownership Excel sheet and generate the DGML file again.&lt;/p&gt;
&lt;p&gt;Further information about Security can be found on &lt;a href="http://technet.microsoft.com/en-us/library/aa834424.aspx"&gt;MSDN&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;By Sasha Nazarov, SCM, Microsoft Dynamics AX&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/1817.SashaNazarov_5F00_18948179.jpg"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="SashaNazarov" border="0" alt="SashaNazarov" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/3580.SashaNazarov_5F00_thumb_5F00_09E9D594.jpg" width="100" height="132" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10200722" width="1" height="1"&gt;</description><enclosure url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-components-postattachments/00-10-20-07-22/SecurityToDGML.xpo" length="25479" type="application/octet-stream" /><itunes:author>Ievgenii Korovin</itunes:author><itunes:subtitle>Visualizing Security in Microsoft Dynamics AX 2012</itunes:subtitle><itunes:keywords>Microsoft Dynamics AX 2012,What's new in Dynamics Ax 2012,duties,privileges,Security,Role-based security,security roles</itunes:keywords><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/Microsoft+Dynamics+AX+2012/">Microsoft Dynamics AX 2012</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/What_2700_s+new+in+Dynamics+Ax+2012/">What's new in Dynamics Ax 2012</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/duties/">duties</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/privileges/">privileges</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/Security/">Security</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/Role_2D00_based+security/">Role-based security</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/security+roles/">security roles</category></item><item><title>Microsoft Dynamics AX 2012: Where is the Shop floor control module?</title><link>http://blogs.msdn.com/b/dynamicsaxscm/archive/2011/07/29/microsoft-dynamics-ax-2012-where-is-shop-floor-control-module.aspx</link><pubDate>Fri, 29 Jul 2011 21:36:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10191250</guid><dc:creator>Ievgenii Korovin</dc:creator><slash:comments>3</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/dynamicsaxscm/rsscomments.aspx?WeblogPostID=10191250</wfw:commentRss><comments>http://blogs.msdn.com/b/dynamicsaxscm/archive/2011/07/29/microsoft-dynamics-ax-2012-where-is-shop-floor-control-module.aspx#comments</comments><description>&lt;h4&gt;Introduction&lt;/h4&gt;
&lt;p&gt;Those of you who know the Shop floor control module in Dynamics AX 2009 will notice that it is not a separate module in Dynamics AX 2012. This post gives you a quick overview of how to access the Shop floor control functionality in Dynamics AX 2012.&lt;/p&gt;
&lt;h4&gt;Time attendance and Manufacturing execution&lt;/h4&gt;
&lt;p&gt;The Shop floor control module has been divided into two feature sets:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Time and attendance&lt;/b&gt; contains functionality to register work time and attendance such as clock-in and clock-out, indirect activities, absences, breaks, overtime, and flextime. It also includes features to generate payroll information that can be used in a payroll system.&lt;b&gt;&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Manufacturing execution&lt;/b&gt; allows you to register time and item consumption for a specific production job or project, provide job feedback, do job scheduling and prioritization, etc.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The division of the time and attendance and the job registration functionality provides more flexibility. The licenses for the two feature areas are separate and more users and more industries can now benefit from the functionality that is relevant for their work areas.&lt;/p&gt;
&lt;p&gt;The &lt;b&gt;Time and attendance&lt;/b&gt; features are moved to the &lt;b&gt;Human resources&lt;/b&gt; module and the features can be accessed through the &lt;b&gt;Human resources&lt;/b&gt; area page. The related menu items are located in &lt;b&gt;Time and attendance&lt;/b&gt; groups under &lt;b&gt;Common&lt;/b&gt;, &lt;b&gt;Reports&lt;/b&gt;, &lt;b&gt;Inquiries&lt;/b&gt;, &lt;b&gt;Periodic&lt;/b&gt; and &lt;b&gt;Setup&lt;/b&gt;. There is also a &lt;b&gt;Time registration workers&lt;/b&gt; list page menu item under the &lt;b&gt;Workers&lt;/b&gt; group in the &lt;b&gt;Common&lt;/b&gt; area.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/1462.image_5F00_7.png"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/3531.image_5F00_thumb_5F00_2.png" width="875" height="1052" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The features to clock-in and clock-out and to register time with an electronic timecard are available on the &lt;b&gt;Home&lt;/b&gt; area page in the &lt;b&gt;Time and attendance &lt;/b&gt;group under &lt;b&gt;Common&lt;/b&gt;. These tasks can be performed by any employee and this is the reason why the features are not located in the &lt;b&gt;Human resources &lt;/b&gt;or &lt;b&gt;Production control &lt;/b&gt;areas.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/0407.image_5F00_11.png"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/6278.image_5F00_thumb_5F00_4.png" width="875" height="886" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The menu items for &lt;strong&gt;Manufacturing execution&lt;/strong&gt; are located on the &lt;strong&gt;Production control&lt;/strong&gt; area page in the &lt;strong&gt;Manufacturing&lt;/strong&gt; &lt;strong&gt;execution&lt;/strong&gt; groups under &lt;strong&gt;Common&lt;/strong&gt;, &lt;strong&gt;Periodic&lt;/strong&gt; and &lt;strong&gt;Setup&lt;/strong&gt; and in the &lt;strong&gt;Registration&lt;/strong&gt; group under &lt;strong&gt;Inquiries&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/1805.image_5F00_15.png"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/3542.image_5F00_thumb_5F00_6.png" width="875" height="959" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;We hope this short post was useful for you. Further information about Manufacturing execution can be found on &lt;a href="http://technet.microsoft.com/en-us/library/hh208462.aspx"&gt;MSDN&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;By Slava Chernenko, SCM, Microsoft Dynamics AX&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/8838.image_5F00_19.png"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/6278.image_5F00_thumb_5F00_8.png" width="120" height="117" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h4&gt;Disclaimer&lt;/h4&gt;
&lt;h4&gt;&lt;b&gt;All the information about AX 2012 posted here is a pre-release. Any feature is a subject to be changed before the release without notice. &lt;br /&gt;This disclaimer is applicable to all posts about AX 2012 in this blog.&lt;/b&gt;&lt;/h4&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10191250" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/Supply+Chain+Management/">Supply Chain Management</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/FAQ+on+Dynamics+AX/">FAQ on Dynamics AX</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/Microsoft+Dynamics+AX+2012/">Microsoft Dynamics AX 2012</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/What_2700_s+new+in+Dynamics+Ax+2012/">What's new in Dynamics Ax 2012</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/Manufacturing+execution/">Manufacturing execution</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/Time+and+attendance/">Time and attendance</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/Shop+Floor+Control/">Shop Floor Control</category></item><item><title>Product-item data management services</title><link>http://blogs.msdn.com/b/dynamicsaxscm/archive/2011/07/06/product-item-data-management-services.aspx</link><pubDate>Wed, 06 Jul 2011 09:05:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10183494</guid><dc:creator>Ievgenii Korovin</dc:creator><slash:comments>10</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/dynamicsaxscm/rsscomments.aspx?WeblogPostID=10183494</wfw:commentRss><comments>http://blogs.msdn.com/b/dynamicsaxscm/archive/2011/07/06/product-item-data-management-services.aspx#comments</comments><description>&lt;h4&gt;Introduction&lt;/h4&gt;
&lt;p&gt;In this blog entry we will provide guidelines for the use of new and modified product-item data management services.&lt;/p&gt;
&lt;h4&gt;Product-item data management services&lt;/h4&gt;
&lt;p&gt;The following services have been created or modified in order to enable manipulation of product-item data. These services are AIF document services so they follow all the conventions applicable to the AIF document services:&lt;/p&gt;
&lt;table border="1" cellspacing="0" cellpadding="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td valign="top" width="319"&gt;
&lt;p&gt;Service&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="319"&gt;
&lt;p&gt;Purpose&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="319"&gt;
&lt;p&gt;EcoResProductService&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="319"&gt;
&lt;p&gt;Create products (all three types). The service can also be used to retrieve data that has already been created.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="319"&gt;
&lt;p&gt;EcoResProductMasterDimValueService&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="319"&gt;
&lt;p&gt;Specify values of product dimensions for a product master. These values become available for the creation of product variants. The service can also be used to retrieve data that has already been created.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="319"&gt;
&lt;p&gt;ItemService&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="319"&gt;
&lt;p&gt;Release distinct products and product masters. The service can also be used to retrieve data that has already been created.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="319"&gt;
&lt;p&gt;InventDimCombinationService&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="319"&gt;
&lt;p&gt;Release product variants. The service can also be used to retrieve data that has already been created.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h4&gt;&amp;nbsp;Setup of product services&lt;/h4&gt;
&lt;p&gt;Product-item services must be enabled on an AIF inbound port before they can be used. All services can be enabled on one port or several ports can be used.&lt;/p&gt;
&lt;p&gt;An inbound port can be created in the Inbound ports form (&lt;strong&gt;System administration &amp;gt; Setup &amp;gt; Services and Application Integration Framework &amp;gt; Inbound ports&lt;/strong&gt;). This article illustrates the creation of two ports:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;A port that uses a NetTcp adapter&lt;/li&gt;
&lt;li&gt;A port that uses a File system adapter.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;A port that uses a NetTcp adapter can be used to access services programmatically; for example, from a C# application. A port that uses a File system adapter can be used when input data is in the format of an XML document. The following guidelines are based on the use of a default configuration of ports. Advanced configuration of ports is beyond the scope of this article.&lt;/p&gt;
&lt;h4&gt;Create a port that uses a NetTcp adapter&lt;/h4&gt;
&lt;p&gt;1. For a new port, specify name and adapter:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/7612.image_5F00_5A58551C.png"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/1832.image_5F00_thumb_5F00_0162EE92.png" width="823" height="498" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;2. Click the &lt;b&gt;Service operations&lt;/b&gt; button to specify the service operations that are going to be available on the port:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/0358.image_5F00_253BA01F.png"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/4162.image_5F00_thumb_5F00_43A5E108.png" width="757" height="85" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;3. In the &lt;b&gt;Select service operations&lt;/b&gt; form, select all the product-item service operations:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/8306.image_5F00_621021F1.png"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/2352.image_5F00_thumb_5F00_30748E8F.png" width="875" height="664" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;4. Click the &lt;b&gt;Activate&lt;/b&gt; button in the action pane strip to activate the port.&lt;/p&gt;
&lt;p&gt;When the port has been activated, a control appears which displays the URI of a WSDL document for the service. This value can then be used for adding a service reference in Visual Studio.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/2450.image_5F00_7C303F7B.png"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/0702.image_5F00_thumb_5F00_1236AB0E.png" width="728" height="46" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h4&gt;Create a port that uses File system adapter&lt;/h4&gt;
&lt;p&gt;1. Specify a port name, and from the list of adapters, select File system adapter:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/5008.image_5F00_70D70571.png"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/4527.image_5F00_thumb_5F00_0624950D.png" width="953" height="478" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;2. In the &lt;b&gt;URI&lt;/b&gt; field, specify a path to a folder for incoming XML documents that are to be picked up by the service:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/5584.image_5F00_62E473DC.png"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/7266.image_5F00_thumb_5F00_5CBD2741.png" width="784" height="153" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;3. Follow the guidelines in the previous procedure to specify the service operations that are going to be available on the port.&lt;/p&gt;
&lt;p&gt;4. Click the&lt;b&gt; Activate&lt;/b&gt; button in the action pane strip to activate the port.&lt;/p&gt;
&lt;p&gt;Now you have two ports with product-item service operations available. Use the following guidelines to create and retrieve data.&lt;/p&gt;
&lt;h4&gt;Set up Visual Studio&lt;/h4&gt;
&lt;p&gt;In this article a C# console application project in Visual Studio is used. The only thing that is required here is to create a project and add a service reference for the services:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/2783.image_5F00_25FFCC3D.png"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/4442.image_5F00_thumb_5F00_20ED68C1.png" width="785" height="639" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h4&gt;Create products&lt;/h4&gt;
&lt;p&gt;All types of products are created by using the EcoResProductService service. However, the methods to create a distinct product, a product master, and a product variant are different so each method is described separately.&lt;/p&gt;
&lt;h4&gt;Create a distinct product&lt;/h4&gt;
&lt;p&gt;To create a distinct product, use the EcoResProductService.create operation. First, create a product using C# code, and then create an XML document with data to create a product.&lt;/p&gt;
&lt;p&gt;The following code creates a distinct product in Dynamics AX:&lt;/p&gt;
&lt;div style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; width: 97.5%; font-family: 'Courier New', courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; cursor: text; border: silver 1px solid; padding: 4px;" id="codeSnippetWrapper"&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;" id="codeSnippet"&gt;&lt;span style="color: #0000ff;"&gt;static&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;void&lt;/span&gt; createDistinctProduct()&lt;br /&gt;{&lt;br /&gt;    AxdEntity_Product_EcoResDistinctProduct distinctProduct = &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; AxdEntity_Product_EcoResDistinctProduct()&lt;br /&gt;    {&lt;br /&gt;        DisplayProductNumber = &lt;span style="color: #006080;"&gt;"Bulb60W"&lt;/span&gt;,&lt;br /&gt;        ProductType = AxdEnum_EcoResProductType.Item,&lt;br /&gt;        SearchName = &lt;span style="color: #006080;"&gt;"Bulb60W"&lt;/span&gt;&lt;br /&gt;    };&lt;br /&gt;    distinctProduct.Translation = &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; AxdEntity_Translation[1];&lt;br /&gt;    distinctProduct.Translation[0] = &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; AxdEntity_Translation()&lt;br /&gt;    {&lt;br /&gt;        LanguageId = &lt;span style="color: #006080;"&gt;"en-us"&lt;/span&gt;, Name = &lt;span style="color: #006080;"&gt;"Transparent Bulb 60W"&lt;/span&gt;&lt;br /&gt;    };&lt;br /&gt;    distinctProduct.Identifier = &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; AxdEntity_Identifier[1];&lt;br /&gt;    distinctProduct.Identifier[0] = &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; AxdEntity_Identifier()&lt;br /&gt;    {&lt;br /&gt;        ProductNumber = &lt;span style="color: #006080;"&gt;"Bulb60W"&lt;/span&gt;&lt;br /&gt;    };&lt;br /&gt;    distinctProduct.StorageDimGroup = &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; AxdEntity_StorageDimGroup[1];&lt;br /&gt;    distinctProduct.StorageDimGroup[0] = &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; AxdEntity_StorageDimGroup()&lt;br /&gt;    {&lt;br /&gt;        Product = &lt;span style="color: #006080;"&gt;"Bulb60W"&lt;/span&gt;, StorageDimensionGroup = &lt;span style="color: #006080;"&gt;"Std-Dim"&lt;/span&gt;&lt;br /&gt;    };&lt;br /&gt;    distinctProduct.TrackingDimGroup = &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; AxdEntity_TrackingDimGroup[1];&lt;br /&gt;    distinctProduct.TrackingDimGroup[0] = &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; AxdEntity_TrackingDimGroup()&lt;br /&gt;    {&lt;br /&gt;        Product = &lt;span style="color: #006080;"&gt;"Bulb60W"&lt;/span&gt;, TrackingDimensionGroup = &lt;span style="color: #006080;"&gt;"Std-Dim"&lt;/span&gt;&lt;br /&gt;    };&lt;br /&gt;&lt;br /&gt;    AxdEcoResProduct axdProduct = &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; AxdEcoResProduct()&lt;br /&gt;    {&lt;br /&gt;        Product = &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; AxdEntity_Product_EcoResProduct[1] { distinctProduct }&lt;br /&gt;    };&lt;br /&gt;&lt;br /&gt;    CallContext ctx = &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; CallContext();&lt;br /&gt;    EcoResProductServiceClient service = &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; EcoResProductServiceClient();&lt;br /&gt;    &lt;span style="color: #0000ff;"&gt;try&lt;/span&gt;&lt;br /&gt;    {&lt;br /&gt;        service.create(ctx, axdProduct);&lt;br /&gt;    }&lt;br /&gt;    &lt;span style="color: #0000ff;"&gt;catch&lt;/span&gt; (Exception e)&lt;br /&gt;    {&lt;br /&gt;        System.Console.WriteLine(e.Message);&lt;br /&gt;        System.Console.ReadKey();&lt;br /&gt;    }&lt;br /&gt;}&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;As it appears, the create operation accepts an array of products so it is possible to create multiple products in one call to the service.&lt;/p&gt;
&lt;p&gt;The following XML code creates a distinct product. Note that storage and tracking dimension groups are specified. The storage and tracking dimension groups are not mandatory information to create a product so the C# code for the creation of a distinct product does not create these groups.&lt;/p&gt;
&lt;div style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; width: 97.5%; font-family: 'Courier New', courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; cursor: text; border: silver 1px solid; padding: 4px;" id="codeSnippetWrapper"&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;" id="codeSnippet"&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;?&lt;/span&gt;&lt;span style="color: #800000;"&gt;xml&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;version&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="1.0"&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;encoding&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="UTF-8"&lt;/span&gt;?&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;Envelope&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;xmlns&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="http://schemas.microsoft.com/dynamics/2011/01/documents/Message"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;  &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;Header&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;Company&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;DMO&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;Company&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;Action&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;http://schemas.microsoft.com/dynamics/2008/01/services/EcoResProductService/create&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;Action&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;  &lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;Header&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;  &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;Body&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;MessageParts&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;xmlns&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="http://schemas.microsoft.com/dynamics/2011/01/documents/Message"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;      &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;EcoResProduct&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;xmlns&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="http://schemas.microsoft.com/dynamics/2008/01/documents/EcoResProduct"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;Product&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;xmlns:xsi&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="http://www.w3.org/2001/XMLSchema-instance"&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;class&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="entity"&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;xsi:type&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="AxdEntity_Product_EcoResDistinctProduct"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;          &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;DisplayProductNumber&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;Bulb40W&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;DisplayProductNumber&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;          &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;SearchName&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;Bulb40W&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;SearchName&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;          &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;ProductType&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;Item&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;ProductType&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;          &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;Translation&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;class&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="entity"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;            &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;LanguageId&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;en-us&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;LanguageId&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;            &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;Name&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;Transparent Bulb 40W&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;Name&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;          &lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;Translation&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;          &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;StorageDimGroup&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;class&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="entity"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;            &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;Product&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;Bulb40W&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;Product&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;            &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;StorageDimensionGroup&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;Std-Dim&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;StorageDimensionGroup&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;          &lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;StorageDimGroup&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;          &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;TrackingDimGroup&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;class&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="entity"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;            &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;Product&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;Bulb40W&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;Product&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;            &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;TrackingDimensionGroup&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;Std-Dim&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;TrackingDimensionGroup&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;          &lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;TrackingDimGroup&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;          &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;Identifier&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;class&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="entity"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;            &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;ProductNumber&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;Bulb40W&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;ProductNumber&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;          &lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;Identifier&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;Product&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;      &lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;EcoResProduct&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;MessageParts&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;  &lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;Body&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;Envelope&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;The EcoResProduct element can contain multiple Product elements in order to create multiple products in one service call.&lt;/p&gt;
&lt;h4&gt;Create a product master and a related product variant&lt;/h4&gt;
&lt;p&gt;To create a product master, use the EcoResProductService.create operation. Then use the EcoResProductMasterDimValue.create operation to associate product dimension values with the product master. Finally, use the EcoResProductService.create operation again, this time to create a product variant.&lt;/p&gt;
&lt;p&gt;The code to create a product master is basically similar to the code that creates a distinct product. One difference is the code that associates the product master with a product dimension group (in the following example: Size-Dim):&lt;/p&gt;
&lt;div style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; width: 97.5%; font-family: 'Courier New', courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; cursor: text; border: silver 1px solid; padding: 4px;" id="codeSnippetWrapper"&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;" id="codeSnippet"&gt;&lt;span style="color: #0000ff;"&gt;static&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;void&lt;/span&gt; createMaster()&lt;br /&gt;{&lt;br /&gt;    &lt;span style="color: #008000;"&gt;//master definition&lt;/span&gt;&lt;br /&gt;    AxdEntity_Product_EcoResProductMaster productMaster = &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; AxdEntity_Product_EcoResProductMaster()&lt;br /&gt;    {&lt;br /&gt;        DisplayProductNumber = &lt;span style="color: #006080;"&gt;"RunningShoe"&lt;/span&gt;,&lt;br /&gt;        ProductType = AxdEnum_EcoResProductType.Item,&lt;br /&gt;        SearchName = &lt;span style="color: #006080;"&gt;"RunningShoe"&lt;/span&gt;,&lt;br /&gt;    };&lt;br /&gt;    productMaster.Translation = &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; AxdEntity_Translation[1];&lt;br /&gt;    productMaster.Translation[0] = &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; AxdEntity_Translation()&lt;br /&gt;    {&lt;br /&gt;        LanguageId = &lt;span style="color: #006080;"&gt;"en-us"&lt;/span&gt;, Name = &lt;span style="color: #006080;"&gt;"Comfortable running shoe"&lt;/span&gt;&lt;br /&gt;    };&lt;br /&gt;    productMaster.Identifier = &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; AxdEntity_Identifier[1];&lt;br /&gt;    productMaster.Identifier[0] = &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; AxdEntity_Identifier()&lt;br /&gt;    {&lt;br /&gt;        ProductNumber = &lt;span style="color: #006080;"&gt;"RunningShoe"&lt;/span&gt;&lt;br /&gt;    };&lt;br /&gt;&lt;br /&gt;    productMaster.ProductDimGroup = &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; AxdEntity_ProductDimGroup[1];&lt;br /&gt;    productMaster.ProductDimGroup[0] = &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; AxdEntity_ProductDimGroup()&lt;br /&gt;    {&lt;br /&gt;        Product = &lt;span style="color: #006080;"&gt;"RunningShoe"&lt;/span&gt;, ProductDimensionGroup = &lt;span style="color: #006080;"&gt;"Size-Dim"&lt;/span&gt;&lt;br /&gt;    };&lt;br /&gt;    productMaster.VariantConfigurationTechnology = AxdEnum_EcoResVariantConfigurationTechnologyType.PredefinedVariants;&lt;br /&gt;&lt;br /&gt;    AxdEcoResProduct axdProduct = &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; AxdEcoResProduct()&lt;br /&gt;    {&lt;br /&gt;        Product = &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; AxdEntity_Product_EcoResProduct[1] { productMaster }&lt;br /&gt;    };&lt;br /&gt;&lt;br /&gt;    CallContext ctx = &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; CallContext();&lt;br /&gt;    EcoResProductServiceClient productService = &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; EcoResProductServiceClient();&lt;br /&gt;    &lt;span style="color: #0000ff;"&gt;try&lt;/span&gt;&lt;br /&gt;    {&lt;br /&gt;        productService.create(ctx, axdProduct);&lt;br /&gt;    }&lt;br /&gt;    &lt;span style="color: #0000ff;"&gt;catch&lt;/span&gt; (Exception e)&lt;br /&gt;    {&lt;br /&gt;        System.Console.WriteLine(e.Message);&lt;br /&gt;        System.Console.ReadKey();&lt;br /&gt;    }&lt;br /&gt;}&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;When the product master is created, associate two size dimension values with the product master (size L and M):&lt;/p&gt;
&lt;div style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; width: 97.5%; font-family: 'Courier New', courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; cursor: text; border: silver 1px solid; padding: 4px;" id="codeSnippetWrapper"&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;" id="codeSnippet"&gt;&lt;span style="color: #0000ff;"&gt;static&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;void&lt;/span&gt; createMasterDimensions()&lt;br /&gt;{&lt;br /&gt;    &lt;span style="color: #008000;"&gt;//master dimensions definition (two sizes, L and M)&lt;/span&gt;&lt;br /&gt;    AxdEntity_MasterDim_EcoResProductMasterSize sizeDimensionL = &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; AxdEntity_MasterDim_EcoResProductMasterSize()&lt;br /&gt;    {&lt;br /&gt;        SizeProductMaster = &lt;span style="color: #006080;"&gt;"RunningShoe"&lt;/span&gt;,&lt;br /&gt;        Size = &lt;span style="color: #006080;"&gt;"L"&lt;/span&gt;,&lt;br /&gt;        EcoResSize = &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; AxdEntity_EcoResSize[1] &lt;br /&gt;        { &lt;br /&gt;            &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; AxdEntity_EcoResSize() { Name = &lt;span style="color: #006080;"&gt;"L"&lt;/span&gt; }&lt;br /&gt;        }&lt;br /&gt;    };&lt;br /&gt;    AxdEntity_MasterDim_EcoResProductMasterSize sizeDimensionM = &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; AxdEntity_MasterDim_EcoResProductMasterSize()&lt;br /&gt;    {&lt;br /&gt;        SizeProductMaster = &lt;span style="color: #006080;"&gt;"RunningShoe"&lt;/span&gt;,&lt;br /&gt;        Size = &lt;span style="color: #006080;"&gt;"M"&lt;/span&gt;,&lt;br /&gt;        EcoResSize = &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; AxdEntity_EcoResSize[1] &lt;br /&gt;        { &lt;br /&gt;            &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; AxdEntity_EcoResSize() { Name = &lt;span style="color: #006080;"&gt;"M"&lt;/span&gt; }&lt;br /&gt;        }&lt;br /&gt;    };&lt;br /&gt;&lt;br /&gt;    AxdEcoResProductMasterDimValue axdDimValue = &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; AxdEcoResProductMasterDimValue()&lt;br /&gt;    {&lt;br /&gt;        MasterDim = &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; AxdEntity_MasterDim_EcoResProductMasterDimensionValue[2] { sizeDimensionL, sizeDimensionM }&lt;br /&gt;    };&lt;br /&gt;&lt;br /&gt;    CallContext ctx = &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; CallContext();&lt;br /&gt;    EcoResProductMasterDimValueServiceClient masterDimensionService = &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; EcoResProductMasterDimValueServiceClient();&lt;br /&gt;    &lt;span style="color: #0000ff;"&gt;try&lt;/span&gt;&lt;br /&gt;    {&lt;br /&gt;        masterDimensionService.create(ctx, axdDimValue);&lt;br /&gt;    }&lt;br /&gt;    &lt;span style="color: #0000ff;"&gt;catch&lt;/span&gt; (Exception e)&lt;br /&gt;    {&lt;br /&gt;        System.Console.WriteLine(e.Message);&lt;br /&gt;        System.Console.ReadKey();&lt;br /&gt;    }&lt;br /&gt;}&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;Create a product variant with the size L for the product master. One thing that may not be obvious is the value required for the ProductDimensionAttribute field of the AxdEntity_VariantDimValue_EcoResProductVariantConfiguration, the AxdEntity_VariantDimValue_EcoResProductVariantSize, and the AxdEntity_VariantDimValue_EcoResProductVariant entities. The value must correspond to the IDs of the EcoResConfiguration, the EcoResSize, and the EcoResColor tables, respectively.&lt;/p&gt;
&lt;div style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; width: 97.5%; font-family: 'Courier New', courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; cursor: text; border: silver 1px solid; padding: 4px;" id="codeSnippetWrapper"&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;" id="codeSnippet"&gt;&lt;span style="color: #0000ff;"&gt;static&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;void&lt;/span&gt; createVariant()&lt;br /&gt;{&lt;br /&gt;    &lt;span style="color: #008000;"&gt;//product variant definition&lt;/span&gt;&lt;br /&gt;    AxdEntity_Product_EcoResDistinctProductVariant productVariant = &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; AxdEntity_Product_EcoResDistinctProductVariant()&lt;br /&gt;    {&lt;br /&gt;        DisplayProductNumber = &lt;span style="color: #006080;"&gt;"RunningShoeL"&lt;/span&gt;,&lt;br /&gt;        ProductType = AxdEnum_EcoResProductType.Item,&lt;br /&gt;        SearchName = &lt;span style="color: #006080;"&gt;"RunningShoeL"&lt;/span&gt;,&lt;br /&gt;        ProductMaster = &lt;span style="color: #006080;"&gt;"RunningShoe"&lt;/span&gt;&lt;br /&gt;    };&lt;br /&gt;    productVariant.Translation = &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; AxdEntity_Translation[1];&lt;br /&gt;    productVariant.Translation[0] = &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; AxdEntity_Translation()&lt;br /&gt;    {    &lt;br /&gt;        LanguageId = &lt;span style="color: #006080;"&gt;"en-us"&lt;/span&gt;, Name = &lt;span style="color: #006080;"&gt;"Comfortable running shoe L size"&lt;/span&gt;&lt;br /&gt;    };&lt;br /&gt;    productVariant.VariantDimValue = &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; AxdEntity_VariantDimValue_EcoResProductVariantDimensionValue[1];&lt;br /&gt;    productVariant.VariantDimValue[0] = &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; AxdEntity_VariantDimValue_EcoResProductVariantSize()&lt;br /&gt;    {&lt;br /&gt;        DistinctProductVariant = &lt;span style="color: #006080;"&gt;"RunningShoeL"&lt;/span&gt;,&lt;br /&gt;        ProductDimensionAttribute = 3173,&lt;span style="color: #008000;"&gt;//The ID of the EcoResSize table&lt;/span&gt;&lt;br /&gt;        Size = &lt;span style="color: #006080;"&gt;"L"&lt;/span&gt;,&lt;br /&gt;        EcoResSize = &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; AxdEntity_EcoResSize1[1]&lt;br /&gt;        {&lt;br /&gt;            &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; AxdEntity_EcoResSize1() { Name = &lt;span style="color: #006080;"&gt;"L"&lt;/span&gt; }&lt;br /&gt;        }&lt;br /&gt;    };&lt;br /&gt;&lt;br /&gt;    AxdEcoResProduct axdProduct = &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; AxdEcoResProduct()&lt;br /&gt;    {&lt;br /&gt;        Product = &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; AxdEntity_Product_EcoResProduct[1] { productVariant }&lt;br /&gt;    };&lt;br /&gt;&lt;br /&gt;    CallContext ctx = &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; CallContext();&lt;br /&gt;    EcoResProductServiceClient productService = &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; EcoResProductServiceClient();&lt;br /&gt;    &lt;span style="color: #0000ff;"&gt;try&lt;/span&gt;&lt;br /&gt;    {&lt;br /&gt;        productService.create(ctx, axdProduct);&lt;br /&gt;    }&lt;br /&gt;    &lt;span style="color: #0000ff;"&gt;catch&lt;/span&gt; (Exception e)&lt;br /&gt;    {&lt;br /&gt;        System.Console.WriteLine(e.Message);&lt;br /&gt;        System.Console.ReadKey();&lt;br /&gt;    }&lt;br /&gt;}&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;The following XML code does almost the same thing. The only difference is that it creates a product master that is associated with a product dimension group where the Color dimension is active. At first, create a product master:&lt;/p&gt;
&lt;div style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; width: 97.5%; font-family: 'Courier New', courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; cursor: text; border: silver 1px solid; padding: 4px;" id="codeSnippetWrapper"&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;" id="codeSnippet"&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;?&lt;/span&gt;&lt;span style="color: #800000;"&gt;xml&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;version&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="1.0"&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;encoding&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="UTF-8"&lt;/span&gt;?&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;Envelope&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;xmlns&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="http://schemas.microsoft.com/dynamics/2011/01/documents/Message"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;  &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;Header&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;Action&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;http://schemas.microsoft.com/dynamics/2008/01/services/EcoResProductService/create&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;Action&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;  &lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;Header&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;  &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;Body&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;MessageParts&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;xmlns&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="http://schemas.microsoft.com/dynamics/2011/01/documents/Message"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;      &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;EcoResProduct&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;xmlns&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="http://schemas.microsoft.com/dynamics/2008/01/documents/EcoResProduct"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;Product&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;xmlns:xsi&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="http://www.w3.org/2001/XMLSchema-instance"&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;class&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="entity"&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;xsi:type&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="AxdEntity_Product_EcoResProductMaster"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;          &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;DisplayProductNumber&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;BoardMarker&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;DisplayProductNumber&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;          &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;SearchName&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;BoardMarker&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;SearchName&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;          &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;ProductType&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;Item&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;ProductType&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;          &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;Translation&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;class&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="entity"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;            &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;LanguageId&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;en-us&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;LanguageId&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;            &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;Name&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;Whiteboard marker&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;Name&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;          &lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;Translation&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;          &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;ProductDimGroup&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;class&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="entity"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;            &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;Product&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;BoardMarker&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;Product&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;            &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;ProductDimensionGroup&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;Col-Dim&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;ProductDimensionGroup&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;          &lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;ProductDimGroup&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;          &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;Identifier&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;class&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="entity"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;            &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;ProductNumber&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;BoardMarker&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;ProductNumber&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;          &lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;Identifier&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;          &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;VariantConfigurationTechnology&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;PredefinedVariants&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;VariantConfigurationTechnology&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;Product&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;        &lt;br /&gt;      &lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;EcoResProduct&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;MessageParts&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;  &lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;Body&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;Envelope&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;Associate values of the Color dimension with the product master:&lt;/p&gt;
&lt;div style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; width: 97.5%; font-family: 'Courier New', courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; cursor: text; border: silver 1px solid; padding: 4px;" id="codeSnippetWrapper"&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;" id="codeSnippet"&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;?&lt;/span&gt;&lt;span style="color: #800000;"&gt;xml&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;version&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="1.0"&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;encoding&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="UTF-8"&lt;/span&gt;?&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;Envelope&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;xmlns&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="http://schemas.microsoft.com/dynamics/2011/01/documents/Message"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;  &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;Header&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;Action&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;http://schemas.microsoft.com/dynamics/2008/01/services/EcoResProductMasterDimValueService/create&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;Action&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;  &lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;Header&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;  &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;Body&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;MessageParts&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;xmlns&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="http://schemas.microsoft.com/dynamics/2011/01/documents/Message"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;      &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;EcoResProductMasterDimValue&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;xmlns&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="http://schemas.microsoft.com/dynamics/2008/01/documents/EcoResProductMasterDimValue"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;MasterDim&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;class&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="entity"&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;xmlns:xsi&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="http://www.w3.org/2001/XMLSchema-instance"&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;xsi:type&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="AxdEntity_MasterDim_EcoResProductMasterColor"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;          &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;ColorProductMaster&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;BoardMarker&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;ColorProductMaster&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;          &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;Color&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;Red&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;Color&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;          &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;EcoResColor&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;class&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="entity"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;            &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;Name&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;Red&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;Name&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;          &lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;EcoResColor&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;MasterDim&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;MasterDim&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;class&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="entity"&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;xmlns:xsi&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="http://www.w3.org/2001/XMLSchema-instance"&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;xsi:type&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="AxdEntity_MasterDim_EcoResProductMasterColor"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;          &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;ColorProductMaster&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;BoardMarker&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;ColorProductMaster&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;          &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;Color&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;Blue&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;Color&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;          &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;EcoResColor&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;class&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="entity"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;            &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;Name&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;Blue&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;Name&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;          &lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;EcoResColor&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;MasterDim&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;      &lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;EcoResProductMasterDimValue&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;MessageParts&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;  &lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;Body&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;Envelope&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;Create a product variant:&lt;/p&gt;
&lt;div style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; width: 97.5%; font-family: 'Courier New', courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; cursor: text; border: silver 1px solid; padding: 4px;" id="codeSnippetWrapper"&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;" id="codeSnippet"&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;?&lt;/span&gt;&lt;span style="color: #800000;"&gt;xml&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;version&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="1.0"&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;encoding&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="UTF-8"&lt;/span&gt;?&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;Envelope&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;xmlns&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="http://schemas.microsoft.com/dynamics/2011/01/documents/Message"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;  &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;Header&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;Action&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;http://schemas.microsoft.com/dynamics/2008/01/services/EcoResProductService/create&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;Action&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;  &lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;Header&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;  &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;Body&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;MessageParts&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;xmlns&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="http://schemas.microsoft.com/dynamics/2011/01/documents/Message"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;      &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;EcoResProduct&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;xmlns&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="http://schemas.microsoft.com/dynamics/2008/01/documents/EcoResProduct"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;Product&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;xmlns:xsi&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="http://www.w3.org/2001/XMLSchema-instance"&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;class&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="entity"&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;xsi:type&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="AxdEntity_Product_EcoResDistinctProductVariant"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;          &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;DisplayProductNumber&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;BoardMarkerRed&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;DisplayProductNumber&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;          &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;SearchName&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;BoardMarkerRed&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;SearchName&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;          &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;ProductType&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;Item&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;ProductType&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;          &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;Translation&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;class&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="entity"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;            &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;LanguageId&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;en-us&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;LanguageId&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;            &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;Name&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;Whiteboard marker red&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;Name&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;          &lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;Translation&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;          &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;Identifier&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;class&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="entity"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;            &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;ProductNumber&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;BoardMarkerRed&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;ProductNumber&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;          &lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;Identifier&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;          &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;ProductMaster&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;BoardMarker&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;ProductMaster&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;          &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;VariantDimValue&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;class&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="entity"&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;xsi:type&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="AxdEntity_VariantDimValue_EcoResProductVariantColor"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;            &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;DistinctProductVariant&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;BoardMarkerRed&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;DistinctProductVariant&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;            &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;ProductDimensionAttribute&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;3169&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;ProductDimensionAttribute&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;            &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;Color&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;Red&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;Color&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;            &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;EcoResColor&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;class&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="entity"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;              &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;Name&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;Red&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;Name&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;            &lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;EcoResColor&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;          &lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;VariantDimValue&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;Product&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;        &lt;br /&gt;      &lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;EcoResProduct&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;MessageParts&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;  &lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;Body&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;Envelope&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;h4&gt;Release products&lt;/h4&gt;
&lt;p&gt;A product must be released to a company before it can be used in that company. The ItemService and InventDimCombinationService serve this purpose. The former can be used to release distinct products and product masters. The latter can be used to release product variants. A product master must be released before any of its product variants can be released.&lt;/p&gt;
&lt;h4&gt;Release a distinct product or a product master&lt;/h4&gt;
&lt;p&gt;The only information required to release a product to a company is the ID of the product and the ID by which it will be represented in the company (ItemId). It is possible to add information to the ItemService service. In the following example, information about units used for storage, purchasing, and selling is provided:&lt;/p&gt;
&lt;div style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; width: 97.5%; font-family: 'Courier New', courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; cursor: text; border: silver 1px solid; padding: 4px;" id="codeSnippetWrapper"&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;" id="codeSnippet"&gt;&lt;span style="color: #0000ff;"&gt;private&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;static&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;void&lt;/span&gt; releaseProduct()&lt;br /&gt;{&lt;br /&gt;    AxdEntity_InventTable inventTable = &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; AxdEntity_InventTable()&lt;br /&gt;    {&lt;br /&gt;        ItemId = &lt;span style="color: #006080;"&gt;"Bulb60W"&lt;/span&gt;,&lt;br /&gt;        Product = &lt;span style="color: #006080;"&gt;"Bulb60W"&lt;/span&gt;,&lt;br /&gt;        Invent = &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; AxdEntity_Invent[1]&lt;br /&gt;        {&lt;br /&gt;            &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; AxdEntity_Invent()&lt;br /&gt;            {&lt;br /&gt;                ItemId = &lt;span style="color: #006080;"&gt;"Bulb60W"&lt;/span&gt;, UnitId = &lt;span style="color: #006080;"&gt;"Box"&lt;/span&gt;&lt;br /&gt;            }&lt;br /&gt;        },&lt;br /&gt;        Purch = &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; AxdEntity_Purch[1]&lt;br /&gt;        {&lt;br /&gt;            &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; AxdEntity_Purch()&lt;br /&gt;            {&lt;br /&gt;                ItemId = &lt;span style="color: #006080;"&gt;"Bulb60W"&lt;/span&gt;, UnitId = &lt;span style="color: #006080;"&gt;"Box"&lt;/span&gt;&lt;br /&gt;            }&lt;br /&gt;        },&lt;br /&gt;        Sales = &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; AxdEntity_Sales[1]&lt;br /&gt;        {&lt;br /&gt;            &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; AxdEntity_Sales()&lt;br /&gt;            {&lt;br /&gt;                ItemId = &lt;span style="color: #006080;"&gt;"Bulb60W"&lt;/span&gt;, UnitId = &lt;span style="color: #006080;"&gt;"Pcs"&lt;/span&gt;&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;    };&lt;br /&gt;&lt;br /&gt;    AxdItem item = &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; AxdItem()&lt;br /&gt;    {&lt;br /&gt;        InventTable = &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; AxdEntity_InventTable[1] { inventTable }&lt;br /&gt;    };&lt;br /&gt;&lt;br /&gt;    CallContext ctx = &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; CallContext() { Company = &lt;span style="color: #006080;"&gt;"DMO"&lt;/span&gt; };&lt;br /&gt;    ItemServiceClient itemService = &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; ItemServiceClient();&lt;br /&gt;    &lt;span style="color: #0000ff;"&gt;try&lt;/span&gt;&lt;br /&gt;    {&lt;br /&gt;        itemService.create(ctx, item);&lt;br /&gt;    }&lt;br /&gt;    &lt;span style="color: #0000ff;"&gt;catch&lt;/span&gt; (Exception e)&lt;br /&gt;    {&lt;br /&gt;        System.Console.WriteLine(e.Message);&lt;br /&gt;        System.Console.ReadKey();&lt;br /&gt;    }&lt;br /&gt;}&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;The following XML code releases a product master with the minimum amount of information required:&lt;/p&gt;
&lt;div style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; width: 97.5%; font-family: 'Courier New', courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; cursor: text; border: silver 1px solid; padding: 4px;" id="codeSnippetWrapper"&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;" id="codeSnippet"&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;?&lt;/span&gt;&lt;span style="color: #800000;"&gt;xml&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;version&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="1.0"&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;encoding&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="UTF-8"&lt;/span&gt;?&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;Envelope&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;xmlns&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="http://schemas.microsoft.com/dynamics/2011/01/documents/Message"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;  &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;Header&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;Company&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;DMO&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;Company&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;Action&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;http://schemas.microsoft.com/dynamics/2008/01/services/ItemService/create&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;Action&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;  &lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;Header&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;  &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;Body&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;MessageParts&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;xmlns&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="http://schemas.microsoft.com/dynamics/2011/01/documents/Message"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;      &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;Item&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;xmlns&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="http://schemas.microsoft.com/dynamics/2008/01/documents/Item"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;InventTable&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;class&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="entity"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;          &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;ItemId&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;BoardMarker&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;ItemId&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;          &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;Product&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;BoardMarker&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;Product&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;InventTable&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;      &lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;Item&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;MessageParts&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;  &lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;Body&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;Envelope&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;h4&gt;Release a product variant&lt;/h4&gt;
&lt;p&gt;A product variant can be released once a related product master has been released. When you release a product variant to a company, the product variant can be identified in two different ways.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Use the product number of the product variant.&lt;/li&gt;
&lt;li&gt;Use the ID of the associated product master in the company (ItemId) and the InventDim structure with the relevant fields set to the dimension values for the variant (the ItemId/InventDim approach).&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For details, see the following examples.&lt;/p&gt;
&lt;p&gt;Use the product number of the product variant (DistinctProductVariant):&lt;/p&gt;
&lt;div style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; width: 97.5%; font-family: 'Courier New', courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; cursor: text; border: silver 1px solid; padding: 4px;" id="codeSnippetWrapper"&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;" id="codeSnippet"&gt;&lt;span style="color: #0000ff;"&gt;private&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;static&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;void&lt;/span&gt; releaseProductVariants()&lt;br /&gt;{&lt;br /&gt;    AxdEntity_InventDimCombination releasedVariant = &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; AxdEntity_InventDimCombination()&lt;br /&gt;    {&lt;br /&gt;        DistinctProductVariant = &lt;span style="color: #006080;"&gt;"RunningShoeL"&lt;/span&gt;,&lt;br /&gt;        ItemId = &lt;span style="color: #006080;"&gt;""&lt;/span&gt;&lt;br /&gt;    };&lt;br /&gt;&lt;br /&gt;    AxdInventDimCombination inventDimCombination = &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; AxdInventDimCombination()&lt;br /&gt;    {&lt;br /&gt;        InventDimCombination = &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; AxdEntity_InventDimCombination[1] { releasedVariantL }&lt;br /&gt;    };&lt;br /&gt;&lt;br /&gt;    CallContext ctx = &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; CallContext() { Company = &lt;span style="color: #006080;"&gt;"DMO"&lt;/span&gt; };&lt;br /&gt;    InventDimCombinationServiceClient inventDimCombinationService = &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; InventDimCombinationServiceClient();&lt;br /&gt;    &lt;span style="color: #0000ff;"&gt;try&lt;/span&gt;&lt;br /&gt;    {&lt;br /&gt;        inventDimCombinationService.create(ctx, inventDimCombination);&lt;br /&gt;    }&lt;br /&gt;    &lt;span style="color: #0000ff;"&gt;catch&lt;/span&gt; (Exception e)&lt;br /&gt;    {&lt;br /&gt;        System.Console.WriteLine(e.Message);&lt;br /&gt;        System.Console.ReadKey();&lt;br /&gt;    }&lt;br /&gt;}&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;Use the ItemId/InventDim approach:&lt;/p&gt;
&lt;div style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; width: 97.5%; font-family: 'Courier New', courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; cursor: text; border: silver 1px solid; padding: 4px;" id="codeSnippetWrapper"&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;" id="codeSnippet"&gt;&lt;span style="color: #0000ff;"&gt;private&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;static&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;void&lt;/span&gt; releaseProductVariants()&lt;br /&gt;{&lt;br /&gt;    AxdEntity_InventDimCombination releasedVariant = &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; AxdEntity_InventDimCombination()&lt;br /&gt;    {&lt;br /&gt;        DistinctProductVariant = &lt;span style="color: #006080;"&gt;""&lt;/span&gt;,&lt;br /&gt;        ItemId = &lt;span style="color: #006080;"&gt;"RunningShoe"&lt;/span&gt;,&lt;br /&gt;        InventDim = &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; AxdEntity_InventDim[1] &lt;br /&gt;        {&lt;br /&gt;            &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; AxdEntity_InventDim()&lt;br /&gt;            {&lt;br /&gt;                InventSizeId = &lt;span style="color: #006080;"&gt;"M"&lt;/span&gt;&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;    };&lt;br /&gt;&lt;br /&gt;    AxdInventDimCombination inventDimCombination = &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; AxdInventDimCombination()&lt;br /&gt;    {&lt;br /&gt;        InventDimCombination = &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; AxdEntity_InventDimCombination[2] { releasedVariantM }&lt;br /&gt;    };&lt;br /&gt;&lt;br /&gt;    CallContext ctx = &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; CallContext() { Company = &lt;span style="color: #006080;"&gt;"DMO"&lt;/span&gt; };&lt;br /&gt;    InventDimCombinationServiceClient inventDimCombinationService = &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; InventDimCombinationServiceClient();&lt;br /&gt;    &lt;span style="color: #0000ff;"&gt;try&lt;/span&gt;&lt;br /&gt;    {&lt;br /&gt;        inventDimCombinationService.create(ctx, inventDimCombination);&lt;br /&gt;    }&lt;br /&gt;    &lt;span style="color: #0000ff;"&gt;catch&lt;/span&gt; (Exception e)&lt;br /&gt;    {&lt;br /&gt;        System.Console.WriteLine(e.Message);&lt;br /&gt;        System.Console.ReadKey();&lt;br /&gt;    }&lt;br /&gt;}&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;The following XML code releases two variants in one call and uses both approaches to identify a product variant:&lt;/p&gt;
&lt;div style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; width: 97.5%; font-family: 'Courier New', courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; cursor: text; border: silver 1px solid; padding: 4px;" id="codeSnippetWrapper"&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;" id="codeSnippet"&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;?&lt;/span&gt;&lt;span style="color: #800000;"&gt;xml&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;version&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="1.0"&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;encoding&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="UTF-8"&lt;/span&gt;?&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;Envelope&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;xmlns&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="http://schemas.microsoft.com/dynamics/2011/01/documents/Message"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;  &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;Header&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;Company&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;DMO&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;Company&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;Action&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;http://schemas.microsoft.com/dynamics/2008/01/services/InventDimCombinationService/create&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;Action&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;  &lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;Header&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;  &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;Body&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;MessageParts&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;xmlns&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="http://schemas.microsoft.com/dynamics/2011/01/documents/Message"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;      &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;InventDimCombination&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;xmlns&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="http://schemas.microsoft.com/dynamics/2008/01/documents/InventDimCombination"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;InventDimCombination&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;class&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="entity"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;          &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;DistinctProductVariant&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;BoardMarkerRed&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;DistinctProductVariant&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;          &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;ItemId&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;ItemId&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;InventDimCombination&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;InventDimCombination&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;class&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="entity"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;          &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;DistinctProductVariant&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;DistinctProductVariant&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;          &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;ItemId&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;BoardMarker&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;ItemId&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;          &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;InventDim&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;class&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="entity"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;            &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;InventColorId&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;Blue&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;InventColorId&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;          &lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;InventDim&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;InventDimCombination&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;      &lt;br /&gt;      &lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;InventDimCombination&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;MessageParts&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;  &lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;Body&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;Envelope&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;h4&gt;Summary&lt;/h4&gt;
&lt;p&gt;We hope that this blog post will help developers to better understand and use the services for the new product-item data model.&lt;/p&gt;
&lt;p&gt;More detailed information regarding the creation and release of products can be found in the Application user Help in the &amp;ldquo;Product information management&amp;rdquo; section.&lt;/p&gt;
&lt;p&gt;Further developer information about AIF and services can be found on &lt;a href="http://msdn.microsoft.com/en-us/library/bb496535.aspx"&gt;MSDN&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;By Wojciech Bardzinski&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/3465.image_5F00_2BCA4A09.png"&gt;&lt;img style="border: 0px currentColor; padding-top: 0px; padding-right: 0px; padding-left: 0px; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/7178.image_5F00_thumb_5F00_0E947C32.png" width="115" height="114" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h4&gt;Disclaimer&lt;/h4&gt;
&lt;p&gt;&lt;b&gt;All the information about AX 2012 posted here is a pre-release. Any feature is a subject to be changed before the release without notice. &lt;br /&gt;This disclaimer is applicable to all posts about AX 2012 in this blog.&lt;/b&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10183494" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/Microsoft+Dynamics+AX+2012/">Microsoft Dynamics AX 2012</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/Item_2D00_Product+Data+Management/">Item-Product Data Management</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/Dynamics+Ax+2012/">Dynamics Ax 2012</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/What_2700_s+new+in+Dynamics+Ax+2012/">What's new in Dynamics Ax 2012</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/Stocked+products/">Stocked products</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/AIF/">AIF</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/Product+information+management/">Product information management</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/Product_2D00_item+data+management+services/">Product-item data management services</category></item><item><title>Back ported features from Dynamics AX 2012 to Dynamics AX 2009 (Close non-financial transfers, Inventory Reconciliation and Reporting)</title><link>http://blogs.msdn.com/b/dynamicsaxscm/archive/2011/06/05/back-ported-features-from-dynamics-ax-2012-to-dynamics-ax-2009.aspx</link><pubDate>Sun, 05 Jun 2011 13:19:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10170285</guid><dc:creator>Ievgenii Korovin</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/dynamicsaxscm/rsscomments.aspx?WeblogPostID=10170285</wfw:commentRss><comments>http://blogs.msdn.com/b/dynamicsaxscm/archive/2011/06/05/back-ported-features-from-dynamics-ax-2012-to-dynamics-ax-2009.aspx#comments</comments><description>&lt;p&gt;Some of the new functionality that is created in the Dynamics AX development cycle brings about so much feedback from customers and partners that we decide to back port the features to previous versions of Dynamics AX products. The back ported features become available as part of hot fixes or service packs to previous versions of Dynamics AX.&lt;/p&gt;
&lt;p&gt;Today, we would like to bring your attention to the great SCM features that were developed as part of the Dynamics AX 2012 release cycle and which are already included in Dynamics AX 2009 Service Pack 1 (&lt;a href="https://mbs.microsoft.com/knowledgebase/KBDisplay.aspx?scid=kb$en-us$982812&amp;amp;wa=wsignin1.0"&gt;Hotfix rollup 5 for Microsoft Dynamics AX 2009 Service Pack 1&lt;/a&gt;)&lt;/p&gt;
&lt;h5&gt;Close non-financial transfers&lt;/h5&gt;
&lt;p&gt;This feature significantly improves performance for the inventory closing and inventory recalculation processes. The essence of the feature is the fact that inventory transactions which represent the physical transfers are disregarded during cost calculation. For example, inventory transactions might indicate a physical item movement between different warehouses or warehouse locations. However, from a costing perspective, the movement does not contribute to the final item cost.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;With the new approach, the cost calculation process becomes significantly faster and more accurate. Please refer to the following white paper to learn more about the feature. &lt;a href="http://www.microsoft.com/downloads/en/details.aspx?FamilyID=b08b2802-9c93-4f0e-bf65-79b4189a2cb1"&gt;Microsoft Dynamics AX 2009 White Paper: Close Non-Financial Transfers &lt;/a&gt;&lt;/p&gt;
&lt;h5&gt;Inventory Reconciliation and Reporting&lt;/h5&gt;
&lt;p&gt;The Inventory value report framework allows you to report and reconcile Inventory and WIP values on one report. The new report framework replace six individual reports and manual adjustments, which were required in previous versions of Dynamcs AX to achieve the same result.&lt;/p&gt;
&lt;p&gt;Also, the Potential conflicts report can be used to report transactions that violate rules as defined by parameter settings in various modules. This report significantly reduces the time spent on identifying the causes of discrepancies between Inventory and General ledger values. Please refer to the following white paper to learn more about the feature. &lt;a href="http://www.microsoft.com/downloads/en/details.aspx?FamilyID=001e98e3-a83e-43be-b3a9-a38b26912f46"&gt;Microsoft Dynamics AX 2009 White Paper: Inventory Reconciliation and Reporting &lt;/a&gt;&lt;/p&gt;
&lt;h5&gt;&amp;nbsp;&lt;/h5&gt;
&lt;h5&gt;Disclaimer&lt;/h5&gt;
&lt;p&gt;&lt;b&gt;All the information about AX 2012 posted here is a pre-release. Any feature is a subject to be changed before the release without notice. &lt;br /&gt;This disclaimer is applicable to all posts about AX 2012 in this blog.&lt;/b&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10170285" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/Dynamics+AX/">Dynamics AX</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/SCM/">SCM</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/Dynamics+AX+2009/">Dynamics AX 2009</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/Microsoft+Dynamics+AX+2012/">Microsoft Dynamics AX 2012</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/Dynamics+Ax+2012/">Dynamics Ax 2012</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/What_2700_s+new+in+Dynamics+Ax+2012/">What's new in Dynamics Ax 2012</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/inventory+closing/">inventory closing</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/Inventory+Reconciliation+and+Reporting/">Inventory Reconciliation and Reporting</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/non+financial+transfers/">non financial transfers</category></item><item><title>Service products in Microsoft Dynamics AX 2012</title><link>http://blogs.msdn.com/b/dynamicsaxscm/archive/2011/06/01/service-products-in-dynamics-ax-2012.aspx</link><pubDate>Wed, 01 Jun 2011 12:34:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10170275</guid><dc:creator>Ievgenii Korovin</dc:creator><slash:comments>5</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/dynamicsaxscm/rsscomments.aspx?WeblogPostID=10170275</wfw:commentRss><comments>http://blogs.msdn.com/b/dynamicsaxscm/archive/2011/06/01/service-products-in-dynamics-ax-2012.aspx#comments</comments><description>&lt;p&gt;With Microsoft Dynamics AX 2012 new capabilities of selling and procuring products, decoupled from inventory control, have been introduced. The purpose of this post is to describe the difference between stocked and non-stocked products of type service and to provide general recommendation about this subject.&lt;/p&gt;
&lt;h5&gt;Item definitions in Microsoft Dynamics AX 2009 and earlier&lt;/h5&gt;
&lt;p&gt;Microsoft Dynamics AX 2009 offered the options to define different types of items. The table below illustrates these options: &lt;/p&gt;
&lt;table cellpadding="0" cellspacing="0" border="1"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td width="102" valign="top"&gt;
&lt;p&gt;&lt;b&gt;Item type&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td width="208" valign="top"&gt;
&lt;p&gt;&lt;b&gt;Purpose&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td width="370" valign="top"&gt;
&lt;p&gt;&lt;b&gt;System behavior&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="102" valign="top"&gt;
&lt;p&gt;Item&lt;/p&gt;
&lt;/td&gt;
&lt;td width="208" valign="top"&gt;
&lt;p&gt;Represent finished items and raw materials.&lt;/p&gt;
&lt;/td&gt;
&lt;td width="370" valign="top"&gt;
&lt;p&gt;- Inventory balances are stored, which means these items can be reserved and picked&lt;/p&gt;
&lt;p&gt;- Inventory on-hand overview exists&lt;/p&gt;
&lt;p&gt;- Can be defined as warehouse items&lt;/p&gt;
&lt;p&gt;- Production orders cannot be created&lt;/p&gt;
&lt;p&gt;- Planned purchase orders and transfer orders can be created when running master planning&lt;/p&gt;
&lt;p&gt;- Coverage plan settings can be defined as purchase&lt;/p&gt;
&lt;p&gt;- Inventory transactions are created for source documents, allowing the user to receive/issue inventory for service items&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="102" valign="top"&gt;
&lt;p&gt;Service&lt;/p&gt;
&lt;/td&gt;
&lt;td width="208" valign="top"&gt;
&lt;p&gt;Represent services like sub-contracting &lt;/p&gt;
&lt;/td&gt;
&lt;td width="370" valign="top"&gt;
&lt;p&gt;- No inventory balances are stored, which means these items cannot be reserved nor picked&lt;/p&gt;
&lt;p&gt;- No inventory on-hand overview&lt;/p&gt;
&lt;p&gt;- Cannot be defined as warehouse items&lt;/p&gt;
&lt;p&gt;- Production order cannot be created&lt;/p&gt;
&lt;p&gt;- Master planning cannot produce or transfer service&lt;/p&gt;
&lt;p&gt;- Coverage plan settings can only be defined as purchase&lt;/p&gt;
&lt;p&gt;- Cannot configure items using the Product Configurator&lt;/p&gt;
&lt;p&gt;- Inventory transactions are created for source documents, allowing the user to receive/issue inventory for service items&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="102" valign="top"&gt;
&lt;p&gt;BOM&lt;/p&gt;
&lt;/td&gt;
&lt;td width="208" valign="top"&gt;
&lt;p&gt;Represents the bills of materials. BOMs can be semi-finished items or finished items&lt;/p&gt;
&lt;/td&gt;
&lt;td width="370" valign="top"&gt;
&lt;p&gt;- Inventory balances are stored, which means these items can be reserved and picked&lt;/p&gt;
&lt;p&gt;- Inventory on-hand overview exists&lt;/p&gt;
&lt;p&gt;- Can be defined as warehouse items&lt;/p&gt;
&lt;p&gt;- Production order can be created&lt;/p&gt;
&lt;p&gt;- BOMs can be produced and transferred when running master planning&lt;/p&gt;
&lt;p&gt;- Coverage plan settings can be defined as purchase, transfer or production&lt;/p&gt;
&lt;p&gt;- Inventory transactions are created for source documents, allowing the user to receive/issue inventory for service items&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h5&gt;Service items&lt;/h5&gt;
&lt;p&gt;Whereas the item types Item and BOM share to a very high degree the same characteristics, the item type service is different.&lt;/p&gt;
&lt;p&gt;Services are by definition consumed at the moment they are produced and can therefore not be stocked nor &amp;ldquo;owned&amp;rdquo; unlike items.&lt;/p&gt;
&lt;p&gt;An example of a service is&lt;/p&gt;
&lt;p&gt;&lt;i&gt;The Contoso Company (consumer) has a fleet of company cars. Once a year, the company car must undergo service inspection at a local car shop (producer). The employee will take the company car and &amp;ldquo;purchase&amp;rdquo; (consumes) the service at the car shop.&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;The example illustrates the normal practice for service items. A business has certain services (items of type service) in their inventory, which they would like to, in the above scenario, purchase. The financial value of the service would be posted directly to expense accounts rather than inventory accounts.&lt;/p&gt;
&lt;p&gt;In order to support the scenario in Microsoft Dynamics AX 2009 the reference data for such a service item would have to be defined specially for these items.&lt;/p&gt;
&lt;p&gt;In the inventory model group, negative physical and financial inventory must be allowed for service items. Furthermore, all ledger integration options, particularly the Post financial inventory must be left blank. This will ensure that, in the example of purchasing the car service, an expense account will be used for receipt transactions. &lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/6404.image_5F00_6ADF30B9.png"&gt;&lt;img height="471" width="668" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/2210.image_5F00_thumb_5F00_6FA198DB.png" alt="image" border="0" title="image" style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;From an inventory costing perspective, the system does expect service item transactions to be adjusted. Therefore the service items transactions will be excluded during the inventory recalculation process. During the inventory closing run, the service items will be settled according to the special &amp;ldquo;service item settlement&amp;rdquo; principle, which will close service item transactions without making any adjustments, therefore will be no additional posting created.&lt;/p&gt;
&lt;p&gt;If for some reason whatsoever a service item was to be promoted to become a standard item to be purchased, the system offered the option to change the item type from service to item. This change would have a series of ripple effects, since the core definition of what functions was allowed performed with the previous service item has been changed. &lt;/p&gt;
&lt;h5&gt;Order management and inventory control management&lt;/h5&gt;
&lt;p&gt;In Microsoft Dynamics AX 2009 order management and inventory control management were tightly coupled. This resulted in alternate solutions when trying to decouple them. &lt;/p&gt;
&lt;p&gt;In the case of procurement, Microsoft Dynamics AX 2009 introduced the purchase requisition function with its concept of non-catalog. The non-catalog concept required a &lt;i&gt;dummy item&lt;/i&gt; of type service. This catalog item would be the only item that could be expensed directly without effecting inventory or cost accounting. &lt;/p&gt;
&lt;p&gt;To be able to support non-stocked trade for the sales side, you would instead of defining &lt;i&gt;dummy&lt;/i&gt; service items, use the free text invoice function next to the sales order function. &lt;/p&gt;
&lt;h5&gt;Product definitions in Microsoft Dynamics AX 2012&lt;/h5&gt;
&lt;p&gt;Microsoft Dynamics AX 2012 introduces the concept of shared products. Core product definitions containing key product attributes are defined and controlled without an organizational context. A new product process allows you to release the core product definitions to all or parts of an organization, and finalization of the product data setup is done at the individual organizational level.&lt;/p&gt;
&lt;p&gt;The item type in Microsoft Dynamics AX 2009 has been promoted into the product type in Microsoft Dynamics AX 2012. With the new concept the core product types have been revised and so some extend altered. See the table below for reference. &lt;/p&gt;
&lt;table cellpadding="0" cellspacing="0" border="1"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td width="102" valign="top"&gt;
&lt;p&gt;&lt;b&gt;Product type&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td width="208" valign="top"&gt;
&lt;p&gt;&lt;b&gt;Purpose&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td width="370" valign="top"&gt;
&lt;p&gt;&lt;b&gt;System behavior&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="102" valign="top"&gt;
&lt;p&gt;Item&lt;/p&gt;
&lt;/td&gt;
&lt;td width="208" valign="top"&gt;
&lt;p&gt;Represent finished items and raw materials.&lt;/p&gt;
&lt;/td&gt;
&lt;td width="370" valign="top"&gt;
&lt;p&gt;The behavior is similar to Dynamics AX 2009 &lt;/p&gt;
&lt;p&gt;- Any item can be associated with a BOM, and thereby be produced or purchased&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="102" valign="top"&gt;
&lt;p&gt;Service&lt;/p&gt;
&lt;/td&gt;
&lt;td width="208" valign="top"&gt;
&lt;p&gt;Represent services&lt;/p&gt;
&lt;/td&gt;
&lt;td width="370" valign="top"&gt;
&lt;p&gt;- Products of type service, should be associated with an item model group, where the policy &lt;b&gt;not stocked&lt;/b&gt; is selected&lt;/p&gt;
&lt;p&gt;- No support for service BOMs&lt;/p&gt;
&lt;p&gt;- Coverage plan setting can only be purchase&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="102" valign="top"&gt;
&lt;p&gt;BOM&lt;/p&gt;
&lt;/td&gt;
&lt;td width="208" valign="top"&gt;
&lt;p&gt;DISCONTINUED&lt;/p&gt;
&lt;/td&gt;
&lt;td width="370" valign="top"&gt;
&lt;p&gt;N/A&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h5&gt;Service products&lt;/h5&gt;
&lt;p&gt;Defining products of type service in Microsoft Dynamics AX 2012 is fairly simple. Apart from selecting the correct product type, one essential component to remember is to associate the released product in a legal entity with an item model group, where the policy &lt;i&gt;Stocked product&lt;/i&gt; is left blank.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/4265.image_5F00_5B2BAD83.png"&gt;&lt;img height="467" width="775" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-81-metablogapi/2234.image_5F00_thumb_5F00_4183D4BC.png" alt="image" border="0" title="image" style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;This policy is new, and it ensures that products of type service will be expensed and not stocked in inventory.&lt;/p&gt;
&lt;p&gt;The following recommendations apply: &lt;/p&gt;
&lt;table cellpadding="0" cellspacing="0" border="1"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td width="226" valign="top"&gt;&amp;nbsp;&lt;/td&gt;
&lt;td width="226" valign="top"&gt;
&lt;p&gt;&lt;b&gt;Standard service product&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td width="226" valign="top"&gt;
&lt;p&gt;&lt;b&gt;Service product as part of BOM&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;(subcontracting)&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="226" valign="top"&gt;
&lt;p&gt;&lt;b&gt;Stocked product = false&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td width="226" valign="top"&gt;
&lt;p&gt;- Recommended &amp;ndash; will ensure that product costs are expensed directly&lt;/p&gt;
&lt;p&gt;- No inventory operations required&lt;/p&gt;
&lt;/td&gt;
&lt;td width="226" valign="top"&gt;
&lt;p&gt;- Not recommended &lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="226" valign="top"&gt;
&lt;p&gt;&lt;b&gt;Stocked product = true&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td width="226" valign="top"&gt;
&lt;p&gt;- Not recommended&lt;/p&gt;
&lt;/td&gt;
&lt;td width="226" valign="top"&gt;
&lt;p&gt;- Recommended &amp;ndash; will ensure that product costs can be captured in a BOM structure&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;As the above matrix illustrates, if a product of type service is to be used both as a standard product offering &lt;b&gt;&lt;span style="text-decoration: underline;"&gt;and&lt;/span&gt;&lt;/b&gt; included in a BOM cost calculation (for a subcontracting scenario for example), it will require two unique product IDs.&lt;/p&gt;
&lt;p&gt;From a master planning and subcontracting perspective, the below constraints dictate that non-stocked service products cannot participate in subcontracting scenarios: &lt;/p&gt;
&lt;p&gt;&amp;middot; From Master planning perspective, the non-stocked service product cannot be part of a bill of material. Demand from a higher level bill of material item cannot create drive demand towards a non-stocked product&lt;/p&gt;
&lt;p&gt;&amp;middot; From product costing perspective, the non-stocked service product cannot be part of a bill of material and cannot contribute to the direct cost of a finished goods&lt;/p&gt;
&lt;p&gt;For a service item to support subcontracting and be included in master planning, the service item has to be setup as stocked. &lt;/p&gt;
&lt;p&gt;Regardless of the policy setting in the associated item model group for a product of type service, the inventory storage dimension group will still have to be specified on the product setup. However, only storage dimension site is mandatory for a source document line for a non-stocked service.&lt;/p&gt;
&lt;table cellpadding="0" cellspacing="0" border="1"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td width="679" valign="top"&gt;
&lt;p&gt;Notice: during upgrade from Microsoft Dynamics AX 2009 or earlier to Microsoft Dynamics AX 2012, all items defined with item type = service, will be upgraded to products of product type = service. The associated item model group for the released product of type service will have its &lt;i&gt;Stocked product&lt;/i&gt; value, by default, set to &lt;b&gt;&lt;span style="text-decoration: underline;"&gt;true&lt;/span&gt;&lt;/b&gt;.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h5&gt;Order management and inventory control management&lt;/h5&gt;
&lt;p&gt;Looking at the service item example from in the beginning of this document, the most noticeable change in Microsoft Dynamics AX 2012 is the ability to decouple order management and inventory control management.&lt;/p&gt;
&lt;p&gt;Although products of type service can either be not stocked or stocked (in subcontracting scenarios), the purchase requisition in Microsoft Dynamics AX 2012 no longer requires &lt;i&gt;dummy&lt;/i&gt; service items to include in catalogs, because of the new stocked product policy.&lt;/p&gt;
&lt;p&gt;The policy now supports to be able to both procure and sell all kinds of products in a consolidated manner, which means on a single order. &lt;/p&gt;
&lt;p&gt;Please note that system supports the conversion between stocked and non-stocked services.&lt;/p&gt;
&lt;h5&gt;Summary&lt;/h5&gt;
&lt;p&gt;With Microsoft Dynamics AX 2012 new capabilities of selling and procuring, decoupled from inventory control, have been introduced. This non-stocked trade is being supported by a new policy called stocked product on the item model group.&lt;/p&gt;
&lt;p&gt;By applying the policy, products of type service can be expensed directly without any use of inventory control processes.&lt;/p&gt;
&lt;p&gt;By Mai-Britt Winther and &lt;a href="http://dk.linkedin.com/in/ievgeniikorovin"&gt;Ievgenii Korovin&lt;/a&gt;&lt;/p&gt;
&lt;h6&gt;Disclaimer&lt;/h6&gt;
&lt;p&gt;&lt;b&gt;All the information about AX 2012 posted here is a pre-release. Any feature is a subject to be changed before the release without notice. &lt;br /&gt;This disclaimer is applicable to all posts about AX 2012 in this blog.&lt;/b&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10170275" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/Dynamics+AX/">Dynamics AX</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/Supply+Chain+Management/">Supply Chain Management</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/Warehouse+Management/">Warehouse Management</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/Dynamics+AX+2009/">Dynamics AX 2009</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/Microsoft+Dynamics+AX+2012/">Microsoft Dynamics AX 2012</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/Item_2D00_Product+Data+Management/">Item-Product Data Management</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/Dynamics+Ax+2012/">Dynamics Ax 2012</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/What_2700_s+new+in+Dynamics+Ax+2012/">What's new in Dynamics Ax 2012</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/Service+products/">Service products</category><category domain="http://blogs.msdn.com/b/dynamicsaxscm/archive/tags/Stocked+products/">Stocked products</category></item></channel></rss>