tag:blogger.com,1999:blog-142367352024-03-17T09:14:07.212+01:00Axapta BlogBlog around Microsoft Dynamics AX formerly known as Microsoft Business Solutions Axapta formerly known as Damgaard Axapta.Helmut Wimmerhttp://www.blogger.com/profile/17822961421858016540noreply@blogger.comBlogger112125tag:blogger.com,1999:blog-14236735.post-32388844138879460332010-05-06T09:31:00.005+02:002010-05-06T09:43:45.696+02:00Austrian Dynamics Partner Community BlogRecently we have started a Partner Community Blog for Austrian Dynamics Partners. Step on and check the latest information for Dynamics AX, NAV and CRM. Attention: The content of the site is in German.<br /><br /><a href="http://www.dynamics-community.at/" target="_blank">http://www.dynamics-community.at/</a><br /><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi76rJv3jauB_hVIYJjQfwg-4nMbRNFxnGH50wleJMKubzOUvCtjWXp4lZkXD5dAXQGOfxwLQxCddwF3ZUwO6lqIBS-_rl3k4ikUGD8ufxvtkL2ySdheAJd-_emFLnZ1E6tBqH1aA/s1600/Dynamics-Community-AT.png"><img style="MARGIN: 0px 10px 10px 0px; WIDTH: 300px; FLOAT: left; HEIGHT: 100px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5468058251278457538" border="0" alt="" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi76rJv3jauB_hVIYJjQfwg-4nMbRNFxnGH50wleJMKubzOUvCtjWXp4lZkXD5dAXQGOfxwLQxCddwF3ZUwO6lqIBS-_rl3k4ikUGD8ufxvtkL2ySdheAJd-_emFLnZ1E6tBqH1aA/s400/Dynamics-Community-AT.png" /></a><div class="blogger-post-footer"> Helmut Wimmer</div>Helmut Wimmerhttp://www.blogger.com/profile/17822961421858016540noreply@blogger.com23tag:blogger.com,1999:blog-14236735.post-1797441384580464672009-07-24T11:30:00.002+02:002009-07-24T11:33:57.816+02:00System Center Data Protection Manager Backup Assistance Tool for Microsoft Dynamics AX 2009Microsoft has released a Backup Assistant Tool to facilitate the protection of Dynamics AX 2009 data and files with System Center Data Protection Manager.<br /><br />You can download the tool and a white paper on Partnersource (Partnersource login needed): <a href="https://mbs.microsoft.com/partnersource/support/selfsupport/productreleases/ax-scdpm-backuptool.htm" target="_blank">https://mbs.microsoft.com/partnersource/support/selfsupport/productreleases/ax-scdpm-backuptool.htm</a><div class="blogger-post-footer"> Helmut Wimmer</div>Helmut Wimmerhttp://www.blogger.com/profile/17822961421858016540noreply@blogger.com5tag:blogger.com,1999:blog-14236735.post-62714166662620529782009-07-09T16:56:00.006+02:002009-07-22T13:08:03.172+02:00Running Dynamics AX 2009 on Windows 7 using Windows Virtual XP<div>One of the new features in Windows 7 is that it contains a new version of Windows Virtual PC which can be used to publish applications from the virtual guest system to the host system.</div><div></div><br /><div>To showcase what can be done with published applications on Windows Virtual PC, I was trying to install AX 2009 on the Virtual XP guest and to run it afterwards as a published application on my Windows 7 RC host system.</div><div></div><br /><div>First, you have to get the Windows Virtual PC Beta installer and Windows XP Mode Beta from here: <a href="http://www.microsoft.com/windows/virtual-pc/download.aspx">http://www.microsoft.com/windows/virtual-pc/download.aspx</a></div><div></div><br /><div>After installing everything, you will be able to start your Windows XP guest system and start installing the necessary components.</div><div>I will not go too much into detail about the installation steps (as this is just a showcase), so here are the necessary steps:</div><br /><ul><li>Install SQL Server 2008</li><br /><li>Install Dynamics AX 2009 (AOS, Application Files, Client)</li></ul><div>Right now you might think: "Stop! How could you install AX 2009 on the virtual Windows XP guest, it is not joined to a domain?"</div><br /><div></div><div>Well, that was the really tricky part and as said before, I won't go into detail and just tell you: it was really hard but I managed to install it.</div><div> </div><div>After everything was installed, AX is shown in the Windows Start Menu under Virtual Windows XP applications:<br /><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiMj4lMDSBNbQvNBeJC5Qj4xLlAATygU1jE3Rejc1IdzNKtMqQ_iJZdklllnsei5HvoUwI9DBgRmIsB_e0qtd-uu6_H8MCVDR0q0axW_fd504RBaSJEbsUPcfVqpedrQwLuf3N7mg/s1600-h/DAX2009_VirtualXP.gif"><img style="WIDTH: 400px; HEIGHT: 327px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5361236681358002386" border="0" alt="" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiMj4lMDSBNbQvNBeJC5Qj4xLlAATygU1jE3Rejc1IdzNKtMqQ_iJZdklllnsei5HvoUwI9DBgRmIsB_e0qtd-uu6_H8MCVDR0q0axW_fd504RBaSJEbsUPcfVqpedrQwLuf3N7mg/s400/DAX2009_VirtualXP.gif" /></a></div><br /><div>Now, you can start the virtual AX application and work with it. I imported some demo data which was located on my host machine into the virtual AX application.</div><br /><div></div><div>As the new Windows Virtual PC is still in Beta, I have to say that although everything works smoothly, sometimes the Virtual application window disappears and you have to restart it from the start menu. After some time, the original window may appear again.</div><div><br />This is how AX 2009 looks like running in a virtual windows XP:</div><div></div><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjhoGl1FER40sSW6JVo70rzi7z8KOT6eW9gL5X8u9RNCqDivKt4hyphenhyphenymj3xSfAwxgYW3-cYFhqOroHOlZwV6_pRo_1CJtE2hV80hvmuvRkaXj6ed04qBcbDjikm-o_P-tUBHTNWAbA/s1600-h/DAX2009_runningVirtual.png"><img style="WIDTH: 400px; HEIGHT: 287px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5361239178326945570" border="0" alt="" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjhoGl1FER40sSW6JVo70rzi7z8KOT6eW9gL5X8u9RNCqDivKt4hyphenhyphenymj3xSfAwxgYW3-cYFhqOroHOlZwV6_pRo_1CJtE2hV80hvmuvRkaXj6ed04qBcbDjikm-o_P-tUBHTNWAbA/s400/DAX2009_runningVirtual.png" /></a><br /><p></p><div class="blogger-post-footer"> Helmut Wimmer</div>Helmut Wimmerhttp://www.blogger.com/profile/17822961421858016540noreply@blogger.com5tag:blogger.com,1999:blog-14236735.post-28632439435377269582009-05-06T10:40:00.002+02:002009-05-06T10:43:55.864+02:00Dynamics AX Whitepaper: Consuming external web servicesHi all,<br /><br />after a long time, I wanted to share with you that a whitepaper written by me has been published on MSDN. It's about consuming web services from AX in a real-world example.<br />You can download the whitepaper directly from here:<br /><br /><a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=ef3a50d2-61c8-4ffc-bce8-2caf038f98cd&displaylang=en">http://www.microsoft.com/downloads/details.aspx?FamilyID=ef3a50d2-61c8-4ffc-bce8-2caf038f98cd&displaylang=en</a><br />Or you can go to the AX developer download page on MSDN and get it from there: <a href="http://msdn.microsoft.com/en-us/dynamics/ax/bb467576.aspx">http://msdn.microsoft.com/en-us/dynamics/ax/bb467576.aspx</a><div class="blogger-post-footer"> Helmut Wimmer</div>Helmut Wimmerhttp://www.blogger.com/profile/17822961421858016540noreply@blogger.com2tag:blogger.com,1999:blog-14236735.post-76906110046512187512008-10-17T17:23:00.002+02:002008-10-17T17:24:58.867+02:00Goodbye and see you soon!I've started working for Microsoft in Vienna on October 15th, so see you at some Dynamics events !<div class="blogger-post-footer"> Helmut Wimmer</div>Helmut Wimmerhttp://www.blogger.com/profile/17822961421858016540noreply@blogger.com2tag:blogger.com,1999:blog-14236735.post-12286971809986242982008-05-23T09:58:00.003+02:002008-05-23T10:02:26.271+02:00Dynamics AX 2009 releasedThe long awaited Dynamics AX 2009 has been released. The RTM (Ready-to-Manufacturing) setup can be downloaded from Partnersource: <a href="https://mbs.microsoft.com/Cms/Templates/document/General.aspx?NRMODE=Published&NRNODEGUID={198FB7D3-A117-4968-829C-4B0EEA45C91C}&NRORIGINALURL=/partnersource/support/selfsupport/productreleases/DynamicsAX2009release.htm&NRCACHEHINT=Guest&wa=wsignin1.0" target="_blank">https://mbs.microsoft.com/...</a><div class="blogger-post-footer"> Helmut Wimmer</div>Helmut Wimmerhttp://www.blogger.com/profile/17822961421858016540noreply@blogger.com1tag:blogger.com,1999:blog-14236735.post-55607868395773373422008-04-16T19:04:00.004+02:002008-04-16T19:19:01.565+02:00AX 2009 feature: cross company supportToday I found an exciting new feature in Dynamics AX 2009: cross company support in forms, reports, queries and X++.<br />Yes, and it really is what you think: you can display records from different companies in a single form (or report). Yeah !<br /><br />For a form, you just have to set the property <span style="font-family:courier new;"><strong>AllowCrossCompany</strong></span> to Yes in the form's query and add a field that displays the company's ID to the forms's grid. That's it. Easy as that!<br /><br />In X++, there is a new keyword <span style="font-family:courier new;"><strong>crossCompany</strong></span> you can use in a select statement. Additionally, you can add a container with all the company ID's you want to include in your select statement.<br />So, your select statement could look like that:<br /><br /><span style="font-family:courier new;">while select salestable crossCompany : [dmo, cos]</span><br /><span style="font-family:courier new;">{</span><br /><span style="font-family:courier new;">... do something ...</span><br /><span style="font-family:courier new;">}</span><br /><br />Now, that's really a huge step forward from the good old <span style="font-family:courier new;"><strong>changeCompany</strong></span> function.<div class="blogger-post-footer"> Helmut Wimmer</div>Helmut Wimmerhttp://www.blogger.com/profile/17822961421858016540noreply@blogger.com0tag:blogger.com,1999:blog-14236735.post-4159993767200208062008-04-14T19:03:00.004+02:002008-04-16T17:12:58.726+02:00New book: Quality assurance for Dynamics AX-Based ERP Solutions<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgxyeq2N2XGvT9xX-Y_ptY_H8ywE6DHLqbAkbhNxk2_F-bLU3ZFjsQ_PhEORillYIcrD2pmf81U6-W3UC0t5aFpEPCsLC2HvpyHkSKtDiJK-zkyq8dblTigVwPgGz9OmWkWS8ZQHA/s1600-h/qualitydynamicsax.jpg"><img id="BLOGGER_PHOTO_ID_5189151485802613538" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgxyeq2N2XGvT9xX-Y_ptY_H8ywE6DHLqbAkbhNxk2_F-bLU3ZFjsQ_PhEORillYIcrD2pmf81U6-W3UC0t5aFpEPCsLC2HvpyHkSKtDiJK-zkyq8dblTigVwPgGz9OmWkWS8ZQHA/s200/qualitydynamicsax.jpg" border="0" /></a><br /><div>The last days I could read a new book about Dynamics AX: <em>Quality assurance for Dynamics AX-Based ERP Solutions</em><br /></div><br /><div></div><br /><div><br />The target audience is project managers, AX developers, AX consultants, AX customers and all others who are interested in managing quality in Dynamics AX projects.<br /><br />The book is divided into 9 chapters:<br />the first two chapters will introduce Dynamics AX as an ERP system and how it helps you to maintain quality in your customizations.<br />Chapter 3, "Best practices - Technical" gives you hints on how to use several AX customization standards.<br />Chapter 4, "Best practices - GUI" contains detailed checklists that you should follow designing your user interface.<br />Chapters 5 to 8 are giving an overview about how testing should be performed.<br />The last chapter contains an overview about the Dynamics AX tools you can use to guarantee quality in Dynamics AX.<br /><br />How did I like the book? Well, there are some things in the book that can be useful, like the checklists for the user interface and the overview of the checks the built-in best-practice tool performs.<br />But there are 2-3 chapters in the book I could easily live without.<br /><br />On an overall rating, I would give the book 6 out of 10 points.<br /><br />If you want to order a copy, you can get it from Amazon: <a href="http://www.amazon.com/Quality-Assurance-Dynamics-AX-Based-Solutions/dp/1847192912/ref=sr_1_1?ie=UTF8&s=books&qid=1208193317&sr=8-1" target="_blank">http://www.amazon.com/Quality-Assurance-Dynamics-AX-Based-Solutions/dp/1847192912/ref=sr_1_1?ie=UTF8&s=books&qid=1208193317&sr=8-1</a> </div><div> </div><div></div><div><p>The book was published by Packt Publishing: <a href="http://www.packtpub.com/" target="_blank">http://www.packtpub.com/</a></div><div class="blogger-post-footer"> Helmut Wimmer</div>Helmut Wimmerhttp://www.blogger.com/profile/17822961421858016540noreply@blogger.com0tag:blogger.com,1999:blog-14236735.post-32053602683372129342008-04-14T07:31:00.000+02:002008-04-14T09:33:45.663+02:00What's new in Microsoft Dynamics AX 2009You can download a couple of Docs and Powerpoint files about what's new in Microsoft Dynamics AX 2009 from Partnersource: <a href="https://mbs.microsoft.com/Cms/Templates/document/General.aspx?NRMODE=Published&NRNODEGUID={167B694E-9A94-4B1B-AD59-BF22D1619629}&NRORIGINALURL=/customersource/training/materials/student/whatsnewMSDAX2009&NRCACHEHINT=Guest&wa=wsignin1.0" target="_blank">https://mbs.microsoft.com/...</a><br /><br />Take a look to find out all the exciting new features!<div class="blogger-post-footer"> Helmut Wimmer</div>Helmut Wimmerhttp://www.blogger.com/profile/17822961421858016540noreply@blogger.com1tag:blogger.com,1999:blog-14236735.post-71615709048888087902008-04-10T07:18:00.000+02:002008-04-10T09:21:09.612+02:00eBook "Inside Dynamics AX 4.0" available for downloadThe great book "Inside Microsoft Dynamics AX 4.0" is available as a free download now.<br />You can go to: <a title="http://download.microsoft.com/download/2/5/8/258C8894-B94A-4A87-81EA-4DBB9776F8F2/622579eBook.pdf" href="http://download.microsoft.com/download/2/5/8/258C8894-B94A-4A87-81EA-4DBB9776F8F2/622579eBook.pdf" target="_blank">http://download.microsoft.com/download/2/5/8/258C8894-B94A-4A87-81EA-4DBB9776F8F2/622579eBook.pdf</a> to download your copy.<br /><br />Attention: You may not print the PDF document.<div class="blogger-post-footer"> Helmut Wimmer</div>Helmut Wimmerhttp://www.blogger.com/profile/17822961421858016540noreply@blogger.com0tag:blogger.com,1999:blog-14236735.post-62074094542975904672008-03-12T07:20:00.001+01:002008-03-12T14:46:16.028+01:00User Experience Guidelines (beta version) for Dynamics AX 2009You can download the guidlines for the user interface in Dynamics AX 2009 from Microsoft: <a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=ca546f4d-8628-4546-a9c6-a1df855d1600&DisplayLang=en" target="_blank">>http://www.microsoft.com/...</a><br /><br />With that, you will also get an idea how the user interface will look like in Dynamics AX 2009.<div class="blogger-post-footer"> Helmut Wimmer</div>Helmut Wimmerhttp://www.blogger.com/profile/17822961421858016540noreply@blogger.com0tag:blogger.com,1999:blog-14236735.post-54806450947959723042008-03-12T07:00:00.000+01:002008-03-12T14:02:29.545+01:00Open web pages from X++ codeIf you want to open the Internet Explorer with a certain web page directly from X++ code, you can use the following statement:<br /><br /><span style="font-family:courier new;color:#ff0000;">infoLog.urlLookup('http://nameofthepageyouwanttoopen.com');</span><br /><span ></span><br />Thus, your browser will open and display the URL.<div class="blogger-post-footer"> Helmut Wimmer</div>Helmut Wimmerhttp://www.blogger.com/profile/17822961421858016540noreply@blogger.com3tag:blogger.com,1999:blog-14236735.post-87029328454853463002008-01-28T19:30:00.000+01:002008-01-28T18:11:09.574+01:00Displaying online help on installations with multiple windows languagesIn Dynamics AX, you can specify your client config to be usable if you have different windows languages (this means that your AX client is not always in the "c:\program files\..." directory but also in "c:\programme\...").<br /><br />Then, you would make the link pointing to your ax32.exe something like this: <span style="color:#cc0000;"><strong>"%programfiles%\Microsoft Dynamics AX\40\Client\Bin\Ax32.exe"</strong></span> (and the bindir property of you AX client config would be: <span style="color:#cc0000;"><strong>"%programfiles%\Microsoft Dynamics AX\40\Client\Bin"</strong></span>)<br /><br />With that setup, you can start your Dynamics AX client on any language that is used by Windows.<br /><br />Well, there is one problem with the online help then. Dynamics AX cannot build the path where to search for the help file using the %programfiles% parameter and will give you an error when you activate the help.<br /><br />What you have to do is to change the way the online help will create the path.<br />You have to modifiy the method <span style="font-size:0;"><span style="font-size:0;"><strong>getChmPath </strong></span></span>in class <strong>SysHelp</strong> as follows:<br /><br />modifiy the line:<br /><br /><span style="font-family:courier new;font-size:78%;">path = xInfo::directory(DirectoryType::Help);</span><br /><br />to that:<br /><br /><span style="font-family:courier new;font-size:78%;">if (WinAPi::fileExists('c:\\program files\\Microsoft Dynamics AX\\40\\Client\\Bin\\Help\\')) </span><br /><blockquote><span style="font-family:courier new;font-size:78%;">path = 'c:\\program files\\Microsoft Dynamics<br />AX\\40\\Client\\Bin\\Help\\'; <br /></span></blockquote><span style="font-family:courier new;font-size:78%;">else if (WinAPi::fileExists('c:\\programme\\Microsoft Dynamics AX\\40\\Client\\Bin\\Help\\')) </span><br /><blockquote><span style="font-family:courier new;font-size:78%;">path = 'c:\\programme\\Microsoft Dynamics<br />AX\\40\\Client\\Bin\\Help\\'; <br /></span></blockquote><span style="font-family:courier new;font-size:78%;">else path = xInfo::directory(DirectoryType::Help);</span><br /><br />The change above will work for english and german windows installations and you can figure out how to extend that to other languages.<div class="blogger-post-footer"> Helmut Wimmer</div>Helmut Wimmerhttp://www.blogger.com/profile/17822961421858016540noreply@blogger.com1tag:blogger.com,1999:blog-14236735.post-16190320928144056582008-01-24T20:52:00.000+01:002008-01-24T18:56:57.075+01:00Getting new table fields into your form datasource (part 2)After receiving some comments to my previous post (well, in fact it was my intention to get some feedback on it how to do that properly), here is the way to get your new fields of your table to your form's datasource:<br /><br />after you have added the fields in the table and saved the table, go to the form where the table is used as a datasource, right click on it and select "Restore". After that, you will have your new table fields available in your form's datasource.<br /><br />A big thanx to denis and jamie for providing me comments on that !<div class="blogger-post-footer"> Helmut Wimmer</div>Helmut Wimmerhttp://www.blogger.com/profile/17822961421858016540noreply@blogger.com0tag:blogger.com,1999:blog-14236735.post-69644288054209228482008-01-22T20:31:00.000+01:002008-01-22T17:34:36.235+01:00Getting new table fields into your form datasourceWhen you create new fields in a table and then go into a form where this table is used, you will not see the new fields in the forms datasource. You could be tempted to go into the properties of the datasource and re-select the table (which would actually add all the new fields).<br /><br />BUT: Don't do it! You will loose all your modifications and methods made in the datasource !<br /><br />Better: just exit the Dynamics AX client and enter again. Then, all new fields will appear in your datasource.<div class="blogger-post-footer"> Helmut Wimmer</div>Helmut Wimmerhttp://www.blogger.com/profile/17822961421858016540noreply@blogger.com2tag:blogger.com,1999:blog-14236735.post-10079785089217467022008-01-16T23:49:00.000+01:002008-01-17T10:52:15.316+01:00Copying one line of a grid to ExcelIf you want to copy just one line from a Dynamics AX grid to Excel and you just click on the line marker of the grid to select the line, press Ctrl-C in Dynamics AX and then Ctrl-V in Excel, you will not get the line into Excel. Sometimes you will only have one active field of the line in Excel.<br /><br />What you have to do: press SHIFT when you select the line. Then, copy and paste the line into Excel and it will work and copy the whole line.<div class="blogger-post-footer"> Helmut Wimmer</div>Helmut Wimmerhttp://www.blogger.com/profile/17822961421858016540noreply@blogger.com1tag:blogger.com,1999:blog-14236735.post-86966117598819616112007-12-23T12:31:00.001+01:002007-12-23T12:38:02.607+01:00Merry X-mas!A very merry christmas to all my readers and a happy and successful New Year!<div class="blogger-post-footer"> Helmut Wimmer</div>Helmut Wimmerhttp://www.blogger.com/profile/17822961421858016540noreply@blogger.com0tag:blogger.com,1999:blog-14236735.post-68093501938538004242007-12-22T10:56:00.000+01:002007-12-22T11:07:10.093+01:00Don't trust the execution plan within AXThe other day I was attending a lesson concerning the new Dynamics AX trace parser tool. With that tool (you can download it from Partnersource and Customersource, eventually), you can analyze the trace files that are generated if you activate the tracing options (both on the server and the client side).<br /><br />With the tool, you can analyze all the information that is sent between the client, the server and the database. Another point that was pinned out was that the execution plan you see in Dynamics AX (if you trace long running queries in Dynamics AX, you can click on "Execution plan" and see which execution plan is used by Dynamics AX).<br /><br />Well, the execution plan shown is not the one that was actually used by the database. It is the execution plan that would be used right now, the moment you clicked on the button.<br /><br />So, don't trust the execution plan for the queries run, but you can use it for future queries, so you can see if a new index will be used or not.<div class="blogger-post-footer"> Helmut Wimmer</div>Helmut Wimmerhttp://www.blogger.com/profile/17822961421858016540noreply@blogger.com1tag:blogger.com,1999:blog-14236735.post-39207271827647724852007-10-30T06:49:00.000+01:002007-10-30T10:54:25.935+01:00Catching keystrokes and the task() methodAs a follow up to my previous post about catching keystrokes in Dynamics AX, I received some comments telling me I should use the task() method on the form.<br /><br />Well, the task() method can be used to catch <em>some</em> keystrokes (most of them described in the Macro <strong>Task</strong> in the AOT), but this is only some "system keystrokes", as I would call them.<br /><br />So, you can catch Alt-F9 (delete record) or F1 (Help) or copy and past (Ctrl-C/Ctrl-V), but you cannot catch e.g. other function keys with it or keystrokes defined by yourself like Alt-S or Ctrl-S.<br /><br />Take a look at the Task macro in AOT and you'll get an idea what kind of keys you can catch with the task() method.<div class="blogger-post-footer"> Helmut Wimmer</div>Helmut Wimmerhttp://www.blogger.com/profile/17822961421858016540noreply@blogger.com0tag:blogger.com,1999:blog-14236735.post-27775531656076842852007-09-28T07:03:00.000+02:002007-09-28T11:06:10.785+02:00Clear SQL CacheWhen you do performance tests in Dynamics AX, you often want to clear the SQL cache so you can be sure that all data must be re-read from the disks.<br />If you want to clear the SQL cache, execute these 3 lines in a query window:<br /><br /><span style="font-family:courier new;color:#993399;">CHECKPOINT<br />DBCC DROPCLEANBUFFERS WITH NO_INFOMSGS<br />DBCC FREEPROCCACHE WITH NO_INFOMSGS<br /></span><div class="blogger-post-footer"> Helmut Wimmer</div>Helmut Wimmerhttp://www.blogger.com/profile/17822961421858016540noreply@blogger.com0tag:blogger.com,1999:blog-14236735.post-42868603664702223762007-08-30T07:19:00.000+02:002007-08-30T09:23:31.458+02:00Label for query range cannot be modified in AX 5.0I've now checked this function and I have to say that it still doesn't work. If you change the label for a query range, AX 5.0 will give you an error message, too.<br /><br />This is a follow up to a previous post: <a href="http://axaptafreak.blogspot.com/2007/07/label-for-query-range-cannot-be.html" target="_blank">http://axaptafreak.blogspot.com/2007/07/label-for-query-range-cannot-be.html</a><div class="blogger-post-footer"> Helmut Wimmer</div>Helmut Wimmerhttp://www.blogger.com/profile/17822961421858016540noreply@blogger.com1tag:blogger.com,1999:blog-14236735.post-82982243576345868022007-08-28T06:40:00.000+02:002007-08-28T15:50:48.205+02:00Catching keystrokes or function keysThe last days I've been struggling to find a way to catch keystrokes in a form to create keyboard shortcuts for the users. Well, I didn't succeed so far but I found something concerning function keys.<br /><br />In the shop floor control module, some forms use functions keys to control the form buttons (e.g. the form "JmgRegistraion"). I invested some time in it and it seems to me that the form doesn't really catch the keyboard event. The form uses a third party DLL and if you press F1, it will send the key "1" to the keyboard buffer. The buttons in the form have the numbers 1-9 as their first letter in the button text (property "Text" for the button).<br /><br />So, you press F1, the DLL sends the key "1" to the buffer and AX then connects it to the button that starts with "1".<br /><br />Well that's not really what I was looking for (and moreover, it will not work for F10, F11 and F12. It doesn't work for those keys in the mentioned form.)<br /><br />But it's a start.<div class="blogger-post-footer"> Helmut Wimmer</div>Helmut Wimmerhttp://www.blogger.com/profile/17822961421858016540noreply@blogger.com7tag:blogger.com,1999:blog-14236735.post-14804063474356764412007-08-02T14:19:00.000+02:002008-01-21T12:33:03.246+01:00Activating query tracing for all usersSometimes when you are tracking performance (or other) problems, you may want to activate the long running query tracing for all users. Here is a little job that will do that. Beware: you have to activate trace settings on your AOS server, unless most of the queries will not be caught.<br /><br /><pre><br />static void Set_SQLTrace_AllUsers(Args _args)<br />{<br /> #LOCALMACRO.FLAG_SQLTrace (1 << 8) #ENDMACRO<br /> #LOCALMACRO.FLAG_TraceInfoQueryTable (1 << 11) #ENDMACRO<br /><br /> boolean set;<br /> UserInfo userInfo;<br /> ;<br /><br /> set = true;<br /> ttsbegin;<br /> while select forupdate userinfo<br /> {<br /> userinfo.querytimeLimit = 1000;<br /> if (set)<br /> {<br /> userInfo.DebugInfo = userInfo.DebugInfo | #FLAG_SQLTrace;<br /> userInfo.TraceInfo = userInfo.TraceInfo | #FLAG_TraceInfoQueryTable;<br /> }<br /> else<br /> {<br /> userInfo.DebugInfo = userInfo.DebugInfo ^ #FLAG_SQLTrace;<br /> userInfo.TraceInfo = userInfo.TraceInfo ^ #FLAG_TraceInfoQueryTable;<br /> }<br /><br /> userinfo.update();<br /> }<br /> ttscommit;<br />}<br /></pre><div class="blogger-post-footer"> Helmut Wimmer</div>Helmut Wimmerhttp://www.blogger.com/profile/17822961421858016540noreply@blogger.com2tag:blogger.com,1999:blog-14236735.post-7358084950779053882007-07-24T06:13:00.000+02:002007-07-24T10:18:54.246+02:00Label for Query Range cannot be modified (still)In a query range (open AOT, Queries, any query, any range field), you can specify the property "Label". So you could display another label than the standard field label to be used in a query.<br /><br />Unfortunately, if you put a label into the query range, Ax will give you an error "Field xxx does not exist", where "xxx" is the label you wanted to use.<br /><br />This error existed in Axapta 3.0 and it still in exists in 4.0. (Maybe it also existed in 2.5 and back, so it could have a long bug history...)<br /><br />As soon as I get the time to install my Ax 5.0 CTP application, I will check if the error is there as well and will tell it to the MS guys, so they can fix it for the next versions.<div class="blogger-post-footer"> Helmut Wimmer</div>Helmut Wimmerhttp://www.blogger.com/profile/17822961421858016540noreply@blogger.com1tag:blogger.com,1999:blog-14236735.post-40157234557164786512007-06-19T19:00:00.000+02:002007-06-19T18:16:55.135+02:00Automatically open grid filter when opening formIn some forms it may be convenient that the grid filter (new in Ax 4.0) is activated automatically. If you want to get that behaviour, just add one line in the form's run method, just after the super() call:<br /><br /><span style="font-family:courier new;color:#ff0000;">this.task(2855);</span><br /><br />So, your run() method should look like:<br /><br /><br /><span style="font-family:courier new;">public void run()</span><br /><br /><br /><span style="font-family:courier new;">{<br /></span><br /><br /><blockquote><span style="font-family:courier new;">..... // some programming lines....<br />super();<br /><span style="color:#ff0000;">this.task(2855);</span><br /></span></blockquote><br /><br /><br /><span style="font-family:courier new;">}</span><div class="blogger-post-footer"> Helmut Wimmer</div>Helmut Wimmerhttp://www.blogger.com/profile/17822961421858016540noreply@blogger.com0