After over than 9 months of absence, here I am back to my lovely blog and lovely community.
I will start the new journey with my last deployment for our Dynamics AX 2012 environment. It has been really an interesting architecture the one we built on our servers based on the requirements we have.
Our requirement was to have a stable, available and reliable Dynamics AX 2012 environment for our 7 companies that are distributed all over Saudi.Those seven companies are working in different types of businesses like contracting, investment, manufacturing, contracting, services/maintenance, and trade. Thus, determining the number of transactions was not easy. The main point in here is that our users needed to have different modules, processes, workflows, and reports. Moreover, some of them might contradict in their requirements which makes the customization not easy as well.
I also would like to mention that we will be having customers entering our Enterprise Portal through the internet to access their bills which have been migrated automatically from Saudi banking payments system: SADAD. Internal employees will be using the EP of course as their employee slef-services portal. That EP will be integrated with the internal portals and document management solutions in the future.
Number of users is around 336 users:
As you might expect, to allow the availability of such number of users and requirements we have to have a big architecture that serves every single detail of the requirement.
Here are some notes about the architecture:
Server | Quantity | Notes |
Application Servers: Dynamics AX 2012 AOS | 5 | Load balanced AOS Virtual Servers |
Batch Server: Dynamics AX 2012 AOS | 1 | |
Database Server: SQL Server 2008 R2 | 2 | Failover Cluster |
Reporting Server for SSRS, SSAS and Management Reporter | 1 | Might be two as load balanced in the future |
Web farm: SharePoint Server and Help Server | 2 | |
Terminal Servers | 2 | Load balanced to allow accessing of all users through the Terminal Services of Windows 2008 R2 |
File Server | 1 | As a document repository on a SAN storage |
If you are interested to know about the configuration of those servers, please leave a comment and I will be more than happy to answer your inquiries.
If you ever started working on the image downloaded from the Microsoft PartnerSource of Microsoft Dynamics AX 2012, you might face a trouble while trying to explore Role Centers or Enterprise Portals.
This error is due to the configuration setup in the AX2012 image that let’s DNS points to contoso.com domain. What has to be done is to redirect that domain to the current machine (which is the same virtual machine you’re using).
To do so you must add a loop back IP to your” Hosts” file. You can think of that files a Rolodex for your computer. Its where a computer looks first to translate the URL of a website into a numerical IP address that it can actually use. You can find the “Hosts” file in: “C:\Windows\System32\drivers\etc\Hosts”.
To fix the issue, open the Hosts file a notepad and add this line to the end of the file:
127.0.0.1 dynamicsax.contoso.com
In the beginning, you might encounter the below error… but it will be fixed with “refresh”:
After its successful event in Riyadh last May, Microsoft Dynamics AX Brains community is back to continue its support to the Saudi community in the Eastern Region this time.
Under the sponsorship of Cubes Solutions, December 14th will gather all community members at Al Gosaiby hotel in Khubar to introduce the new version Microsoft Dynamics AX 2012.
The event will be a great opportunity for Microsoft Dynamics AX partners, customers, and consultants to gather and network.
Agenda (09:30AM – 02:45PM):
Session | Start Time | End Time | Speaker | ||||||||
Registration | 09:30 | 09:55 | |||||||||
|
|||||||||||
Welcoming note and Dynamics AX Brains Introductory | 09:55 | 10:00 | Amer Atiyah | ||||||||
If you have no idea what “Dynamics AX Brains” is, then this is a good chance for you to know how you can benefit from such community and technical gathering.
|
|||||||||||
|
|||||||||||
|
|||||||||||
Prayer and Coffee Break | 11:30 | 12:15 | |||||||||
|
|||||||||||
Introducing the New Features of Supply Chain Management & Manufacturing in Dynamics AX 2012 | 12:15 | 13:30 | Ahmad Maghraby | ||||||||
Microsoft Dynamics AX 2012 is coming with so many new capabilities that are critical for any business. Specifically in the supply chain management and the production areas, major processes have been introduced. This session will reveals the new features of AX 2012 in the supply chain management and manufacturing. Join us and get ready for the new release.
|
|||||||||||
Coffee Break | 13:30 | 13:45 | |||||||||
|
|||||||||||
Technology in Microsoft Dynamics AX 2012 | 13:45 | 15:00 | Amer Atiyah | ||||||||
This session is a light weight technical session describes the new Dynamics AX 2012 for new as well as experienced Dynamics AX technical and non-technical attendees.Tremendous changes and efforts have been made on the technology side from the Dynamics AX 2012. Layers in database, new Modeling system, Reports only on SSRS, Enterprise Portal on MOSS 2012, AOT in VS.net… and many other new updates you would really like to watch.
|
If you have ever used the General Ledger AIF service of the Microsoft Dynamics AX 2009, you might have noticed the limitation of not integrating other than Ledger transactions. For example, you cannot send Customer and Vendor transactions through that AIF Service.
I came across a requirement where I needed to integrate external Vendor and Bank transactions through AIF. After spending sometime on testing as well as on X++ code tracing… I came to know that Microsoft is putting some restrictions on the code to not to accept the Ledger Journal transactions of types other than Ledger.
The following code is a standard X++ code that was written to prevent such integration.
37 38 39 40 41 42 43 44 45 46 47 48 49 | //LedgerJournalTableType (class) -- initializeLedgerJournalName (method) -- Line number 37 /*Commented to disable the Non-Ledger type restriction*/ if (!true /*this.isJournalNameValidJournalType()*/) /*Commented to disable the Non-Ledger type restriction*/ { AifFaultContext::setGlobalContextField(tableId, fieldId); AifFault::checkFailedLogFault(strfmt("@SYS114718", axLedgerJournalTable.parmJournalName(), axLedgerJournalTable.parmJournalType()), #InvalidJournalNameJournalTypeCombination); throw AifFault::faultList("@SYS98197", #ValidationFailed); } /*Initilizing the journal type from the journal name*/ ledgerJournalTable.JournalType = ledgerJournalName.JournalType; /**/ } |
Also I have changed:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | //Amer Atiyah, http://www.amerax.net/ //LedgerJournalTransType (class) -- validateAccountType (method) -- Line Number 1 protected boolean validateAccountType() { boolean isValid = true; ; switch (ledgerJournalTable.JournalType) { case LedgerJournalType::Daily : /* I had to comment this code to prevent the validation if (ledgerJournalTrans.AccountType != LedgerJournalACType::Ledger) { if (this.isConsumerStateTracked()) { // AX5 service limitation isValid = AifFault::checkFailedLogFault("@SYS117885", #AccountTypeMustBeLedger); } }*/ break; default : break; } return isValid; } |
What I like to mention in here is that Microsoft Dynamics AX 2012 now supports integrating Vendor, Customer, and Bank transactions out-of-the-box. I copied the following code from the LedgerJournalTransType class in Dynamics AX 2012 without doing any changes to it:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | protected boolean validateAccountType() { boolean isValid = true; this.initializeLedgerJournalTable(); switch (ledgerJournalTable.JournalType) { case LedgerJournalType::Daily : if(LedgerJournalTrans.AccountType != LedgerJournalACType::Ledger && LedgerJournalTrans.AccountType != LedgerJournalACType::Bank && LedgerJournalTrans.AccountType != LedgerJournalACType::Vend && LedgerJournalTrans.AccountType != LedgerJournalACType::Cust) { if(this.isConsumerStateTracked()) { isValid = AifFault::checkFailedLogFault("@SYS117885", #AccountTypeIsNoSupported); } } break; default; break; } return isValid; } |
Developing applications is now easier and faster in the new Microsoft Dynamics AX 2012 than its earlier versions. .NET developers who are familiar with Visual Studio .NET will be comfortable with developing Dynamics AX applications although Dynamics AX has its own IDE which called MorphX and its own programming language with is X++.
This image shows the Dynamics AX AOT (Application Objects Tree), one of the MorphX IDE objects that Dynamics AX developers use to navigate through programming objects like Forms, Reports, and X++ Classes:
With Microsoft Dynamics AX 2012, you can view that AOT in the Microsoft Visual Studio 2012:

Dynamics AX 2012 Applicatoin Explorer in VS.NET
Proxies
Microsoft Visual Studio 2010 now creates proxies internally to support interacting with Microsoft Dynamics AX 2012 X++ classes, tables and base enums. By creating those proxies, developers will interact with Dynamics AX objects in C# and VB.NET exactly as if they are interacting with it in X++. After the proxy is created, that type is available as a strong type and features such as IntelliSense are available. For example, table fields and X++ methods are now exposed to be used in C# with one click. The created proxies are using .NET business connector internally to connect to the Dynamics AX objects.
The following pictures speak quietly how you can access and interact with Microsoft Dynamics AX 2012 objects from within Microsoft Visual Studio 2010:

Adding Visual Studio Project to the Dynamics AX 2012 AOT

Visual Studio Project inside Microsoft Dynamics AX 2012 AOT

Adding a Dynamics AX 2012 object to the VS 2010 Creates an Internal Proxy

The CustTable Appears in the Solution Explorer. You Can Now Use the Dynamics AX CustTable Methods, Properties and Fields!
Two weeks ago, I was very pleased to announce our intend to conduct the Microsoft Dynamics AX Brains event in Riyadh at the 19th of May. Today and after the event, I’m really happy to say that the Dynamics AX Brains event was successfully delivered.
During around five hours, 140 attendees has enjoyed the very new news about the Microsoft Dynamics AX 2012. In the welcoming note, I have welcomed the attendees and introduced to them Mainly we have covered three areas:
- What’s new in Microsoft Dynamics AX 2012 SCM and Manufacturing, by Ahmad Maghraby
- What’s new in Microsoft Dynamics AX 2012 Finance and Projects Accounting, by Ahmad Yakan
- What’s new in Microsoft Dynamics AX 2012 Technology, Architecture and IDE, by Amer Atiyah
I will leave you with some pics from the event :).
If you have registered for our Dynamics AX Brains event, then we would like to thank you very much for registering to the “Microsoft Dynamics AX 2012, a New Generation of ERP Systems” event. If you did not register yet, then you can register now on the event Registration Page.
This email is to remind you with the event that be held in the 19th of May, 2011 in the PSU – Riyadh. For more details about the event please check the Registration Page.
Location:
Old Management Building – Prince Sultan University
King Abdullag St. (Exit 10) Cross with Abu-Bakr AlSeddeeq St.
Riyadh, Saudi Arabia
Time:
Thursday 19th of May, 2011
Registration begins at 10:00 AM.
Remember the Prizes for the first five attendees.
We look forward to see you all there :).
Best regards,,,
The Dynamics AX Brains Community Members
Finally Microsoft has released some documents about the long waited Microsoft Dynamics AX 2012. These new training materials highlight the new features in Microsoft Dynamics AX 2012. These materials are currently downloadable on PartnerSource (Partner Service Plan required). They will be orderable (can be purchased) beginning April 21.
- What’s New – Application in Microsoft Dynamics AX 2012 for Finance, PA, Case Mgmt., HRM and Public Sector Course Number 80164
- What’s New – Technical in Microsoft Dynamics AX 2012 for Implementation Course Number 80165
- What’s New – Application in Microsoft Dynamics AX 2012 for Supply Chain Management and Manufacturing Course Number 80163
- What’s New – Technical in Microsoft Dynamics AX 2012 for Development Course Number 80299
- What’s New – Local Functionality in Microsoft Dynamics AX 2012
Have fun :).
Search the site
Dynamics AX 2012 Event
Recent Posts
- D365FO | Cannot Connect to SQL Server Database on Your Cloud Test Machines
- Intro to Microsoft Dynamics AX in Arabic – سلسلة حلقات مايكروسوفت داينامكس إيه إكس بالعربية
- Microsoft Dynamics Launch – Sunday, 24th February – Intercontinental Hotel, Riyadh
- Files of Our AX Brains Dec 2012 Event
- It was a great day!
- Tomorrow is the day for our Dynamics AX Brains Technical Seminar
- Dynamics AX Brains December 2012 Technical Seminar
- Windows Server 2012: Built from the Cloud Up
Tags
Archives
- October 2019 (1)
- January 2014 (1)
- February 2013 (1)
- December 2012 (4)
- September 2012 (2)
- December 2011 (2)
- November 2011 (3)
- July 2011 (3)
- June 2011 (4)
- May 2011 (3)
- April 2011 (4)
- March 2011 (12)
- February 2011 (2)
- January 2011 (3)
- December 2010 (1)
- November 2010 (1)
- October 2010 (5)
- August 2010 (1)
- July 2010 (3)
- June 2010 (4)
- May 2010 (5)
- April 2010 (1)
- March 2010 (9)
- February 2010 (4)
- January 2010 (4)
- December 2009 (11)
- September 2009 (1)
- August 2009 (1)
- July 2009 (2)
- September 2008 (1)
Random Testimonial
- ~ Muheet Shariff, Dynamics AX Consultant
"I have found Amer a pleasant, generous person who is never afraid to take on a challenging task.Amer is an independent, self directed person who is able to communicate effectively and meet even the most demanding challenges. I am positive he will make outstanding contributions to Microsoft technologies. It was a great experience working with Amer during our implementation of Dynamics AX at Al-Fahad and Al-Othaim companies. His support to Microsoft Dynamics AX is outstanding and very professional. Technically he sounds very strong. It was a great pleasure to be associated along with Amer performing some challenging tasks. I wish him to reach the desired success with his professionalism."
- Read more testimonials »