A brand new AX screencasts is now available on Channel9. It explains how exception handling in X++ and how exceptions are integrated with the Infolog in Dynamics AX 4.0.
Here is the link:
For years I had been planning to read Steve McConnell's Code Complete. It is one of these books that constantly is quoted. I remember the technical lead in Damgaard's early days had a copy of the book, he often referred to it, but didn't promote it within the organization. So last spring during a 10 week paternity leave, I read the whole thing, cover-to-cover. The only thing I regret is that I didn't do it earlier.
This holiday season I planned a quick read-through of one of Steve McConnell's other works: Rapid Development. This book was published in 1996, and I expected the contents to be somewhat outdated by more recent development methodologies. However, Rapid Development is not another methodology, it is "just" a bible of common sense that can be applied during software development to achieve rapid (as in fast, speedy, not slow) development. I'm now half way through the book, and I find myself looking forward to opening the book each night. I've also caught my self rereading some of the paragraphs, not because they are poorly written, or because I'm half asleep, but because they are oh-so-true! This book deserves more than a quick skim, even in 2007.
If you ever are going to write a single line of code, you must read: Code Complete.
If you ever are going to manage, lead, or hire someone to do a software project, you must read: Rapid Development.
If this was true for all the people I interact with, my life would be so much more fun. I cannot recommend these books any clearer.
Congratulations to Junior Alonso Aguilar Meléndez from Costa Rica.
A signed copy of "Inside Dynamics AX 4.0" is on its way.
You can now download the localized version of 4.0 SP1. It supports the following 32 countries/regions:
Austria, Australia, Belgium, Brazil, Canada, China, Czech Republic, Denmark, Estonia, Finland, France, Germany, Hungary, Iceland, India, Italy, Ireland, Latvia, Lithuania, Malaysia, Mexico, Netherlands, New Zealand, Poland, Russia, Singapore, South Africa, Spain, Switzerland, United Kingdom, United States and Turkey.
You can download it from Partner Source:https://mbs.microsoft.com/partnersource/downloads/servicepack/ax40sp1_download.htm
And from Customer Source:https://mbs.microsoft.com/customersource/support/downloads/servicepacks/ax40sp1_download.htm
If you still haven't participated in the crossword challenge you can still make it. Today is the final day of entry - tomorrow I'll be drawing the winner.
I will of course use X++ to help me find the winner. I will generate a random number (n), and winner will be n'th reply in my Outlook mail folder containing the right responses. Here is the code I'll use (Yes, I've received 33 responses so far):
#define.NumberOfResponses(33) RandomGenerate random = RandomGenerate::construct(); ; random.parmSeed(TextBuffer::strHashKey(guid2str(newGuid()))); print random.randomInt(1, #NumberOfResponses); pause;
In many of the replies I've received were expressed how much fun it was to solve this puzzle. I really apprecieate all the comments, and I have a small surprise for you. Try to enter this URL in the help system in Axapta 3.0: "crossword://development".
This posting is provided "AS IS" with no warranties, and confers no rights.
The next installment of AX screencasts is now available on Channel9. It is a 30 minute video on Smart customizations in Dynamics AX 4.0.
Over the coming months I plan to create more screencasts on general development topics in Dynamics AX. If there are any specific topics you would like a screencast to cover, please let me know.
Microsoft Dynamics AX 4.0 Implementation Guide is now available
This documentation is intended for partners and customers that are working on Microsoft Dynamics AX projects that involve upgrading, installing, configuring, customizing, or deploying to a production environment. Read this guide before you begin your project.
As the holiday season draws nearer, what is more appropriete than giving away a nice prize. To challenge you a bit I've greated a small crossword. In the spirit of AX the crossword is only using X++ system functions - so if you are stuck, you can start up your favorite AX client to get some hints.
The prize is: One copy of "Inside Dynamics AX" - signed by the authors.
To participate in the competition:
The winner will be drawn randomly from all correct answers. The winner's name and country will be published on this blog, and I will subsequenty contact the winner for mailing address, so I can send the prize.
The competition is open to all non-Microsoft-employees. The competition doesn't require any purchase. By submitting an answer, you accept the competition rules.
1: Which function deletes all non-alphanumeric characters from the text string specified by text. 2: Which function converts the time text string specified by text into an integer value.3: Which function converts the date specified by date to a text string. 4: Which function calculates the length of the text string specified by text. 5: Which function returns the User ID for the current user. 6: Which function returns the printable name (the label) of the specified field. 7: Which function returns 1 if arg specifies an ultimo date, 0 otherwise. 8: Which function converts to a string representing the field name of the field specified. 9: Which function returns the current value of an annuity.10: Which function returns the date in the previous year which corresponds most closely to the date specified by date. 11: Which function removes the characters specified in text2 from the text string specified by text1. 12: Which function returns the number of intervals for the given period.13: Which function returns the fractional part of the argument decimal. 14: Which function returns the real starting date (the normalized date) for the period.15: Which function returns the date in the following quarter which corresponds most closely to the date specified by date. 16: Which function returns the date which corresponds to the specified number of days since 01\01\1901. 17: Which function returns a null container. 18: Which function converts the decimal number specified by number to a text string.19: Which function calculates the contribution ratio, based on the sales price specified by sale and the purchase price specified by purchase. 20: Which function returns the current time on the computer system.21: Which function converts to a string representing form if it is an existing form. 22: Which function returns the constant depreciation amount for the specified asset for each period of the asset's life. 23: Which function returns the lesser of the two figures specified by figure1 and figure2. 24: Which function returns the absolute value of figure. 25: Which function returns the hyperbolic cosine of argument arg. 26: Which function calculates the future value of an investment. 27: Which function expresses the natural logarithm of the decimal figure specified by figure. 28: Which function returns the percentual increase of the amount specified by amount. 29: Which function returns the arc cosine of the argument arg. 30: Which function returns the sine of the argument x. 31: Which function converts all letters to lower case in the text string specified by text. 32: Which function returns the cosine of argument arg. 33: Which function calculates the year which contains the date specified by date.
The second installment of AX screencasts is now available on Channel9. It is a 34 minute video on 3-tier development in Dynamics AX 4.0.
Updated 30-06-2012 official beta version available here: http://informationsource.dynamics.com/RFPServicesOnline/Rfpservicesonline.aspx?ToolName=Microsoft+Dynamics+AX+2012+Combine+XPO+Tool+Beta+1.0
Updated 14-01-2011 to support UniCode XPO files. Notice the change in parameters.
So now you are using version control - and you just realized the master is no longer the AOD layer file, but instead a zillion of XPO files. Still you want to provide an AOD file to your consumers, as that is the way to deploy an AX application.
Page 96 in Inside Dynamics AX 2009 contains a description on how to build an AOD file from XPO files. In this section an SDK and a tool are mentioned. While we are working on providing you with the SDK for building a layer file, I can make the CombineXPOs.exe tool available.
See the attached file.
Usage: CombineXPOs.exe -XpoDir XPOfolder -CombinedXpoFile DestinationFile.xpo -utf8
Example: CombineXPOs.exe -XpoDir USR -CombinedXpoFile myFile.xpo
Files in the XPOFolder folder must match the AOT structure. This is automatically ensured when using AX version control integration.
This posting is provided "AS IS" with no warranties, and confers no rights.