In Microsoft Dynamics AX 2009, Hirji calendar (the Islamic calendar) is not yet supported although Hirji date is there in the background of Dynamics AX 2009!
To enable the Hirji Calendar, you should modify some X++ code in the User Options form. To do so, go to: SysUserSetup –> Methods –> run and change the following blue code into the red:
By doing this, you will have a drop down list in the User Options shown in the General tab like the following:
With this options, you could clearly understand that Microsoft is putting something to enable the Hijri calendar. I have done some testing over this options. It looks that they’re using a middleware to convert the “actual” Gregorian date that is in the database so the user see the data in Hijri format. Unfortunately, I couldn’t complete the testing with successful results… it started to get me weird results. That’s why Microsoft is not yet supporting it.
Till Microsoft supports it, you could use a very easy to use function in the SQL server: convert(datetime,’12-22-2009′,102), 131)
To solve the Hirji date problem, you could create a class with two methods:
- One that takes a “date” and returns a Hirji date after calling this SQL method: selectconvert(varchar,convert(datetime,’12-22-2009′,102), 131) –try to run this in SQL Server to see the result.
- Other that takes a Hijri date in an str format, and returns a date by executing this SQL code: selectconvert(datetime,’22-01-1417′, 131) –try to run this in SQL Server to see the result
By this, you could have the ability to show the user a StringEdit control that uses edit moeth to write a Hirji date and you save the result of conversion in the normal Gregorian date, like this:
This is the result: