AX 2012:Client Calendar lookups do not consider local system regional settings
A strange design change in AX 2012 Client calendar look ups observed.
To give you a brief, until AX 2009,we considered AX client calendar taking the local client system setting. Meaning, if we go to windows >> change the date, time settings and change the first day of the week as monday;my expectation with AX 2009 is, if I do this modification and open my AX client and then go to any of the date field and click Calendar lookup then I should be able to see the calendar for this month starting with day as Monday.
But, this behavior is not the same in AX 2012.Even if we change the regional settings, AX client will not take this into consideration when it is showing calendar lookup. (See below)
The reason for this behavior change is because of the code modification in following class.
Existing code take this information based on DateTimeFormatInfo of System.Globalization.DateTimeFormatInfo from assembly mscorlib which is culture independent.
Due to this clientFirstDayOfWeek will always return as 6 which will always be a 'Sunday'.
The work around to this issue could be to use the local registry entry through winAPI as below.
static int firstDayOfWeek()
return str2int(WinAPI::getLocaleInfo(#LOCALE_USER_DEFAULT, #LOCALE_FIRSTDAYOFWEEK));
Feel free to share your thoughts as comments here!!!
About the Author
Anish is best described as a dedicated Dynamics student and an Microsoft Dynamics evangelist with more than 10 years of Architectural experience in various Microsoft product development platforms. He is always fascinated and hooked to anything that involves technical/process developments which can enhance operational/business opportunity for organisations. His current areas of interest are ERP, product consulting, object oriented development and design patterns.