<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-6143023856127282817</id><updated>2012-01-26T14:35:59.093+01:00</updated><category term='C#'/><category term='Development methodology'/><category term='FoxPro'/><category term='Dynamics AX 6'/><category term='Add-ons'/><category term='SQL'/><category term='Agile'/><category term='software'/><category term='Beta'/><category term='SSRS'/><category term='TechnialPreview'/><category term='Trivia'/><category term='Dynamics AX'/><category term='ODBC'/><category term='review'/><category term='Office2010'/><category term='book'/><category term='Dynamics AX 2009'/><title type='text'>DeniZone</title><subtitle type='html'>- on Dynamics AX - software development methodologies - and other exciting topics</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://denizone.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6143023856127282817/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://denizone.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Mr. Denize</name><uri>http://www.blogger.com/profile/03374723335458096148</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp2.blogger.com/_yNeuCYAI8hE/R-38U4jEncI/AAAAAAAAA08/yrVG02jxOwc/S220/me.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>37</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-6143023856127282817.post-1574522110360246849</id><published>2011-11-23T12:57:00.000+01:00</published><updated>2011-11-23T12:57:26.943+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Agile'/><title type='text'>Agile development and ERP</title><content type='html'>Here is small collection of blog-posts, articles and case-studies on Agile and Enterprise Resource Planning implementations.&lt;br /&gt;The post &lt;a href="http://www.infoq.com/news/2011/11/21" target="_blank"&gt;Can Agile Practices Prevent ERP Disaster&lt;/a&gt; sums up different sources on the topic and &lt;a href="http://www.guerrillaprojectmanagement.com/agile-practices-in-large-system-integration-projects" target="_blank"&gt;Agile practices in large system integration projects&lt;/a&gt; introduces a series of posts all dealing with agile and ERP. &lt;br /&gt;&lt;br /&gt;MSDynamicsworld.com has a post titled &lt;a href="http://msdynamicsworld.com/story/accounting/how-substitute-agile-erp-implementation-waterfall-approach" target="_blank"&gt;How to Substitute Agile ERP Implementation for the Waterfall Approach&lt;/a&gt; which is spot on, when it comes strong link between the waterfall model and ERP-implementations.&lt;br /&gt;&lt;br /&gt;InfoQ has a whole &lt;a href="http://www.infoq.com/agile/" target="_blank"&gt;subsite&lt;/a&gt; dedicated to agile processes and Jesper Boeg's introduction to Kanban "&lt;a href="http://www.infoq.com/minibooks/priming-kanban-jesper-boeg" target="_blank"&gt;Priming Kanban&lt;/a&gt;" can be downloaded for free.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6143023856127282817-1574522110360246849?l=denizone.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://denizone.blogspot.com/feeds/1574522110360246849/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6143023856127282817&amp;postID=1574522110360246849' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6143023856127282817/posts/default/1574522110360246849'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6143023856127282817/posts/default/1574522110360246849'/><link rel='alternate' type='text/html' href='http://denizone.blogspot.com/2011/11/agile-development-and-erp.html' title='Agile development and ERP'/><author><name>Mr. Denize</name><uri>http://www.blogger.com/profile/03374723335458096148</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp2.blogger.com/_yNeuCYAI8hE/R-38U4jEncI/AAAAAAAAA08/yrVG02jxOwc/S220/me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6143023856127282817.post-548573489660919486</id><published>2010-11-03T09:52:00.000+01:00</published><updated>2010-11-03T09:52:00.897+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Dynamics AX'/><title type='text'>Dynamics AX Easter Egg</title><content type='html'>&lt;a href="http://gotdax.blogspot.com/"&gt;Jacob&lt;/a&gt; posted this &lt;a href="http://en.wikipedia.org/wiki/Easter_egg_(media)"&gt;easter egg&lt;/a&gt; on his blog - funny little thing&lt;br /&gt;I know it's a "bit" off-season, but funny nonetheless&lt;br /&gt;&lt;br /&gt;static void easterEgg(Args _args)&lt;br /&gt;{;&lt;br /&gt;&amp;nbsp; &amp;nbsp; info(conPeek(new HeapCheck().createAContainer(), 4));&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6143023856127282817-548573489660919486?l=denizone.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://denizone.blogspot.com/feeds/548573489660919486/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6143023856127282817&amp;postID=548573489660919486' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6143023856127282817/posts/default/548573489660919486'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6143023856127282817/posts/default/548573489660919486'/><link rel='alternate' type='text/html' href='http://denizone.blogspot.com/2010/11/dynamics-ax-easter-egg.html' title='Dynamics AX Easter Egg'/><author><name>Mr. Denize</name><uri>http://www.blogger.com/profile/03374723335458096148</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp2.blogger.com/_yNeuCYAI8hE/R-38U4jEncI/AAAAAAAAA08/yrVG02jxOwc/S220/me.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6143023856127282817.post-46365091413882480</id><published>2010-10-27T09:02:00.002+02:00</published><updated>2010-10-27T10:18:58.761+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Dynamics AX 6'/><category scheme='http://www.blogger.com/atom/ns#' term='SSRS'/><title type='text'>AX6, Reports and SSRS</title><content type='html'>As mentioned in a previous &lt;a href="http://denizone.blogspot.com/2010/10/more-on-ax-6-from-techincal-conference.html"&gt;post&lt;/a&gt; on the sample content of the Technical Conference on AX, many tracks have SSRS and the transition from X++ reporting to SSRS reporting as a theme, and I anticipate that SSRS will be the de-facto reporting language in future versions of AX.&lt;br /&gt;However, as Saveen Reddy mentions on his &lt;a href="http://blogs.msdn.com/b/saveenr/"&gt;blog&lt;/a&gt;, the transition from X++ to SSRS is no novelty. The gap between the two technologies is too big, despite many white papers, blogs and documents, and consultants and developers need to ramp up their skills in order to offer customers the full benefits of their AX investment.&lt;br /&gt;Luckily Saveen Reddy, lead programme manager for Dynamics AX Business Intelligence, acknowledges this difficulty in making the transition and has a series of posts on his blog, which might help developers and consultants alike "being productive", as he calls it.&lt;br /&gt;The plan is a 4 phase series, which is already posted, so there is ample opportunity for us all to start learning SSRS and how it collaborates with Dynamics AX 6, for as Saveen Reddy states in no uncertain terms:&lt;br /&gt;&lt;span style="font-size: 85%;"&gt;&lt;i&gt;'And again why should you care? I’ll repeat again: the future of AX Reporting is SSRS. Internalize that message. I cannot emphasize it enough. X++ will continue to see much less investment in the future. Becoming very familiar with SSRS is your best bet to stay productive with AX in the future.'&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;Read the first post &lt;a href="http://blogs.msdn.com/b/saveenr/archive/2010/05/01/how-to-be-productive-with-ssrs-and-dynamics-ax-2009-a-new-approach.aspx"&gt;here&lt;/a&gt; and see all of the published posts on SSRS and AX 6 &lt;a href="http://blogs.msdn.com/b/saveenr/archive/tags/dynamicsax/"&gt;here&lt;/a&gt;&lt;span style="font-size: 85%;"&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 85%;"&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6143023856127282817-46365091413882480?l=denizone.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://denizone.blogspot.com/feeds/46365091413882480/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6143023856127282817&amp;postID=46365091413882480' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6143023856127282817/posts/default/46365091413882480'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6143023856127282817/posts/default/46365091413882480'/><link rel='alternate' type='text/html' href='http://denizone.blogspot.com/2010/10/ax-6-reports-and-srss.html' title='AX6, Reports and SSRS'/><author><name>Mr. Denize</name><uri>http://www.blogger.com/profile/03374723335458096148</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp2.blogger.com/_yNeuCYAI8hE/R-38U4jEncI/AAAAAAAAA08/yrVG02jxOwc/S220/me.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6143023856127282817.post-4605042171277964665</id><published>2010-10-07T09:05:00.000+02:00</published><updated>2010-10-07T16:09:09.265+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Dynamics AX 6'/><title type='text'>More on AX 6 from the Techincal Conference Programme</title><content type='html'>During the last couple of weeks the programme for the Dynamics AX 2011 Technical Conference has been disclosed gradually. You can head about the conference &lt;a href="http://www.microsoft.com/dynamics/DynamicsAXTechnicalConference2011/"&gt;here&lt;/a&gt;, which in itself is an interesting read.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Much more interesting is the sample session content, which indicates in which direction Microsoft Dynamics AX is heading. I have written about the &lt;a href="http://denizone.blogspot.com/2010/06/new-x-editor-in-action.html"&gt;X++ editor&lt;/a&gt; and I posted &lt;a href="http://denizone.blogspot.com/2010/01/summary-of-ax6.html"&gt;a general summary of AX 6 posts&lt;/a&gt; I found around the web. Going through the sample &lt;a href="http://www.microsoft.com/dynamics/DynamicsAXTechnicalConference2011/SessionContent.aspx#table"&gt;session content&lt;/a&gt; further hints to new functionality coming to light, e.g. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;'the new granular metadata support for forms which reduces the upgrade impact, the new metadata driven approach to making the UI context-aware based on country region, the new managed host control which enables easier integration of WPF or WinForm controls, and the ease of use for controls supporting the enhanced user experience.'&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;and a very interesting session which is described this way:&lt;/div&gt;&lt;div&gt;'Outline the programming models and developer tools in Microsoft Dynamics AX. Layout guidelines for choosing the right programming model, language (.NET or X++) and development tools (MorphX or Visual Studio) for categories of development.'&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;along with several session covering an upgrade of a X++ report in a SSRS context indicating what I talked about earlier, i.e. that Microsoft is pushing .NET and SSRS as the defacto standard programming languages/platforms for future versions of Dynamics AX. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;To me, it appears that Project Green is arisen in another guise. So instead of having the same kernel for the whole Dynamics portfolio, Microsoft are moving the development tools and language to their .NET framework and Reporting Services.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6143023856127282817-4605042171277964665?l=denizone.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://denizone.blogspot.com/feeds/4605042171277964665/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6143023856127282817&amp;postID=4605042171277964665' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6143023856127282817/posts/default/4605042171277964665'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6143023856127282817/posts/default/4605042171277964665'/><link rel='alternate' type='text/html' href='http://denizone.blogspot.com/2010/10/more-on-ax-6-from-techincal-conference.html' title='More on AX 6 from the Techincal Conference Programme'/><author><name>Mr. Denize</name><uri>http://www.blogger.com/profile/03374723335458096148</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp2.blogger.com/_yNeuCYAI8hE/R-38U4jEncI/AAAAAAAAA08/yrVG02jxOwc/S220/me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6143023856127282817.post-3089336759129351444</id><published>2010-06-01T09:59:00.000+02:00</published><updated>2010-06-02T09:14:00.084+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Dynamics AX 6'/><title type='text'>The new X++ editor in action</title><content type='html'>During the last couple of months &lt;a href="http://blogs.msdn.com/b/vnicolas/"&gt;Vincent&lt;/a&gt; published more details on how the upcoming X++ editor will present itself.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I previoulsy &lt;a href="http://denizone.blogspot.com/2009/06/x-and-c-compared.html"&gt;discussed&lt;/a&gt; some of the features which the community have called out for and it seems that Microsoft hear our prayers.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;In &lt;a href="http://blogs.msdn.com/b/vnicolas/archive/2010/01/27/dynamics-ax6-the-new-x-editor-part-2.aspx"&gt;this post&lt;/a&gt; Vincent shows some nice screenshots of the new IntelliSense, (which AxAssist provides for 3.0, 4.0 and 2009) and in &lt;a href="http://www.dynamicsaxbr.com/wp-content/uploads/2010/05/editorDemo2.wmv"&gt;this video&lt;/a&gt; you can see some of the new features in action.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6143023856127282817-3089336759129351444?l=denizone.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://denizone.blogspot.com/feeds/3089336759129351444/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6143023856127282817&amp;postID=3089336759129351444' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6143023856127282817/posts/default/3089336759129351444'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6143023856127282817/posts/default/3089336759129351444'/><link rel='alternate' type='text/html' href='http://denizone.blogspot.com/2010/06/new-x-editor-in-action.html' title='The new X++ editor in action'/><author><name>Mr. Denize</name><uri>http://www.blogger.com/profile/03374723335458096148</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp2.blogger.com/_yNeuCYAI8hE/R-38U4jEncI/AAAAAAAAA08/yrVG02jxOwc/S220/me.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6143023856127282817.post-2388969627028571620</id><published>2010-01-11T11:51:00.000+01:00</published><updated>2010-01-13T09:14:20.566+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Dynamics AX 6'/><title type='text'>Summary of AX6</title><content type='html'>Just thought I would post some of the links I found regarding AX6:&lt;br /&gt;&lt;br /&gt;mpf has a series on the new AX Models, which will form the basis of deployment in future versions. The series consists of 4 parts, all of them well worth the read:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blogs.msdn.com/mfp/archive/2009/09/23/introducing-ax-models-part-1.aspx"&gt;AX Models - Part 1 - Deploying models&lt;/a&gt;&lt;br /&gt;&lt;a href="http://blogs.msdn.com/mfp/archive/2009/09/29/introducing-ax-models-part-2.aspx"&gt;AX Models - Part 2 - Manifest and Signing&lt;/a&gt;&lt;br /&gt;&lt;a href="http://blogs.msdn.com/mfp/archive/2009/10/08/introducing-ax-models-part-3.aspx"&gt;AX Models - Part 3 - Multiple Models per Layer&lt;/a&gt;&lt;br /&gt;&lt;a href="http://blogs.msdn.com/mfp/archive/2009/11/25/ax-models-part-4-working-with-models-inside-morphx.aspx"&gt;AX Models - Part 4 - Working with Models Inside MorphX&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Furthermore, Vincent has some nice changes made to the Editor, which can be seen here:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blogs.msdn.com/vnicolas/archive/2009/10/11/dynamics-ax6-the-new-x-editor.aspx"&gt;Dynamics AX6 - The new X++ editor&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;It appears that some of the things I discussed in &lt;a href="http://denizone.blogspot.com/2009/06/x-and-c-compared.html"&gt;x++ and C# compared&lt;/a&gt; are being implemented, which is much needed and widely wished for, as can be told by the number of comments on Vincent's post.&lt;br /&gt;&lt;br /&gt;All in all, some nice improvements are bound for AX6 - when more details and posts appear around the net, I will add them to this post.&lt;br /&gt;&lt;br /&gt;If you know of posts which relate to AX 6 which I havn't got on my list, please feel free to add them in the comment field, and I will add them to the list.&lt;br /&gt;&lt;br /&gt;EDIT:&lt;br /&gt;Having browsed through mpf's blog again - I found a few more posts on AX6:&lt;br /&gt;&lt;a href="http://blogs.msdn.com/mfp/archive/2009/04/02/ax6-sneak-preview-x-unit-test-improvements.aspx"&gt;AX6 sneak preview - X++ Unit test improvements&lt;/a&gt;&lt;br /&gt;&lt;a href="http://blogs.msdn.com/mfp/archive/2009/05/25/ax6-sneak-preview-elements-with-32-bit-ids.aspx"&gt;AX6 sneak preview - elements with 32 bit IDs&lt;/a&gt;&lt;br /&gt;&lt;a href="http://blogs.msdn.com/mfp/archive/2009/05/01/ax6-sneak-preview-sql-aod.aspx"&gt;AX6 sneak preview - SQL AOD&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Microsoft has also published their statement of direction, in which further functionality changes which will influence developers and their work are mentioned, so if you have access to PartnerSource it's a must read, as it gives an indication where AX is headed&lt;br /&gt;&lt;a href="https://mbs.microsoft.com/partnersource/marketing/statementofdirection/StatementofDirection.htm"&gt;Statement of Direction for Microsoft Dynamics AX&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6143023856127282817-2388969627028571620?l=denizone.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://denizone.blogspot.com/feeds/2388969627028571620/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6143023856127282817&amp;postID=2388969627028571620' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6143023856127282817/posts/default/2388969627028571620'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6143023856127282817/posts/default/2388969627028571620'/><link rel='alternate' type='text/html' href='http://denizone.blogspot.com/2010/01/summary-of-ax6.html' title='Summary of AX6'/><author><name>Mr. Denize</name><uri>http://www.blogger.com/profile/03374723335458096148</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp2.blogger.com/_yNeuCYAI8hE/R-38U4jEncI/AAAAAAAAA08/yrVG02jxOwc/S220/me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6143023856127282817.post-3457030504665474296</id><published>2010-01-07T15:50:00.000+01:00</published><updated>2010-01-07T20:18:22.979+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Dynamics AX 2009'/><category scheme='http://www.blogger.com/atom/ns#' term='review'/><category scheme='http://www.blogger.com/atom/ns#' term='book'/><title type='text'>Preview to review of Microsoft Dynamics AX 2009 Programming: Getting Started</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.packtpub.com/microsoft-dynamics-ax-2009-programming?utm_source=daxguy.blogspot.com&amp;amp;utm_medium=bookrev&amp;amp;utm_content=blog&amp;amp;utm_campaign=mdb_001968"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 100px; height: 123px;" src="https://www.packtpub.com/images/100x123/1847197302.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;As I mentioned in my &lt;a href="http://denizone.blogspot.com/2009/12/msdn-with-wiki-content-on-ax-2009.html"&gt;post&lt;/a&gt; on the new feature of community content on MSDN, a new developer book has been published by &lt;a href="http://www.packtpub.com/"&gt;Packt Publishing&lt;/a&gt;, viz. &lt;a href="http://www.packtpub.com/microsoft-dynamics-ax-2009-programming/book?utm_source=denizone.blogspot.com&amp;amp;utm_medium=bookrev&amp;amp;utm_content=blog&amp;amp;utm_campaign=mdb_002027"&gt;"Microsoft Dynamics AX 2009 Programming: Getting Started"&lt;/a&gt; by Erlend Dalen.&lt;br /&gt;&lt;br /&gt;I have the privilege of writing a review of the book, but until I read the book from page to page, there is a sample chapter for you all the study titled &lt;a href="http://www.packtpub.com/files/7306-microsoft-dynamics-ax-2009-programming-getting-started-sample-chapter-no-5-searching-for-data.pdf"&gt;"Searching for Data"&lt;/a&gt;.&lt;br /&gt;Having scanned the content of the book I am certain that it will provide the novice AX programmer with an easy accessable introduction to the programming language itself, its core syntax and structure along with step-by-step guides on how to e.g. create queries, as exemplified in the sample chapter which you can download from the link above.&lt;br /&gt;&lt;br /&gt;One thing that I can readily tell is that 'foo' and 'bar' examples have been substituted with a business-like scenario of a car rental, so you get the feel of real life examples while learning the basics.&lt;br /&gt;&lt;br /&gt;Enjoy the sample chapter and stay tuned for a full review.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6143023856127282817-3457030504665474296?l=denizone.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://denizone.blogspot.com/feeds/3457030504665474296/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6143023856127282817&amp;postID=3457030504665474296' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6143023856127282817/posts/default/3457030504665474296'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6143023856127282817/posts/default/3457030504665474296'/><link rel='alternate' type='text/html' href='http://denizone.blogspot.com/2010/01/preview-to-review-of-microsoft-dynamics.html' title='Preview to review of Microsoft Dynamics AX 2009 Programming: Getting Started'/><author><name>Mr. Denize</name><uri>http://www.blogger.com/profile/03374723335458096148</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp2.blogger.com/_yNeuCYAI8hE/R-38U4jEncI/AAAAAAAAA08/yrVG02jxOwc/S220/me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6143023856127282817.post-7574883845228499240</id><published>2009-12-20T09:45:00.000+01:00</published><updated>2009-12-24T08:21:44.847+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Dynamics AX'/><category scheme='http://www.blogger.com/atom/ns#' term='Dynamics AX 2009'/><title type='text'>MSDN with wiki content on AX 2009</title><content type='html'>There are many reasons why we bloggers blog, depending on the type of posts you post of course. Some rant about their personal relationsships, some about political stuff, and yet some about their work and / or hobbies. I fall into the last category - my posts are for myself ( so I don't forget stuff ) and for other AX people, much in the same way as &lt;a href="http://dynamics-ax-live.blogspot.com/2009/12/jubilee.html"&gt;Willy&lt;/a&gt;. When I started on AX development I knew only very little about programming in practice and very much about theory ( having a MA in Information Technology ). During my studies I buddied up with &lt;a href="http://tinodidriksen.com/"&gt;Tino&lt;/a&gt; at the &lt;a href="http://visl.sdu.dk/"&gt;VISL-project&lt;/a&gt; where I did the user-oriented studies and he did the programming ( his programming skills are still out of this world ).&lt;br /&gt;&lt;br /&gt;So when it got round to AX development, I was scared s**tless over the lack of how-to's, documentation and manuals for AX. Much of know-how seemed to be anchored in the people who somehow were in contact with the Damgaard company or former Damgaard employees and the most common respons to programming problems was "see if you can find similar functionality in the std. application, and steal with pride". However, many of the problems were not represented in the std. application though of such a general nature, that someone out there must have a solution or hint to how to solve it. And this is where blogs and forums enter the scene. There are a plethora of blogs and forum posts out there which deal with, suggest solutions to an almost ever increasing pool of good questions ( imo - there are no stupid questions ).&lt;br /&gt;Two of the sites which helped me - and continue to do so - are &lt;a href="http://www.axaptapedia.com/"&gt;Axaptapedia&lt;/a&gt; and the &lt;a href="http://www.microsoft.com/communities/newsgroups/en-us/default.aspx?dg=microsoft.public.axapta.programming"&gt;Axapta Programming site&lt;/a&gt; and to a lesser extend &lt;a href="http://msdn.microsoft.com/en-us/library/dd448627.aspx"&gt;MSDN&lt;/a&gt;, and this blog is my way of repaying the AX community in the same way I was helped in my hours of need for specific problems, and general discussions on AX related stuff.&lt;br /&gt;&lt;br /&gt;Then I read the &lt;a id="bp___v___bt___BlogTitle" class="headermaintitle" href="http://www.blogger.com/axsdkupdates/default.aspx"&gt;Microsoft Dynamics AX SDK Updates Blog&lt;/a&gt; and as of Nov. 10th Community content ( or wiki content ) can be added to articles ( currently only SDK 2009 - but 4.0 is in the making ). Great days are ahead of us - more books on X++ development are published now than when I started, the most recent  ( &lt;a href="http://www.packtpub.com/microsoft-dynamics-ax-2009-programming/book"&gt;'Microsoft Dynamics AX 2009 Programming : Getting started' by Erlen Dalen  &lt;/a&gt;) appears to be an up-to-date of Steen Andreasen's &lt;a href="http://www.steenandreasen.com/index.php?page=morphx-it"&gt;MorphX IT&lt;/a&gt; ( which I still recommend to new AX developers ), but adding the possibilty of contributing to MSDN will increase it's overall value to AX developers out there. Kudos to the MS AX2009 SDK team which do a great job adding value to the documentation which was sparse to say the least until an increased effort from MS came about some years ago.&lt;br /&gt;&lt;br /&gt;Happy hacking,&lt;br /&gt;Steffen&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6143023856127282817-7574883845228499240?l=denizone.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://denizone.blogspot.com/feeds/7574883845228499240/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6143023856127282817&amp;postID=7574883845228499240' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6143023856127282817/posts/default/7574883845228499240'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6143023856127282817/posts/default/7574883845228499240'/><link rel='alternate' type='text/html' href='http://denizone.blogspot.com/2009/12/msdn-with-wiki-content-on-ax-2009.html' title='MSDN with wiki content on AX 2009'/><author><name>Mr. Denize</name><uri>http://www.blogger.com/profile/03374723335458096148</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp2.blogger.com/_yNeuCYAI8hE/R-38U4jEncI/AAAAAAAAA08/yrVG02jxOwc/S220/me.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6143023856127282817.post-3489007693516614088</id><published>2009-11-24T15:06:00.000+01:00</published><updated>2009-11-24T15:27:22.978+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Dynamics AX'/><category scheme='http://www.blogger.com/atom/ns#' term='Dynamics AX 2009'/><title type='text'>Pass by reference vs. pass by value</title><content type='html'>This one is for myself, as I often forget how to implement pass by reference and pass by value, and what the difference is between them.&lt;br /&gt;Pass by reference:&lt;br /&gt;&lt;br /&gt;Declare varible and set it :&lt;br /&gt;SalesLine  salesLine = salesLine4&lt;br /&gt;&lt;br /&gt;Down-side is if salesLine4 changes - so does salesLine&lt;br /&gt;&lt;br /&gt;Pass by value:&lt;br /&gt;&lt;br /&gt;SalesLine salesLine;&lt;br /&gt;salesLine.data(salesLine4);&lt;br /&gt;&lt;br /&gt;Happy ax-hacking&lt;br /&gt;&lt;br /&gt;If salesLine4 changes - salesLine doesn't&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6143023856127282817-3489007693516614088?l=denizone.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://denizone.blogspot.com/feeds/3489007693516614088/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6143023856127282817&amp;postID=3489007693516614088' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6143023856127282817/posts/default/3489007693516614088'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6143023856127282817/posts/default/3489007693516614088'/><link rel='alternate' type='text/html' href='http://denizone.blogspot.com/2009/11/pass-by-reference-vs-pass-by-value.html' title='Pass by reference vs. pass by value'/><author><name>Mr. Denize</name><uri>http://www.blogger.com/profile/03374723335458096148</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp2.blogger.com/_yNeuCYAI8hE/R-38U4jEncI/AAAAAAAAA08/yrVG02jxOwc/S220/me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6143023856127282817.post-5539937728421431994</id><published>2009-11-16T08:45:00.000+01:00</published><updated>2009-11-16T08:58:47.991+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Dynamics AX'/><category scheme='http://www.blogger.com/atom/ns#' term='Dynamics AX 2009'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><title type='text'>Deleting duplicate records in SQL</title><content type='html'>Recently I needed to delete some duplicate records across several companies in AX. The table is self-contained so I needn't worry about delete actions or validation and as there are several companies I wanted to try and do it SQL-style. So this is what I came up with&lt;br /&gt;&lt;br /&gt;DELETE FROM [Table with Duplicates]&lt;br /&gt;WHERE [Primary Key Field] IN&lt;br /&gt;DELETE FROM [Table with Duplicates]&lt;br /&gt;WHERE [Primary Key Field] IN&lt;br /&gt;(&lt;br /&gt;SELECT a.[Primary Key Field]&lt;br /&gt;FROM [Table with Duplicates] a,&lt;br /&gt;[Table with Duplicates] b&lt;br /&gt;&lt;br /&gt;WHERE a.[Primary Key Field]!= b.[Primary Key Field] -- i.e. Userkey&lt;br /&gt;AND a.[Value to check]= b.[Value to Check] -- i.e. Lastname&lt;br /&gt;AND a.[Second Value to Check] = b.[Second Value to Check] -- i.e. Firstname&lt;br /&gt;AND a.[Primary Key Field] &lt; b.[Primary Key Field] -- i.e. Userkey&lt;br /&gt;)&lt;br /&gt;&lt;br /&gt;Respect to the original poster at &lt;a href="http://www.sqlteam.com/forums/topic.asp?TOPIC_ID=6256"&gt;SQL Server forum. &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Remember always to backup your data and try the SQL-statement on a test table before you do anything on data which will be used in live environments.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6143023856127282817-5539937728421431994?l=denizone.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://denizone.blogspot.com/feeds/5539937728421431994/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6143023856127282817&amp;postID=5539937728421431994' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6143023856127282817/posts/default/5539937728421431994'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6143023856127282817/posts/default/5539937728421431994'/><link rel='alternate' type='text/html' href='http://denizone.blogspot.com/2009/11/deleting-duplicate-records-in-sql.html' title='Deleting duplicate records in SQL'/><author><name>Mr. Denize</name><uri>http://www.blogger.com/profile/03374723335458096148</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp2.blogger.com/_yNeuCYAI8hE/R-38U4jEncI/AAAAAAAAA08/yrVG02jxOwc/S220/me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6143023856127282817.post-6272349609010490791</id><published>2009-09-02T08:57:00.000+02:00</published><updated>2009-12-25T07:58:14.805+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Dynamics AX 2009'/><title type='text'>The future of X++</title><content type='html'>During the summmer Microsoft announced that&lt;a href="https://mbs.microsoft.com/partnersource/newsevents/news/newsgeneral/ax_epuiframework.htm"&gt; X++ based Web User Interface is discontinues in the next version of EP&lt;/a&gt; which hardly comes as a surprise - &lt;a href="http://daxdilip.blogspot.com/2009/08/x-web-ui-framework-in-enterprise-portal.html"&gt;Dilip&lt;/a&gt; has some nice thoughs on the subject, and as he says this will allow developers to use Web 3.0 Framework.&lt;br /&gt;&lt;br /&gt;On Channel 9 - "&lt;span id="ctl00_MainPlaceHolder_Starter_BodyLabel"&gt;Dynamics Program Manager Peter  Villadsen and Software Developer Gustavo Plancarte teach us about a new tool  they've developed that translates X++ byte code into MSIL. We learn a lot of  history along the way and gain insights into the process of taking X++ into the  .NET age.&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Microsoft Dynamics features a proprietary language called X++ (basically a  superset of Java, with some strong data primitives added) and a complete stack  (compiler, interpreter and debugger) that goes with it. The new feature Peter  and team have developed is a tool to generate managed code from the X++  intermediate language produced by the X++ compiler. This will have profound  impact on the performance of the business applications written in X++, and it  very clearly points to where they'll be going in the next few releases of  Dynamics Ax."&lt;/p&gt;&lt;p&gt;Watch the video &lt;a href="http://beta.channel9.msdn.com/posts/Charles/Peter-Villadsen-and-Gustavo-Plancarte-Inside-Ax-Translator-X-to-MSIL/"&gt;here&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;My thoughts on the subject - as I posted on Dilip's blog, is that X++ sooner than later will become the new COBOL; 'pure' X++ code and developers will never die completly due to the exsisting code-base already out there, which has to be maintained but when the full implementation of an intermedia langauge parser comes into exsistence .NET programmers will be able to code Dynamics AX customizations in e.g. Visual Studio.  There are many blessings in X++ - Extended Data Types and it's function to name one - which does not exsist in other languages ( to my knowledge ) which newer generations of developers will probably not fanthom if the platform will be migrated completly to the .NET-platform.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;The progress begs the question - what are the advantages in the migration from X++ to .NET? Hard to tell for a X++ 'evangelist' but one thing could be the that Microsoft wish to consolidate NAV and AX development to the .NET platform through the intermediate language and thus open ERP development to the many exsisting .NET developers. This will perhaps position Microsoft better in the ERP market versus e.g. SAP if in a few years all the .NET programmers will be able to develop ERP solutions?&lt;br /&gt;&lt;/p&gt;&lt;p&gt;The days where a X++ developer could get by with "only" SQL and X++ skills are soon to end. Already for ISVs to give customers the full advantage of their Dynamics AX 2009 investment, their competencies has to include .NET programmers and Business Intelligence people (&lt;span id="ctl00_MainPlaceHolder_Starter_BodyLabel"&gt;e.g. &lt;/span&gt;MDX, Reporting Services) on top of the traditional X++ and SQL teams. This will bring new challenges to ISVs and Dynamics AX team composition.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;/span&gt;&lt;h2&gt;&lt;br /&gt;&lt;/h2&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6143023856127282817-6272349609010490791?l=denizone.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://denizone.blogspot.com/feeds/6272349609010490791/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6143023856127282817&amp;postID=6272349609010490791' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6143023856127282817/posts/default/6272349609010490791'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6143023856127282817/posts/default/6272349609010490791'/><link rel='alternate' type='text/html' href='http://denizone.blogspot.com/2009/09/future-of-x.html' title='The future of X++'/><author><name>Mr. Denize</name><uri>http://www.blogger.com/profile/03374723335458096148</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp2.blogger.com/_yNeuCYAI8hE/R-38U4jEncI/AAAAAAAAA08/yrVG02jxOwc/S220/me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6143023856127282817.post-8460748995076637607</id><published>2009-07-18T09:02:00.001+02:00</published><updated>2009-08-20T12:39:20.957+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='TechnialPreview'/><category scheme='http://www.blogger.com/atom/ns#' term='Office2010'/><category scheme='http://www.blogger.com/atom/ns#' term='Beta'/><title type='text'>Office 2010 Technical Preview</title><content type='html'>&lt;p align="center"&gt;&lt;a href="http://www.microsoft.com/office/2010/"&gt;&lt;img style="width: 400px; height: 108px;" id="BLOGGER_PHOTO_ID_5359717506418026578" alt="" src="http://1.bp.blogspot.com/_yNeuCYAI8hE/SmGKrNJ9KFI/AAAAAAAABig/BgPzZPOGaag/s400/Office2010_techPreview.png" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;Beta testing - technical preview - the words make me tingle, and getting the opportunity to actually get my hands on alpha/beta/RC software makes me tingle even more. I've done my fair share of pre-rtm testing in my time, e.g. running &lt;a href="http://getfirefox.com/"&gt;Firefox&lt;/a&gt; before it actually was called Firefox, writing this blog post on my&lt;a href="http://windows.microsoft.com/en-US/windows7/products/home?os=win7"&gt; Windows 7 &lt;/a&gt;64 bit RC box, loving &lt;a href="http://www.opera.com/browser/next/"&gt;Opera 10&lt;/a&gt; which had many of the features that IE and Firefox later adopted and doing QA for &lt;a href="http://www.openoffice.org/"&gt;OpenOffice&lt;/a&gt;.&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So last week I tingled a lot as I had the opportunity to join the technical preview community of &lt;a href="http://www.office2010themovie.com/"&gt;Microsoft Office 2010&lt;/a&gt;. I grabbed the chance to install the 64-bit version, which is one of the new features of Office 2010, on my windows 7 box, and installation was a breeze.&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Having a 64-bit version of Office 2010, the Office package probably being the defacto stadard of productivity suites, is a clear indication that 64-bit software is the future, and that 64-bit will most likely be gaining ground in production environments: "With Office 2010 64-bit edition, advanced users will be able to leverage the increased memory capabilities of 64-bit computing and harness this capability for analysis and manipulation of very large data sets and documents" though some VBA code require reengineering to work with the 64-bit version ( from the technical preview site ).&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So let's get on the with the preview, starting off with Word 2010&lt;/div&gt;&lt;div&gt;&lt;a href="http://3.bp.blogspot.com/_yNeuCYAI8hE/SmF9bj35BpI/AAAAAAAABiI/K9nE7ldT7sk/s1600-h/Office2010_word.PNG"&gt;&lt;img style="margin: 0px 10px 10px 0px; width: 320px; float: left; height: 220px;" id="BLOGGER_PHOTO_ID_5359702943987205778" alt="" src="http://3.bp.blogspot.com/_yNeuCYAI8hE/SmF9bj35BpI/AAAAAAAABiI/K9nE7ldT7sk/s320/Office2010_word.PNG" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;One of the things I do at work is writing documentation, both technical and user-oriented. In AX 2009 ( and 4.0 - with the prober add-on ) I have Task Recorder at my disposal for easy and fast creation of user-oriented documentation. However, sometimes I need finer detailed screen shots than Task Recorder can provide so I use &lt;a href="http://www.techsmith.com/screen-capture.asp"&gt;SnagIt&lt;/a&gt; for my needs. This works fine.&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;In Office 2010 this features has been combined with Windows 7's Snipping Tool so that you can actually past previously snipped screenshots directly into your word documented, e.g.:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://3.bp.blogspot.com/_yNeuCYAI8hE/SmGG5BNjPcI/AAAAAAAABiQ/EmGesGe9rg0/s1600-h/win7_snip.png"&gt;&lt;img style="margin: 0px 10px 10px 0px; width: 320px; float: left; height: 162px;" id="BLOGGER_PHOTO_ID_5359713345683537346" alt="" src="http://3.bp.blogspot.com/_yNeuCYAI8hE/SmGG5BNjPcI/AAAAAAAABiQ/EmGesGe9rg0/s320/win7_snip.png" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This functionality does not make third-party programmes superfluous, such as SnagIt, which has many more excellent and useful functions; the funcinality in the Snipping Tool is pretty basic, but it demonstrats how Microsoft manage to integrate/couple standard Windows functionality with other products in the software portfolio.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;This is just one of the new features of Office 2010 and as I spend some more time using it, I will most likely post some of my findings. If you have any questions regarding features of Office 2010, drop me a comment and I will see if I can find it.&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6143023856127282817-8460748995076637607?l=denizone.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://denizone.blogspot.com/feeds/8460748995076637607/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6143023856127282817&amp;postID=8460748995076637607' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6143023856127282817/posts/default/8460748995076637607'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6143023856127282817/posts/default/8460748995076637607'/><link rel='alternate' type='text/html' href='http://denizone.blogspot.com/2009/07/office-2010-technical-preview.html' title='Office 2010 Technical Preview'/><author><name>Mr. Denize</name><uri>http://www.blogger.com/profile/03374723335458096148</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp2.blogger.com/_yNeuCYAI8hE/R-38U4jEncI/AAAAAAAAA08/yrVG02jxOwc/S220/me.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_yNeuCYAI8hE/SmGKrNJ9KFI/AAAAAAAABig/BgPzZPOGaag/s72-c/Office2010_techPreview.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6143023856127282817.post-1432294227500951888</id><published>2009-06-25T08:44:00.000+02:00</published><updated>2009-06-25T09:05:20.448+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Dynamics AX 2009'/><category scheme='http://www.blogger.com/atom/ns#' term='Add-ons'/><title type='text'>Copy - paste utility</title><content type='html'>The lack of IntelliSense in the MorphX IDE ( and being too cheap to invest in AxAssist ) made me browse for an alternative. I found &lt;a href="http://www.joejoesoft.com/cms/showpage.php?cid=97"&gt;ArsClip&lt;/a&gt; which is a nifty little tool for copying and pasting; and not just for programming. It can hold your Copy and with the right setup Ctrl-Shift-V will show you a list of you previous Copy ready to be inserted.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_yNeuCYAI8hE/SkMhFk4bwjI/AAAAAAAABhw/eYDOc38BcQA/s1600-h/ArsClip.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 289px; height: 320px;" src="http://3.bp.blogspot.com/_yNeuCYAI8hE/SkMhFk4bwjI/AAAAAAAABhw/eYDOc38BcQA/s320/ArsClip.png" alt="" id="BLOGGER_PHOTO_ID_5351157161929720370" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6143023856127282817-1432294227500951888?l=denizone.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://denizone.blogspot.com/feeds/1432294227500951888/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6143023856127282817&amp;postID=1432294227500951888' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6143023856127282817/posts/default/1432294227500951888'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6143023856127282817/posts/default/1432294227500951888'/><link rel='alternate' type='text/html' href='http://denizone.blogspot.com/2009/06/copy-paste-utility.html' title='Copy - paste utility'/><author><name>Mr. Denize</name><uri>http://www.blogger.com/profile/03374723335458096148</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp2.blogger.com/_yNeuCYAI8hE/R-38U4jEncI/AAAAAAAAA08/yrVG02jxOwc/S220/me.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_yNeuCYAI8hE/SkMhFk4bwjI/AAAAAAAABhw/eYDOc38BcQA/s72-c/ArsClip.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6143023856127282817.post-2274201099060941625</id><published>2009-06-14T17:30:00.000+02:00</published><updated>2009-06-15T09:17:20.812+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Dynamics AX 2009'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>x++ and C# compared</title><content type='html'>One indicatation that Dynamics AX developers need to learn C# in order to take full advantage of future versions of AX is when MS starts &lt;a href="http://msdn.microsoft.com/en-us/library/cc967357.aspx"&gt;documenting differences in coding practices&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Personally, X++ was the first programming language which I've felt pretty comfortable with even though I've done som Java programming ( and the mandatory html coding which most programmers start out with ).&lt;br /&gt;&lt;br /&gt;I see the need for AX developers to hone ( or just begin on ) their C# skills with the introduction of EP ( version 2009 ) and the reporting service integration with e.g. the role center. I've done som Hello Word-ish programming in C# using Visual Studio 2008 and I must say that I like it. One area where X++ and MorphX out ranks C# and VS is form development. After having created some rather basic forms in C# using VS it was a pleasure returning to MorphX's drag and drop design.&lt;br /&gt;&lt;br /&gt;From what I can gather future version of AX will include a brand new &lt;a href="http://blogs.msdn.com/mfp/archive/2009/05/01/ax6-sneak-preview-sql-aod.aspx"&gt;approach to the layers&lt;/a&gt; and &lt;a href="http://blogs.msdn.com/mfp/archive/2009/05/25/ax6-sneak-preview-elements-with-32-bit-ids.aspx"&gt;id ranges on elements&lt;/a&gt; but these advantages a side - MorphX still could adopt some of the features from VS, in my opinion. One thing I really like about VS is it's IntelliSense (Thanks Morten)&lt;s&gt;"smart typing" ( I don't know what else to call it - but it's the feature when you start typing something VS automatically completes the string )&lt;/s&gt; - it can be done; &lt;a href="http://www.axassist.com/"&gt;AxAssist &lt;/a&gt;does it for you - but why not integrate the functionality into MorphX as a standard? Well - perhaps in AX 6?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6143023856127282817-2274201099060941625?l=denizone.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://denizone.blogspot.com/feeds/2274201099060941625/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6143023856127282817&amp;postID=2274201099060941625' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6143023856127282817/posts/default/2274201099060941625'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6143023856127282817/posts/default/2274201099060941625'/><link rel='alternate' type='text/html' href='http://denizone.blogspot.com/2009/06/x-and-c-compared.html' title='x++ and C# compared'/><author><name>Mr. Denize</name><uri>http://www.blogger.com/profile/03374723335458096148</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp2.blogger.com/_yNeuCYAI8hE/R-38U4jEncI/AAAAAAAAA08/yrVG02jxOwc/S220/me.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6143023856127282817.post-927945047263767768</id><published>2009-06-14T09:17:00.000+02:00</published><updated>2009-06-14T09:59:49.580+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='FoxPro'/><category scheme='http://www.blogger.com/atom/ns#' term='ODBC'/><category scheme='http://www.blogger.com/atom/ns#' term='Dynamics AX 2009'/><title type='text'>ODBC with FoxPro</title><content type='html'>I recently had the pleasure of adventuring into the ODBC connection territory. I discovered that many others previously had done the same ( obviously ) but there was a surprising lack of how-to and other documentation. After some extensive searching I found Brandon's &lt;a href="http://discoverax.blogspot.com/2007/12/get-external-data-by-odbc-from-dynamics.html"&gt;blog&lt;/a&gt; in which he meticulously documented an implementation of ODBC. Many excellent observations are included in his description, including AOS considerations, i.e. code-execution placing vs. maintenance of Windows ODBC connection ( he runs the code on the AOS server so that the system ODBC connection driver only needs to setup there and not on the client which would reduce maintainability as changes to the connection potentially would have to be distributed to all clients ).&lt;br /&gt;&lt;br /&gt;If you are implementing an ODBC connection for the first time on AX 2009, I highly recommend reading Brandon's step-by-step description.&lt;br /&gt;&lt;br /&gt;So implementig an ODBC connection should be a run of the mill type of assignment, had it not been for one small detail... &lt;a href="http://msdn.microsoft.com/en-us/vfoxpro/default.aspx"&gt;FoxPro&lt;/a&gt;. One of Brandon's main consideratations was exactly that the ODBC connection should be created on the AOS, but the systems requirements for the AOS in the case in question on which the ODBC connection would be created stated that the OS ( Windows Server 2008 ) should be 64-bit, and &lt;a href="http://www.berezniker.com/content/pages/visual-foxpro/visual-foxpro-odbc-driver"&gt;FoxPro only runs 32-bit&lt;/a&gt; and since the AOS instance in AX2009 runs in 64-bit mode - it cannot access the 32-bit FoxPro drivers ( and as far as I could tell there never will be a 64-bit implementation of the ODBC drivers for FoxPro ).&lt;br /&gt;&lt;br /&gt;So maintainability aside - I had to distribute the ODBC connection to all clients force the class which handles the code to run on the client. This can be done since the AX2009 client still runs 32-bit ( and in 32-bit mode on 64-bit OS ).&lt;br /&gt;&lt;br /&gt;Task completed - but the journey probably would have been longer and more tedious had it not been for Brandon's blog.&lt;br /&gt;&lt;br /&gt;Hope my expericences with FoxPro ODBC connection in connection with AX2009 helps someone, just as Brandon's blog helped me.&lt;br /&gt;&lt;br /&gt;Happy hacking&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6143023856127282817-927945047263767768?l=denizone.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://denizone.blogspot.com/feeds/927945047263767768/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6143023856127282817&amp;postID=927945047263767768' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6143023856127282817/posts/default/927945047263767768'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6143023856127282817/posts/default/927945047263767768'/><link rel='alternate' type='text/html' href='http://denizone.blogspot.com/2009/06/odbc-with-foxpro.html' title='ODBC with FoxPro'/><author><name>Mr. Denize</name><uri>http://www.blogger.com/profile/03374723335458096148</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp2.blogger.com/_yNeuCYAI8hE/R-38U4jEncI/AAAAAAAAA08/yrVG02jxOwc/S220/me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6143023856127282817.post-1347029749259346869</id><published>2009-05-14T13:53:00.000+02:00</published><updated>2009-05-14T13:55:52.420+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Dynamics AX 2009'/><title type='text'>Import csv job</title><content type='html'>Here is an import job for importing tuples from a csv file:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_yNeuCYAI8hE/SgwGpB0Oe2I/AAAAAAAABho/toDWAickQ-E/s1600-h/importCSV.png"&gt;&lt;img style="cursor: pointer; width: 278px; height: 400px;" src="http://1.bp.blogspot.com/_yNeuCYAI8hE/SgwGpB0Oe2I/AAAAAAAABho/toDWAickQ-E/s400/importCSV.png" alt="" id="BLOGGER_PHOTO_ID_5335646960459086690" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Happy hacking&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6143023856127282817-1347029749259346869?l=denizone.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://denizone.blogspot.com/feeds/1347029749259346869/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6143023856127282817&amp;postID=1347029749259346869' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6143023856127282817/posts/default/1347029749259346869'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6143023856127282817/posts/default/1347029749259346869'/><link rel='alternate' type='text/html' href='http://denizone.blogspot.com/2009/05/import-csv-job.html' title='Import csv job'/><author><name>Mr. Denize</name><uri>http://www.blogger.com/profile/03374723335458096148</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp2.blogger.com/_yNeuCYAI8hE/R-38U4jEncI/AAAAAAAAA08/yrVG02jxOwc/S220/me.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_yNeuCYAI8hE/SgwGpB0Oe2I/AAAAAAAABho/toDWAickQ-E/s72-c/importCSV.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6143023856127282817.post-8814391961737906471</id><published>2009-05-02T11:20:00.000+02:00</published><updated>2009-05-11T13:44:38.918+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Dynamics AX 2009'/><title type='text'>Opening a form on start up of AX</title><content type='html'>I've recently implemented a variation of &lt;a href="http://palleagermark.blogspot.com/2008/05/using-autorun-parameter-to-open-form-in.html"&gt;Palle Agermark's post on how to run a form on start up of AX&lt;/a&gt;. He opens a form through calling the Display menu item. I needed was to call a form with conditions, so I created a class which would handle the conditions in question and instead of calling the menu item I called the main method of the class&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_yNeuCYAI8hE/SfwTo0TvM6I/AAAAAAAABhY/T-JYo5_geoo/s1600-h/JmgRegistrationXML.png"&gt;&lt;img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 320px; height: 42px;" src="http://1.bp.blogspot.com/_yNeuCYAI8hE/SfwTo0TvM6I/AAAAAAAABhY/T-JYo5_geoo/s320/JmgRegistrationXML.png" alt="" id="BLOGGER_PHOTO_ID_5331157650856948642" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Thanks to GregP for his helpful tips and insisting that he could get it to work.&lt;br /&gt;&lt;br /&gt;EDIT: There is a small aber dabei ( which roughly translates "there is a but", I just happen to like the German term better ). In order for the AutoRun to function, development rights for the user-group are necessary, as the function we utilize is typically used to automate installation/configuration. Giving the user group full development rights though is not an option in this scenario, so after some fiddling about I found that the only security setting the user group needs is SysLastMinuteCheck&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_yNeuCYAI8hE/SggPFOFlI_I/AAAAAAAABhg/JBgh3ORhOdo/s1600-h/sysLastMinuteCheck.PNG"&gt;&lt;img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 188px; height: 42px;" src="http://4.bp.blogspot.com/_yNeuCYAI8hE/SggPFOFlI_I/AAAAAAAABhg/JBgh3ORhOdo/s320/sysLastMinuteCheck.PNG" alt="" id="BLOGGER_PHOTO_ID_5334530340975617010" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;which, by the way, only can be set giving the user group full development right and then removing all but this SysLastMinuteCheck.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6143023856127282817-8814391961737906471?l=denizone.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://denizone.blogspot.com/feeds/8814391961737906471/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6143023856127282817&amp;postID=8814391961737906471' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6143023856127282817/posts/default/8814391961737906471'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6143023856127282817/posts/default/8814391961737906471'/><link rel='alternate' type='text/html' href='http://denizone.blogspot.com/2009/05/opening-form-on-start-up-of-ax.html' title='Opening a form on start up of AX'/><author><name>Mr. Denize</name><uri>http://www.blogger.com/profile/03374723335458096148</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp2.blogger.com/_yNeuCYAI8hE/R-38U4jEncI/AAAAAAAAA08/yrVG02jxOwc/S220/me.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_yNeuCYAI8hE/SfwTo0TvM6I/AAAAAAAABhY/T-JYo5_geoo/s72-c/JmgRegistrationXML.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6143023856127282817.post-6916098213406323152</id><published>2009-02-17T15:12:00.000+01:00</published><updated>2009-05-02T11:19:53.155+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Dynamics AX'/><title type='text'>How to tell if a form was opened with 'Go to main table' function</title><content type='html'>I found this sample code really helpful in connection with a customization,where the customer wanted to alter the 'Go to main table' function.&lt;br /&gt;&lt;br /&gt;Respect to original poster (though I can't remember where I found it - but the idea is not mine)&lt;br /&gt;&lt;br /&gt;On main datasource:&lt;br /&gt;public void executeQuery()&lt;br /&gt;{&lt;br /&gt; query                q;&lt;br /&gt; querybuilddatasource qbds;&lt;br /&gt; querybuildrange      qbr;&lt;br /&gt; int                  fldLookupField;&lt;br /&gt; str                  sLookupValue;&lt;br /&gt; ;&lt;br /&gt; if ( element.args().caller() &amp;amp;&amp;amp;&lt;br /&gt;     !element.args().dataset() &amp;amp;&amp;amp;&lt;br /&gt;      element.args().lookupField() &amp;amp;&amp;amp;&lt;br /&gt;      element.args().lookupValue())   //jumpref&lt;br /&gt; {&lt;br /&gt;     sLookupValue   =element.args().lookupValue();&lt;br /&gt;     fldLookupField =element.args().lookupField();&lt;br /&gt;&lt;br /&gt;     q=this.query();&lt;br /&gt;     qbds=q.dataSourceTable(this.table());&lt;br /&gt;     qbr=qbds.addRange(fldLookupField);&lt;br /&gt;     qbr.value(sLookupValue);&lt;br /&gt;     this.query(q);&lt;br /&gt; }&lt;br /&gt; super();&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6143023856127282817-6916098213406323152?l=denizone.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://denizone.blogspot.com/feeds/6916098213406323152/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6143023856127282817&amp;postID=6916098213406323152' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6143023856127282817/posts/default/6916098213406323152'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6143023856127282817/posts/default/6916098213406323152'/><link rel='alternate' type='text/html' href='http://denizone.blogspot.com/2009/02/how-to-tell-if-form-was-opened-with-go.html' title='How to tell if a form was opened with &apos;Go to main table&apos; function'/><author><name>Mr. Denize</name><uri>http://www.blogger.com/profile/03374723335458096148</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp2.blogger.com/_yNeuCYAI8hE/R-38U4jEncI/AAAAAAAAA08/yrVG02jxOwc/S220/me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6143023856127282817.post-4467517409362489780</id><published>2009-02-13T11:04:00.000+01:00</published><updated>2009-02-13T11:21:52.476+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Dynamics AX 2009'/><title type='text'>Invoking a method on a field in a form's datasource</title><content type='html'>I needed to call the modified method on a form's datasource's field to invoke the logic, which updated a couple of fields on the form. I had defaulted a value in the field on the table's initValue()-method but this - of course - means that the modified method is not in play.&lt;br /&gt;Therefore I needed to call the method in code, for which I had two options, either calling the form controls method by setting AutoDeclaration to Yes and then calling modified or calling the datasource table's field's method which I chose.&lt;br /&gt;&lt;br /&gt;e.g.     ProdTable_ds.object(fieldnum(ProdTable, ItemId)).modified();&lt;br /&gt;&lt;br /&gt;but where to place the code? After some time I found out that if I placed it on active() of the datasource the form showed the correct information.&lt;br /&gt;&lt;br /&gt;/Happy hacking&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6143023856127282817-4467517409362489780?l=denizone.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://denizone.blogspot.com/feeds/4467517409362489780/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6143023856127282817&amp;postID=4467517409362489780' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6143023856127282817/posts/default/4467517409362489780'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6143023856127282817/posts/default/4467517409362489780'/><link rel='alternate' type='text/html' href='http://denizone.blogspot.com/2009/02/invoking-method-on-field-in-forms.html' title='Invoking a method on a field in a form&apos;s datasource'/><author><name>Mr. Denize</name><uri>http://www.blogger.com/profile/03374723335458096148</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp2.blogger.com/_yNeuCYAI8hE/R-38U4jEncI/AAAAAAAAA08/yrVG02jxOwc/S220/me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6143023856127282817.post-4217703564193504219</id><published>2009-01-05T08:47:00.000+01:00</published><updated>2009-05-02T11:14:17.471+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Dynamics AX 2009'/><title type='text'>Show current configuration in title bar of windows</title><content type='html'>This code snippet shows the current configuration of the AX client you have opened. Really helpful if you have several different AX clients opened at the same time.&lt;br /&gt;&lt;br /&gt;void workspaceWindowCreated(int _hWnd)&lt;br /&gt;{&lt;br /&gt;   SqlSystem       sqlSystem = new SqlSystem();&lt;br /&gt;   LoginProperty   loginProperty = sqlSystem.createLoginProperty();&lt;br /&gt;   ;&lt;br /&gt;&lt;br /&gt;   // Put workspace window specific initialization here.&lt;br /&gt;&lt;br /&gt;   // Show application details in title bar&lt;br /&gt;   if (loginProperty)&lt;br /&gt;   {&lt;br /&gt;       WinAPI::setWindowText(_hWnd, strFmt("%1 - %2@%3 (%4)", WinAPI::getWindowText(_hWnd), loginProperty.getDatabase(), loginProperty.getServer(), this.currentAOLayer()));&lt;br /&gt;   }&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6143023856127282817-4217703564193504219?l=denizone.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://denizone.blogspot.com/feeds/4217703564193504219/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6143023856127282817&amp;postID=4217703564193504219' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6143023856127282817/posts/default/4217703564193504219'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6143023856127282817/posts/default/4217703564193504219'/><link rel='alternate' type='text/html' href='http://denizone.blogspot.com/2009/01/show-current-configuration-in-title-bar.html' title='Show current configuration in title bar of windows'/><author><name>Mr. Denize</name><uri>http://www.blogger.com/profile/03374723335458096148</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp2.blogger.com/_yNeuCYAI8hE/R-38U4jEncI/AAAAAAAAA08/yrVG02jxOwc/S220/me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6143023856127282817.post-7429557612188605018</id><published>2008-10-20T11:38:00.000+02:00</published><updated>2008-10-20T13:48:56.339+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Dynamics AX'/><title type='text'>RunBase - classes and Best Practice</title><content type='html'>&lt;p&gt;There are certain classes which serve as excellent templates. One such class the LedgerExchAdj-class. If only all runbase-classes were as this one. In my opinion its simplicity and readability is top-notch. I've edited the class-specific code so that only the run() template is present, which included that all important error handling, which one might forget&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;pre class="csharpcode"&gt;&lt;br /&gt;&lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; run()&lt;br /&gt;{&lt;br /&gt;#OCCRetryCount&lt;br /&gt; ;&lt;br /&gt;&lt;br /&gt;&lt;span class="kwrd"&gt;try&lt;/span&gt;&lt;br /&gt;{&lt;br /&gt;    ttsbegin;&lt;br /&gt;&lt;span class="rem"&gt;// Insert code here&lt;/span&gt;&lt;br /&gt;    ttscommit;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span class="kwrd"&gt;catch&lt;/span&gt; (Exception::Deadlock)&lt;br /&gt;{&lt;br /&gt;    retry;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span class="kwrd"&gt;catch&lt;/span&gt; (Exception::UpdateConflict)&lt;br /&gt;{&lt;br /&gt;    &lt;span class="kwrd"&gt;if&lt;/span&gt; (appl.ttsLevel() == 0)&lt;br /&gt;    {&lt;br /&gt;        &lt;span class="kwrd"&gt;if&lt;/span&gt; (xSession::currentRetryCount() &amp;gt;= #RetryNum)&lt;br /&gt;        {&lt;br /&gt;            &lt;span class="kwrd"&gt;throw&lt;/span&gt; Exception::UpdateConflictNotRecovered;&lt;br /&gt;        }&lt;br /&gt;        &lt;span class="kwrd"&gt;else&lt;/span&gt;&lt;br /&gt;        {&lt;br /&gt;            retry;&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;    &lt;span class="kwrd"&gt;else&lt;/span&gt;&lt;br /&gt;    {&lt;br /&gt;        &lt;span class="kwrd"&gt;throw&lt;/span&gt; Exception::UpdateConflict;&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;}&lt;/pre&gt;&lt;p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6143023856127282817-7429557612188605018?l=denizone.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://denizone.blogspot.com/feeds/7429557612188605018/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6143023856127282817&amp;postID=7429557612188605018' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6143023856127282817/posts/default/7429557612188605018'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6143023856127282817/posts/default/7429557612188605018'/><link rel='alternate' type='text/html' href='http://denizone.blogspot.com/2008/10/runbase-classes-and-best-practice.html' title='RunBase - classes and Best Practice'/><author><name>Mr. Denize</name><uri>http://www.blogger.com/profile/03374723335458096148</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp2.blogger.com/_yNeuCYAI8hE/R-38U4jEncI/AAAAAAAAA08/yrVG02jxOwc/S220/me.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6143023856127282817.post-5740855131909183647</id><published>2008-10-03T09:52:00.000+02:00</published><updated>2008-10-03T10:04:46.720+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Dynamics AX'/><title type='text'>Setting Cross-reference update in a Schedueld task</title><content type='html'>&lt;p&gt;An updated Cross reference is an indispensable tool when developing for AX but the client-side dependency can be annoying. So after a little research I found the command line parameter/Windows build-in Scheduled task combo and it does the trick.&lt;/p&gt;&lt;p&gt;In the class SysStartupCmd's construct the command line parameter compileAll-startup command the the parm _+ instantiates a complete compile and cross reference update which means that if you set-up a Scheduled task in Window's standart scheduled task tool with the parameter -startupcmd=compileAll_+ you can update when it suits your development team best.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6143023856127282817-5740855131909183647?l=denizone.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://denizone.blogspot.com/feeds/5740855131909183647/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6143023856127282817&amp;postID=5740855131909183647' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6143023856127282817/posts/default/5740855131909183647'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6143023856127282817/posts/default/5740855131909183647'/><link rel='alternate' type='text/html' href='http://denizone.blogspot.com/2008/10/setting-cross-reference-update-in.html' title='Setting Cross-reference update in a Schedueld task'/><author><name>Mr. Denize</name><uri>http://www.blogger.com/profile/03374723335458096148</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp2.blogger.com/_yNeuCYAI8hE/R-38U4jEncI/AAAAAAAAA08/yrVG02jxOwc/S220/me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6143023856127282817.post-1413899681224268505</id><published>2008-08-26T10:45:00.000+02:00</published><updated>2008-08-26T10:52:14.887+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Dynamics AX'/><title type='text'>MB6503 - AX 4.0 Installation and Configuration certification</title><content type='html'>So, I've done it - I got my AX 4.0 Installation and Configuration certification. Actually this test was harder than I expected it to be but there's my five cent worth of advice for those of you who are preparing to take this exam. RTFM ( here an abbreviation of read the fun manual). Nearly all the answers are to be found in the Installation and Configuration manual provided by MS. Hands-on experience will also greatly increase your chances of passing this test, in my opinion.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6143023856127282817-1413899681224268505?l=denizone.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://denizone.blogspot.com/feeds/1413899681224268505/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6143023856127282817&amp;postID=1413899681224268505' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6143023856127282817/posts/default/1413899681224268505'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6143023856127282817/posts/default/1413899681224268505'/><link rel='alternate' type='text/html' href='http://denizone.blogspot.com/2008/08/mb6503-ax-40-installation-and.html' title='MB6503 - AX 4.0 Installation and Configuration certification'/><author><name>Mr. Denize</name><uri>http://www.blogger.com/profile/03374723335458096148</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp2.blogger.com/_yNeuCYAI8hE/R-38U4jEncI/AAAAAAAAA08/yrVG02jxOwc/S220/me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6143023856127282817.post-2355550552926315824</id><published>2008-08-20T09:15:00.000+02:00</published><updated>2008-08-20T09:19:26.803+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Dynamics AX'/><title type='text'>OpenOffice and Dynamics ax</title><content type='html'>Here is an example of how to use OpenOffice together with Dynamics AX (code-wise of course)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;static void Job2(Args _args)&lt;br /&gt;{     COM OpenOffice;   &lt;br /&gt;       COM DeskTop;    &lt;br /&gt;       COM Document;     &lt;br /&gt;       COMVariant arg;    &lt;br /&gt;       Array arr = new Array(Types::String);     &lt;br /&gt;&lt;br /&gt;      //Creating instance of OpenOffice.org   &lt;br /&gt;      OpenOffice = new Com("com.sun.star.ServiceManager");    &lt;br /&gt;      DeskTop = OpenOffice.CreateInstance("com.sun.star.frame.Desktop");     &lt;br /&gt;&lt;br /&gt;       // create and initialize a COMVariant object    &lt;br /&gt;      arg = COMVariant::createFromArray(arr);    &lt;br /&gt;     //Creating the document    &lt;br /&gt;      Document = DeskTop.LoadComponentFromURL("private:factory/scalc",  "_blank", 0, arg);&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt;Original post by Ivan Kasperuk &lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6143023856127282817-2355550552926315824?l=denizone.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://denizone.blogspot.com/feeds/2355550552926315824/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6143023856127282817&amp;postID=2355550552926315824' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6143023856127282817/posts/default/2355550552926315824'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6143023856127282817/posts/default/2355550552926315824'/><link rel='alternate' type='text/html' href='http://denizone.blogspot.com/2008/08/openoffice-and-dynamics-ax.html' title='OpenOffice and Dynamics ax'/><author><name>Mr. Denize</name><uri>http://www.blogger.com/profile/03374723335458096148</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp2.blogger.com/_yNeuCYAI8hE/R-38U4jEncI/AAAAAAAAA08/yrVG02jxOwc/S220/me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6143023856127282817.post-9200227613191774135</id><published>2008-07-08T10:00:00.000+02:00</published><updated>2008-07-08T10:01:32.646+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Development methodology'/><title type='text'>My coding practice vs. your practice</title><content type='html'>&lt;blockquote style="font-family: arial;"&gt; &lt;b&gt;&lt;i&gt;your program&lt;/i&gt;&lt;/b&gt; (n): a maze of non-sequiturs littered with clever-clever tricks and irrelevant comments. Compare &lt;i&gt;MY PROGRAM&lt;/i&gt;. &lt;p&gt; &lt;b&gt;&lt;i&gt;my program&lt;/i&gt;&lt;/b&gt; (n): a gem of algorithmic precision, offering the most sublime balance between compact, efficient coding on the one hand, and fully commented legibility for posterity on the other. Compare &lt;i&gt;YOUR PROGRAM&lt;/i&gt;. &lt;/p&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6143023856127282817-9200227613191774135?l=denizone.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://denizone.blogspot.com/feeds/9200227613191774135/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6143023856127282817&amp;postID=9200227613191774135' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6143023856127282817/posts/default/9200227613191774135'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6143023856127282817/posts/default/9200227613191774135'/><link rel='alternate' type='text/html' href='http://denizone.blogspot.com/2008/07/my-coding-practice-vs-your-practice.html' title='My coding practice vs. your practice'/><author><name>Mr. Denize</name><uri>http://www.blogger.com/profile/03374723335458096148</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp2.blogger.com/_yNeuCYAI8hE/R-38U4jEncI/AAAAAAAAA08/yrVG02jxOwc/S220/me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6143023856127282817.post-3403582216902118790</id><published>2008-07-07T13:48:00.001+02:00</published><updated>2008-07-07T13:55:36.904+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Dynamics AX'/><title type='text'>How to close a form after a certain timespan</title><content type='html'>&lt;span style="font-family:lucida grande;"&gt;&lt;span style="font-family:arial;"&gt;Sometimes it would be really nice if a form closes automatically after a certain timespan. I found it particulary useful in ShopFloorControl, where end-users might not have a mouse to point to close on a form.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;On the forms run:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:arial;font-size:85%;"&gt;public void run()&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:arial;font-size:85%;"&gt;{&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:arial;font-size:85%;"&gt;    str         JmgJobId;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:arial;font-size:85%;"&gt;    // Define variable for timeout&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:arial;font-size:85%;"&gt;    // Created with new int on JmgParameters&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:arial;font-size:85%;"&gt;    int         TimeOut = JmgParameters::find().JmgRegistredOnJobPromptTime;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:arial;font-size:85%;"&gt;    // Check if there is a parm&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:arial;font-size:85%;"&gt;    if(element.args().parm())&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:arial;font-size:85%;"&gt;    {&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:arial;font-size:85%;"&gt;        JmgJobId = element.args().parm();&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:arial;font-size:85%;"&gt;        jobIdTxt.text(JmgJobId);&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:arial;font-size:85%;"&gt;    }&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:arial;font-size:85%;"&gt;    super();&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:arial;font-size:85%;"&gt;    // Close form after TimeOut&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:arial;font-size:85%;"&gt;    this.setTimeOut(identifierstr(close),TimeOut);&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:arial;font-size:85%;"&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6143023856127282817-3403582216902118790?l=denizone.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://denizone.blogspot.com/feeds/3403582216902118790/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6143023856127282817&amp;postID=3403582216902118790' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6143023856127282817/posts/default/3403582216902118790'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6143023856127282817/posts/default/3403582216902118790'/><link rel='alternate' type='text/html' href='http://denizone.blogspot.com/2008/07/how-to-close-form-after-certain.html' title='How to close a form after a certain timespan'/><author><name>Mr. Denize</name><uri>http://www.blogger.com/profile/03374723335458096148</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp2.blogger.com/_yNeuCYAI8hE/R-38U4jEncI/AAAAAAAAA08/yrVG02jxOwc/S220/me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6143023856127282817.post-7638050659823457528</id><published>2008-05-25T15:27:00.000+02:00</published><updated>2008-05-25T15:51:28.305+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Dynamics AX 2009'/><title type='text'>DAX 2009 RTM ready on Partner Source</title><content type='html'>Here it comes - the RTM of 2009. You can download it from &lt;a href="https://mbs.microsoft.com/Cms/Templates/document/General.aspx?NRMODE=Published&amp;amp;NRNODEGUID=%7B198FB7D3-A117-4968-829C-4B0EEA45C91C%7D&amp;amp;NRORIGINALURL=/partnersource/support/selfsupport/productreleases/DynamicsAX2009release.htm&amp;amp;NRCACHEHINT=Guest&amp;amp;wa=wsignin1.0#install"&gt;ParterSource&lt;/a&gt; (requires a ParterSource access as always). I've been experimenting with the TAP for some time now, and I must say that I like it more and more every time I open it. The project module is changed substatially compare with 4.0 which might prolong the learning curve.&lt;br /&gt;&lt;br /&gt;Along side the actual RTM there is also an upgrade-document if you plan to upgrade already exsisting Axaptas to Dynamics AX 2009, and I'm glad to find out that there is an option of upgrading directly from 3.0 to 2009, which really eases application upgrades and transitions.&lt;br /&gt;&lt;br /&gt;I can't wait to get going with the DAX 2009.&lt;br /&gt;&lt;br /&gt;Happy hacking&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6143023856127282817-7638050659823457528?l=denizone.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://denizone.blogspot.com/feeds/7638050659823457528/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6143023856127282817&amp;postID=7638050659823457528' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6143023856127282817/posts/default/7638050659823457528'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6143023856127282817/posts/default/7638050659823457528'/><link rel='alternate' type='text/html' href='http://denizone.blogspot.com/2008/05/dax-2009-rtm-ready-on-partner-source.html' title='DAX 2009 RTM ready on Partner Source'/><author><name>Mr. Denize</name><uri>http://www.blogger.com/profile/03374723335458096148</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp2.blogger.com/_yNeuCYAI8hE/R-38U4jEncI/AAAAAAAAA08/yrVG02jxOwc/S220/me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6143023856127282817.post-4805474263042379781</id><published>2008-05-19T10:55:00.000+02:00</published><updated>2008-05-19T11:23:43.609+02:00</updated><title type='text'>WinMerge - a nifty little compare-tool</title><content type='html'>&lt;span style="font-family:arial;"&gt;When checking for consistency between labels I use a nifty little tool called WinMerge. It's OpenSouce and has a shell-integration which eases daily use. It can be downloaded from &lt;a href="http://winmerge.org/"&gt;here&lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6143023856127282817-4805474263042379781?l=denizone.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://denizone.blogspot.com/feeds/4805474263042379781/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6143023856127282817&amp;postID=4805474263042379781' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6143023856127282817/posts/default/4805474263042379781'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6143023856127282817/posts/default/4805474263042379781'/><link rel='alternate' type='text/html' href='http://denizone.blogspot.com/2008/05/winmerge-nifty-little-compare-tool.html' title='WinMerge - a nifty little compare-tool'/><author><name>Mr. Denize</name><uri>http://www.blogger.com/profile/03374723335458096148</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp2.blogger.com/_yNeuCYAI8hE/R-38U4jEncI/AAAAAAAAA08/yrVG02jxOwc/S220/me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6143023856127282817.post-4713960217417377110</id><published>2008-04-28T12:02:00.000+02:00</published><updated>2008-04-28T13:24:16.732+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Dynamics AX'/><title type='text'>Inside Microsoft Dynamics AX 4.0 free e-book</title><content type='html'>&lt;span style=";font-family:arial;font-size:100%;"  &gt;Harish Mohanbabu was kind enough - per proxy qua &lt;/span&gt;&lt;a style="font-family: trebuchet ms;" href="http://harish-m.livejournal.com/"&gt;his blog&lt;/a&gt;&lt;span style=";font-family:arial;font-size:100%;"  &gt; - to bring to my attention that MS has release a free e-book edition of &lt;a href="http://www.bookdepository.co.uk/WEBSITE/WWW/WEBPAGES/showbook.php?id=0735622574"&gt;Inside Microsoft Dynamics AX 4.0&lt;/a&gt;&lt;/span&gt;  &lt;a style="font-family: trebuchet ms;" href="http://download.microsoft.com/download/2/5/8/258C8894-B94A-4A87-81EA-4DBB9776F8F2/622579eBook.pdf"&gt;here&lt;/a&gt;&lt;span style=";font-family:arial;font-size:100%;"  &gt; as a pdf. I quite like the book as it serves both as an introduction to general X++ development and as a reference guide for more specific programming problems.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6143023856127282817-4713960217417377110?l=denizone.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://denizone.blogspot.com/feeds/4713960217417377110/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6143023856127282817&amp;postID=4713960217417377110' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6143023856127282817/posts/default/4713960217417377110'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6143023856127282817/posts/default/4713960217417377110'/><link rel='alternate' type='text/html' href='http://denizone.blogspot.com/2008/04/inside-microsoft-dynamics-ax-40-free-e.html' title='Inside Microsoft Dynamics AX 4.0 free e-book'/><author><name>Mr. Denize</name><uri>http://www.blogger.com/profile/03374723335458096148</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp2.blogger.com/_yNeuCYAI8hE/R-38U4jEncI/AAAAAAAAA08/yrVG02jxOwc/S220/me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6143023856127282817.post-4841378713837125641</id><published>2008-04-18T10:14:00.000+02:00</published><updated>2008-04-18T19:08:09.279+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Dynamics AX'/><category scheme='http://www.blogger.com/atom/ns#' term='Development methodology'/><title type='text'>Applying agile software development to Dynamics AX development part I</title><content type='html'>Ever since I wrote &lt;a href="http://bibliotek.dk/vis.php?base=&amp;amp;field1=lfc&amp;amp;term1=Denize%20Steffen"&gt;my thesis&lt;/a&gt; at university, I've pondered the fine art of software development methodologies. During my last year at the University of Southern Denmark I "shopped around" and followed a myriad of software related courses, e.g. Agile software development, User-centered software development, and other &lt;a href="http://en.wikipedia.org/wiki/Iterative_development"&gt;iterative&lt;/a&gt; and &lt;a href="http://en.wikipedia.org/wiki/Waterfall_model"&gt;waterfall based&lt;/a&gt; software development processes. These development methodologies all have ther merits and flaws, which will be well known to any software developer and the process of merging business processes and software development processes is notoriously difficult, though it is of the utmost importance in order to achieve the best results, business- and softwarewise.&lt;br /&gt;&lt;br /&gt;The courses I followed at university were mainly concered with the whole development process(es) from early conceptualization to post-installation maintenance, including GUI-development and Business Intelligence reports. Therefore when I started developing (or should I say customizing  -a point to which I will return later) Dynamics AX for customers, my craze - User-Centered Design - slowly fell to the background. Is customizing an ERP-programme, such as Dynamics AX, merely a question of replicating exsisting business processes, with some optimization, and merging them into a new ERP-application or is the development of an ERP-solution an almost god given chance to take a critical bird's eye view of the whole organization and try to optimize business processes all the way r0und? The latter would seem the obvious answer but this again begs another question, viz.: can business processes be optimized isolated from the software development process, when the software has a central place in today's organizations? No. Of course it cannot.&lt;br /&gt;&lt;br /&gt;All to rarely is there any substantial software development theory included in the business development plan for the implementation of a ERP-system. Traditional user-experience studies / examinations are left behind, because the UI is developed for us, as part of the standard application in the Dynamics-series, and it is 'just' (I know I'm a bit hard here - but I'm trying to get my point through) a question of rearranging data-presentation, based on the customer's prior ERP-system or an external system. All too often does the customer say something like 'that's not the way it was in the other system' when confronted with an newer version of, lets say Dynamics AX.&lt;br /&gt;&lt;br /&gt;So the big question is: how do we - as software developers and business consultants - merge the two worlds and come-up with a process which will lead to sound business optimization and software development integrity?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6143023856127282817-4841378713837125641?l=denizone.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://denizone.blogspot.com/feeds/4841378713837125641/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6143023856127282817&amp;postID=4841378713837125641' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6143023856127282817/posts/default/4841378713837125641'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6143023856127282817/posts/default/4841378713837125641'/><link rel='alternate' type='text/html' href='http://denizone.blogspot.com/2008/04/applying-agile-software-development-to.html' title='Applying agile software development to Dynamics AX development part I'/><author><name>Mr. Denize</name><uri>http://www.blogger.com/profile/03374723335458096148</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp2.blogger.com/_yNeuCYAI8hE/R-38U4jEncI/AAAAAAAAA08/yrVG02jxOwc/S220/me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6143023856127282817.post-8661447797693534839</id><published>2008-04-11T18:16:00.000+02:00</published><updated>2008-12-10T12:04:33.711+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Dynamics AX 2009'/><title type='text'>More new stuff from Dynamics AX 2009 - Developer Documentation improvements</title><content type='html'>During the week I had some more time for myself and my Dynamics AX 2009 CTP3. I've dived into the depths of the developer side of the CTP a bit more and discovered many new things and improvement compated to the previous versions. I looked at version control breifly in a previous post which I am looking forward to seeing in action when multiple developers are working on the same installation at the same time.&lt;br /&gt;&lt;br /&gt;When browsing through the tables I found a new entity on the property of the table, DeveloperDocumentation which at first  sight appears just to be a simple label&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_yNeuCYAI8hE/R_-cfjNpe1I/AAAAAAAAA1E/F74HwurrGEg/s1600-h/InventTableProperty.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://1.bp.blogspot.com/_yNeuCYAI8hE/R_-cfjNpe1I/AAAAAAAAA1E/F74HwurrGEg/s320/InventTableProperty.png" alt="" id="BLOGGER_PHOTO_ID_5188037361596463954" border="0" /&gt;&lt;/a&gt;. But the truth is much more interesting which became clear when I found a new node in the Add-in  node of e.g. InventTable. DeveloperDocumentation is referenced to - it appears - the Dynamics AX SDK, which can be found online. Though it exsisted in 4.0 and 3.0 for that case, in 2009 it is wastly more elaborate. In Dynamics AX 2009 it is integrated in the MorphX IDE, as developers might recognize from other IDE's - Visual Studio etc. &lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_yNeuCYAI8hE/R_-eszNpe3I/AAAAAAAAA1U/4x2BehHRb0c/s1600-h/InventTableDDPropertyjpg.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://2.bp.blogspot.com/_yNeuCYAI8hE/R_-eszNpe3I/AAAAAAAAA1U/4x2BehHRb0c/s200/InventTableDDPropertyjpg.jpg" alt="" id="BLOGGER_PHOTO_ID_5188039788252986226" border="0" /&gt;&lt;/a&gt;Yes - I know that AX developers might have gotten used to having the SDK open in a browser window next to Dynamics AX, but once again the consolidation of development envirionments, which was set forth in a MS road-map earlier, shines through, and I like it. The developer documentation was available in earlier versions of AX but the most commen result was "There is no information on the topic". The developer documentation in 2009 pretty much provides the information which is available from the online &lt;a href="http://msdn2.microsoft.com/en-us/library/aa493463.aspx"&gt;SDK&lt;/a&gt; but is updated and streamlined with e.g. Visual Studio's SDK, which - as you might know - also can be accessed from within the studio itself. The developer documentation node is also available for other elements in the AOT - classes, EDTs - just in case you were wondering.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6143023856127282817-8661447797693534839?l=denizone.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://denizone.blogspot.com/feeds/8661447797693534839/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6143023856127282817&amp;postID=8661447797693534839' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6143023856127282817/posts/default/8661447797693534839'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6143023856127282817/posts/default/8661447797693534839'/><link rel='alternate' type='text/html' href='http://denizone.blogspot.com/2008/04/more-new-stuff-from-dynamics-ax-2009.html' title='More new stuff from Dynamics AX 2009 - Developer Documentation improvements'/><author><name>Mr. Denize</name><uri>http://www.blogger.com/profile/03374723335458096148</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp2.blogger.com/_yNeuCYAI8hE/R-38U4jEncI/AAAAAAAAA08/yrVG02jxOwc/S220/me.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_yNeuCYAI8hE/R_-cfjNpe1I/AAAAAAAAA1E/F74HwurrGEg/s72-c/InventTableProperty.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6143023856127282817.post-1864715007149290909</id><published>2008-04-08T10:24:00.000+02:00</published><updated>2008-04-09T08:35:03.044+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Dynamics AX'/><title type='text'>Import items into InventTable and associated tables</title><content type='html'>&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="font-family:verdana;"&gt;Yesterday I needed to import item data into a company for testing purposes, so I wrote a small job which reads an csv-file containing itemId and itemName and creates the posts in InventTable and its associated tables, InventTableModule and InventItemLocation&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;static void InventTableImport(Args _args)&lt;/span&gt;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;{&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;//&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;//Author    :   Steffen Denize&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;//Purpose   :   Demonstration for importing InventTable into Dynamics AX&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;//&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;    InventTable                    inventTable;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;    CommaIO                             inFile;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;    Filename                           filename;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;    Dialog                               dialog;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;    DialogField                     dialogField;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;    ItemId                               itemId;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;    int                                     counter;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;    InventTableModule         inventTableModuleBuf;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;    InventItemLocation       inventItemLocationBuf;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;    ItemName                           itemName;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;    ;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;//&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;// Note - In this example, I have used 'Dialog' &amp;amp; DialogField classes&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;// as a tool for me to select the file that has to be imported.&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;//&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;    dialog = new Dialog("Demo of import of items into a blank InvenTable");&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;    dialogfield = dialog.addField(typeid(Filenameopen), "File Name");&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;    dialog.run();&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;    if (dialog.run())&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;        {&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;            filename = (dialogfield.value());&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;        }&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;//&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;// Note - In this example, I have used CommaIO class. But you can also use&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;// AsciiIO class as well. Basically all these classes (AsciiIO, CommaIO,&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;// Comma7Io etc) derives from 'Io' base class. For more info, please&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;// refer to Io class.&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;//&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;    inFile = new CommaIO (filename, 'R');&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;    if (!inFile || infile.status() != IO_Status::Ok )&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;        {&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;            //strfmt - function for formatting text string&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;            throw error (strfmt("@SYS19312",filename));&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;         }&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;    ttsbegin;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;    // Set the delimiters&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;    infile.inFieldDelimiter(';');&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;    infile.inRecordDelimiter('|');&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;    //Checking status of last operation&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;    while (infile.status() == IO_status::Ok)&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;        {&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;            // Setting container according to datatypes&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;            [itemId, itemName] = infile.read();&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;            if (itemId)&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;            {&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;                if(!InventTable::find(itemId).RecId)&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;                {&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;                    inventTable.initValue();&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;                    inventTable.ItemId          = itemId;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;                    inventTable.ItemName        = itemName;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;                    // These values must be set on their respective tables.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;// Here the value are hard-coded into the import as the import&lt;br /&gt;// serves a demo purpose only&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;                    inventTable.ItemGroupId     = 'TST';&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;                    inventTable.ModelGroupId    = 'TST';&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;                    inventTable.DimGroupId      = 'TST';&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;                    inventTable.Insert();&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;                    // Values must be setup in inventTableModule, which in Dynamics AX 4.0SP2 has three valid arrayelements&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;                    // purch, sales, invent (DEL_smmQuotation is not included in this job)&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;                    for(counter = 0; counter &lt;= 2; counter++)&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;                    {&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;                        inventTableModuleBuf.ItemId     = inventTable.ItemId;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;                        inventTableModuleBuf.ModuleType = counter;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;                        inventTableModuleBuf.insert();&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;                    }&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;                    InventItemLocationBuf.ItemId = inventTable.ItemId;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;                    InventItemLocationBuf.inventDimId = InventDim::inventDimIdBlank();&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;                    InventItemLocationBuf.insert();&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;                }&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;            }&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;        }&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;    ttscommit;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;Please notice that the posting is provided "as is" with no warranties and confers no rights&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;table border="0" cellpadding="0" cellspacing="0" width="100%"&gt;&lt;tbody&gt;&lt;tr valign="top"&gt;&lt;td dir="ltr" width="100%"&gt;&lt;table class="WNBody" id="tblWNTop" border="0" cellpadding="0" cellspacing="0" width="100%"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td id="tdBody" valign="top"&gt;&lt;div id="divContainer"&gt;&lt;table class="WNTbl" border="0" cellpadding="0" cellspacing="0" width="100%"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td id="tdPost" style="position: relative;" valign="top"&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6143023856127282817-1864715007149290909?l=denizone.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://denizone.blogspot.com/feeds/1864715007149290909/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6143023856127282817&amp;postID=1864715007149290909' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6143023856127282817/posts/default/1864715007149290909'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6143023856127282817/posts/default/1864715007149290909'/><link rel='alternate' type='text/html' href='http://denizone.blogspot.com/2008/04/import-items-into-inventtable-and.html' title='Import items into InventTable and associated tables'/><author><name>Mr. Denize</name><uri>http://www.blogger.com/profile/03374723335458096148</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp2.blogger.com/_yNeuCYAI8hE/R-38U4jEncI/AAAAAAAAA08/yrVG02jxOwc/S220/me.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6143023856127282817.post-8970149585845244312</id><published>2008-04-04T13:40:00.000+02:00</published><updated>2008-04-04T13:52:43.317+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='software'/><category scheme='http://www.blogger.com/atom/ns#' term='Trivia'/><title type='text'>How to setup automatic sync with Seagates FreeAgent Go</title><content type='html'>Coming from XP to Vista is not as difficult as I would expect, though some of the software which I found indispensable in XP is not quite mature enough for a 64-bit version of Vista. One such piece of software is my automatic synchronization of  documents to an external harddrive. In XP my FreeAgentGo 160GB external harddrive contained an exact copy of my documents folder - just in case - so big was the surprise when I tried to install the FreeAgent Tool on my 64-bit only to discover that the software wasn't supported on 64-bit OS'es. Having cussed for a while I tried to run the application in Windows 2000 compatability mode, and lo and behold, the installation ran perfectly and post-reboot, the sync is up and running again. Hurrah.&lt;br /&gt;&lt;h1 style="margin-bottom: 0px;"&gt;&lt;br /&gt;&lt;/h1&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6143023856127282817-8970149585845244312?l=denizone.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://denizone.blogspot.com/feeds/8970149585845244312/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6143023856127282817&amp;postID=8970149585845244312' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6143023856127282817/posts/default/8970149585845244312'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6143023856127282817/posts/default/8970149585845244312'/><link rel='alternate' type='text/html' href='http://denizone.blogspot.com/2008/04/how-to-setup-automatic-sync-with.html' title='How to setup automatic sync with Seagates FreeAgent Go'/><author><name>Mr. Denize</name><uri>http://www.blogger.com/profile/03374723335458096148</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp2.blogger.com/_yNeuCYAI8hE/R-38U4jEncI/AAAAAAAAA08/yrVG02jxOwc/S220/me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6143023856127282817.post-522328788510514774</id><published>2008-03-28T09:46:00.001+01:00</published><updated>2008-12-10T12:04:34.888+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Dynamics AX'/><category scheme='http://www.blogger.com/atom/ns#' term='Dynamics AX 2009'/><title type='text'>First impressions of Dynamics AX 2009 CTP</title><content type='html'>Well, I had my first experiences with the CTP of the upcoming version of Dynamics AX - the 2009 edition - and I must say that if you found the changes from 3.0 to 4.0 hard to adapt to, then this upgrade is going to blow your shoes off. The user-interface is brand new, and the consolidation of user experience across the whole range of Microsoft products is beginning to shows its value. Many hings users know and are accustomed to in other products are now present in Dynamics AX 2009, among other things the ribbon, known from Office 2007, and the navigation pane.&lt;br /&gt;&lt;br /&gt;As a system engineer, I naturally looked for new things on the developer side of the upcoming version. On of the things I really missed in 4.0 was a build-in version control option. I know you had the option of installing a VSS-server to take care of Version Control for your installation, but the installation process was cumbersome, in my opinion; especially if you only required version control for a single installaion. In the CTP of Dynamics AX 2009 you have no less than four different option of Version Control at your finger-tips.&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_yNeuCYAI8hE/R-zWA4jEnYI/AAAAAAAAA0I/wExYovKGdts/s1600-h/VersionControl.png"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://2.bp.blogspot.com/_yNeuCYAI8hE/R-zWA4jEnYI/AAAAAAAAA0I/wExYovKGdts/s320/VersionControl.png" alt="" id="BLOGGER_PHOTO_ID_5182752581864430978" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;This will really ease the use of version control as the development team can chose exactly the type of version control which suit their needs. The MorphX VCS is a local, application integrated version control, which does not require any further software installation, which makes it perfect for smaller development teams, which might not have a use for the Team Foundation Server or a Visual SourceSafe. The MorphX allows the development team to check whole projects or single/multiple items from the AOT and has the option of adding descriptions.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Another nifty feature is the export to Excel-button, which pretty much exports the current records to an Excel-spreadsheet. &lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_yNeuCYAI8hE/R-zbKYjEnZI/AAAAAAAAA0Q/w_yg9jyPNhE/s1600-h/ExportToExcel.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://4.bp.blogspot.com/_yNeuCYAI8hE/R-zbKYjEnZI/AAAAAAAAA0Q/w_yg9jyPNhE/s320/ExportToExcel.png" alt="" id="BLOGGER_PHOTO_ID_5182758242631327122" border="0" /&gt;&lt;/a&gt;This is an easier and faster way to extract simple data, which most likely will come in handy for a large number of users.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;These are just some of the changes in the upcoming version of Dynamics AX 2009 and my first impressions are that the consolidation of user-interfaces across other MS products will ease the transition from previous version of Dynamics AX to upcoming 2009-ed.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6143023856127282817-522328788510514774?l=denizone.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://denizone.blogspot.com/feeds/522328788510514774/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6143023856127282817&amp;postID=522328788510514774' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6143023856127282817/posts/default/522328788510514774'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6143023856127282817/posts/default/522328788510514774'/><link rel='alternate' type='text/html' href='http://denizone.blogspot.com/2008/03/first-impressions-of-dynamics-ax-2009.html' title='First impressions of Dynamics AX 2009 CTP'/><author><name>Mr. Denize</name><uri>http://www.blogger.com/profile/03374723335458096148</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp2.blogger.com/_yNeuCYAI8hE/R-38U4jEncI/AAAAAAAAA08/yrVG02jxOwc/S220/me.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_yNeuCYAI8hE/R-zWA4jEnYI/AAAAAAAAA0I/wExYovKGdts/s72-c/VersionControl.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6143023856127282817.post-8925829396874042733</id><published>2008-03-26T14:45:00.000+01:00</published><updated>2008-03-26T15:22:21.282+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Dynamics AX'/><title type='text'>Dynamics AX 2009 CTP3 release</title><content type='html'>Here it is - the first widely distributed prerelease of the upcoming version of Microsoft Dynamics AX 2009.&lt;br /&gt;&lt;br /&gt;It's available for download from &lt;a href="https://mbs.microsoft.com/partnersource/documentation/howtoarticles/VPCImageAX2009CTP3.htm"&gt;PartnerSource&lt;/a&gt; (requires a PartnerSource login).&lt;br /&gt;&lt;br /&gt;One of the many exciting new features is the Role centers and the new integration with Microsoft Project Server. I'm personally really looking forward to getting my hands on this CTP3 and experiencing many of the new features which this upcoming version has to offer.&lt;br /&gt;You can find a comprehensive description of the features in the Dynamics AX 2009 on &lt;a href="https://mbs.microsoft.com/partnersource/training/news/whatsnewmsdax2009.htm"&gt;&lt;/a&gt;PartnerSource from the &lt;a href="https://mbs.microsoft.com/partnersource/training/news/whatsnewmsdax2009.htm"&gt;What's New in Dynamics AX 2009&lt;/a&gt; (requires a PartnerSource login).&lt;br /&gt;&lt;a href="https://mbs.microsoft.com/partnersource/training/news/whatsnewmsdax2009.htm"&gt;&lt;br /&gt;&lt;/a&gt;Hope you find the CTP3 as exciting as I do.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6143023856127282817-8925829396874042733?l=denizone.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://denizone.blogspot.com/feeds/8925829396874042733/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6143023856127282817&amp;postID=8925829396874042733' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6143023856127282817/posts/default/8925829396874042733'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6143023856127282817/posts/default/8925829396874042733'/><link rel='alternate' type='text/html' href='http://denizone.blogspot.com/2008/03/dynamics-ax-2009-ctp3-release.html' title='Dynamics AX 2009 CTP3 release'/><author><name>Mr. Denize</name><uri>http://www.blogger.com/profile/03374723335458096148</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp2.blogger.com/_yNeuCYAI8hE/R-38U4jEncI/AAAAAAAAA08/yrVG02jxOwc/S220/me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6143023856127282817.post-8148573058983580424</id><published>2007-10-16T13:42:00.000+02:00</published><updated>2007-10-17T08:47:32.691+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Dynamics AX'/><title type='text'>Faster data import in Dynamics AX</title><content type='html'>So here it comes - my first real post. I've been having some difficulties when importing data into an exsisting application. It takes forever, especially with tables CustTrans and LedgerTrans, so I browsed the net and found this tip.&lt;br /&gt;&lt;br /&gt;Notice that you will lose audittrail of the transactions.&lt;br /&gt;&lt;br /&gt;The tip is as follows :&lt;br /&gt;Go into &lt;span style="font-size:85%;"&gt;&lt;span style="font-family: courier new;"&gt;Class SysDataImport&lt;/span&gt;&lt;/span&gt;, and into the method :  &lt;span style="font-size:85%;"&gt;&lt;span style="font-family: courier new;"&gt;updateTransactionId()&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Make it return early as possible from this method, and  everything goes quick.&lt;br /&gt;Just create it like this :&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;private void  updateTransactionId(TableId _tableId, CreatedTransactionId _oldCreatedTransId,  ModifiedTransactionId _oldModifiedTransId)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;{&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    CreatedTransactionId  newTransId = 0;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    ;&lt;br /&gt;// Return as early as possible to increase import speed&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-family:courier new;" &gt;    return; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    if (!hasTransIdSupport)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        return; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    }&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    if (hasCreatedTransId[tableIds[_tableId]])&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    {&lt;/span&gt;&lt;br /&gt;.&lt;br /&gt;.&lt;br /&gt;.&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    }&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Do likewise with method &lt;span style="font-size:85%;"&gt;&lt;span style="font-family: courier new;"&gt;updateTransactionIdReference()&lt;/span&gt;&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;This posting is provided "AS IS" with no warranties, and confers no rights.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6143023856127282817-8148573058983580424?l=denizone.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://denizone.blogspot.com/feeds/8148573058983580424/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6143023856127282817&amp;postID=8148573058983580424' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6143023856127282817/posts/default/8148573058983580424'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6143023856127282817/posts/default/8148573058983580424'/><link rel='alternate' type='text/html' href='http://denizone.blogspot.com/2007/10/faster-data-import-in-dynamics-ax.html' title='Faster data import in Dynamics AX'/><author><name>Mr. Denize</name><uri>http://www.blogger.com/profile/03374723335458096148</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp2.blogger.com/_yNeuCYAI8hE/R-38U4jEncI/AAAAAAAAA08/yrVG02jxOwc/S220/me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6143023856127282817.post-1127412530370855275</id><published>2007-10-16T09:13:00.000+02:00</published><updated>2007-10-16T09:17:33.192+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Trivia'/><title type='text'>As time goes by</title><content type='html'>I will to to post some of the things I find while browsing the net. Posts will probably concern  my professional interest, e.g. software develepment methologies, quality assurance in its broadest sense, process optimization and software development within the Dynamics AX framework, but do not despair if the occational non-professional post emerges.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6143023856127282817-1127412530370855275?l=denizone.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://denizone.blogspot.com/feeds/1127412530370855275/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6143023856127282817&amp;postID=1127412530370855275' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6143023856127282817/posts/default/1127412530370855275'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6143023856127282817/posts/default/1127412530370855275'/><link rel='alternate' type='text/html' href='http://denizone.blogspot.com/2007/10/as-time-goes-by.html' title='As time goes by'/><author><name>Mr. Denize</name><uri>http://www.blogger.com/profile/03374723335458096148</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp2.blogger.com/_yNeuCYAI8hE/R-38U4jEncI/AAAAAAAAA08/yrVG02jxOwc/S220/me.jpg'/></author><thr:total>0</thr:total></entry></feed>
