Microsoft Dynamics 365 For Operations (formerly named Dynamics AX 7), as you might know, is an ERP (Enterprise Resource Planning) software package. You might know of other ERP software, like SAP or others in the Microsoft Dynamics family (which were largely acquisitions of software like Solomon or Great Plains; Dynamics AX/365 was itself an acquisition of Axapta).

The previous release, Microsoft Dynamics AX 2012, was a more traditional N-tier application. Customization could be done in a development environment called MorphX, using a programming language called X++.

With the release of AX 7 in early 2016, Microsoft significantly revamped the architecture. They moved to a web-based application meant to be hosted in the cloud with a SQL Azure cloud-hosted database behind it. Development is now done in Visual Studio with special plugins. (But X++ and a lot of concepts are still around.) There is a deep, required integration with Microsoft’s VSTS cloud-hosted source control and Lifecycle Services. Instead of traditional documentation, wikis and blog posts and webinars would disseminate information, as the living software changed on an Agile timetable instead of traditional monolithic releases.

It was a big deal.

They renamed it in late 2016, a reflection of this change. People still call it Dynamics AX sometimes, even Microsoft people; because whatever “Dynamics 365 For Operations” says from a marketing perspective, it doesn’t exactly roll off the tongue.

In 2016, after fifteen years of working as a SQL Server DBA and developer in various places, my employer decided to switch ERP systems to AX7/365O. I was given a chance to train to become a programmer in charge of customizing and reporting in the new system.

I soon discovered that information for programmers and customizers, if it existed and was up to date, tended to assume one of two things:

  1. You were an experienced programmer with another Visual Studio languages (C++ or C#) who just needed to learn the nuances of Dynamics AX/365 and X++.
  2. You were an experienced Dynamics AX 2012 developer/ISV who just needed to learn little bits of “what’s changed.”

But worst of all, beyond those expectations, is the wealth of knowledge that only seems to exist via word-of-mouth or figuring things out by trial and error.

I claim no expertise in, nor significant previous knowledge of, OO programming or Dynamics AX; it’s been a daunting and frustrating experience as I slowly learn and we march towards going live. But I’ve worked with a good teacher. And as I struggled, I discovered others were struggling as well.

This is not a blog to advance my career or present myself as an expert. This is to share my knowledge with others in the same boat as me, in some format that a web search can easily find it. This is not meant to suggest that you can go it alone; your company should be using consultants for implementation and formal training. But maybe something I write here can save you some time or frustration, if we’ve had the same problems.