A few weeks ago I posted a link to all the TechDays 2010 sessions. There is one session I want to remark in special. The ‘Software Testing with Microsoft Visual Studio 2010‘ is a session about the new testing suite in Visual studio 2010 and it should be compatible with Microsoft Dynamics Ax, but I … Continue Reading
System tables – part1
In this post I will talk about some Ax kernel tables that are automatically created after the setup at the first run of Ax. They are typically company independent (no DataAreaId) and contain some valuable information about AX. You can find the tables I wil discuss under the AOT –> System Documentation –> Tables. AccessRightsList … Continue Reading
Execute a job on data in several companies – part2
In one of my previous posts I explained that you can switch company with the keyword changecompany. I also made a remark that you should set the value of your table-value to null after each changecompany. Small code example (bad): 1 2 3 4 5 6 7 8 9 10 11 12 DataArea dataArea; PurchTable … Continue Reading
Crosscompany
Yesterday I talked about executing code/getting records in several companies. Now the changecompany is not the only method. You can also get data out of several companies by using the keyword crosscompany in your select statement. Example: 1 2 3 4 5 6 7 8 9 Address address; container conCompanies = [ ‘cee’, ‘dat’ ]; … Continue Reading
Execute a job on data in several companies
There is a verry simple trick to loop through some companies and execute some code in them. Just write: DataArea dataArea; ; while select dataArea where !dataArea.isVirtual { changecompany(dataArea.id) { // Do Something… } }DataArea dataArea; ; while select dataArea where !dataArea.isVirtual { changecompany(dataArea.id) { // Do Something… } } Note! Make sure that you … Continue Reading
Batch job performance boost
Did you ever have trouble with the performance of your batch-job? Well maybe this small trick can shorten the time your batch runs. The big idea: Try to split up your gigantic batch in smaller pieces. Launch a batchjob that produces many smaller batchjobs (tasks) that can handle a subset of the data you need to … Continue Reading
Techdays 2010 @ Antwerp – Channel9
A few weeks ago I attended Techdays 2010. Now you all video’s ave been posted on Channel9. Check them out on: http://channel9.msdn.com/tags/TechDaysBelux/ Enjoy!
Tip for overriding methods
There is a simple and generic way to force overriding a method you created. To do so you just need create your new method and place a ‘throw error’ statement in it. To finish you can add the static method missingOverride from the error class and the funcName() to your error. Now when this method … Continue Reading
Expressions in query ranges – limitations
When you want to construct a query-object that contains OR-conditions, you can construct something like this: 1 2 3 4 5 6 queryBuildRange.value(strFmt('((%1 == %2) || ((%1 == %3) && (%4 == "%5")))’, fieldStr(InventTable, ItemType), any2int(ItemType::Service), any2int(ItemType::Item), fieldStr(InventTable, ProjCategoryId), queryValue("Spares")));queryBuildRange.value(strFmt(‘((%1 == %2) || ((%1 == %3) && (%4 == "%5")))’, fieldStr(InventTable, ItemType), any2int(ItemType::Service), any2int(ItemType::Item), fieldStr(InventTable, … Continue Reading
Channel9 : X++ into .Net
I accidentally found this interesting video about future architecture where you can run X++ in .Net. http://channel9.msdn.com/posts/Charles/Peter-Villadsen-and-Gustavo-Plancarte-Inside-Ax-Translator-X-to-MSIL