I wanted to share a nice tool I’m working on for Dynamics AX 2012.  It is called ColumbusSync, and solves some requirements we often see at larger enterprises.  The ability to quick and easy distribute master data from a master company to a set of “client” companies.  In this way a large set of companies can act as a single enterprise, even though it actually are a set of unique companies.   

image

What makes this tool great, it that is generic and uses all known relations defined in Dynamics AX 2012.  This means that if you want to synchronize your customers, then all other tables that have a dependency will also be suggested to be included in the synchronization. RecID related relations are also handled. Transactions(like sales orders, inventory transactions etc) are not supported to be included in this tool, and it will not work across partitions.

On each field you can define if the field should de synchronized, is a local field, is a fixed field or a script is associated to the field.  So parts of a record can be locally controlled and parts are synchronized.

You can also define a query criteria, so that set up that only a sub-set of the records should be synchronized to a set of destination companies.

The amount of data that could be included in the synchronization could surely be massive, so there is a set of optimizations that makes use of the Dynamics AX multithreading batch framework.  Just like the master planning in Dynamics AX,  splitting the synchronization into sub-jobs, that is executed the the correct sequence.  (Meaning that groups are typically synchronized before main table records)

The RecVersion field is also used find exactly those records that should be synchronized.  To also support “close-to-real-time” synchronization the current changed/added record can be collected just like the standard AX 2012 database log.

The tool is not ready for shipping yet, but I know that many companies has requested this.  It will also solve a requirement I have seen in the community a lot.  The ability to quickly create a new client company.  The idea is that you may just run the data synchronization to a destination company. 

Visit the blog later, and I’ll share some more details of the tool.

Take care, and happy DAXing.