In this multi-part blog series, I would be writing about some of the out of the box Dynamics 365 Fin Ops features/tools and leveraging some of the cross application capabilities with Azure Devops, LCS and RSAT in driving successful implementations.
The biggest challenge in any Dynamics implementation in the past (until Dynamics AX 2009) always has been the configuration migration strategy across environments. The approach back in the day was to maintain long spreadsheets that would track each configuration, and manually making sure that these are marked in the golden environment and promote that to production using a SQL restore or have some custom scripts to be able to import these into production.
With Dynamics AX 2012, Microsoft had made some investments in DIXF and of course even 2012 had its share of challenges with the ability to be able to combine these into a single package that can be seamlessly imported across environment. Nonetheless, DIX was a major improvement from Dynamics AX 2009 out of the box tools.
With Dynamics 365 Fin Ops, now you have an extensive list of data entities that are readily available out of the box to aid the configuration migration and along with this list of data entities, there are 2 readily available features that would be able to make the configuration migration a less painful process.
- Data templates
- Data task automation
Note that these tools do not replace the necessity of having a pristine environment. As a best practice, it is always recommended to have a golden environment to perform your configurations and it is also a better practice to make a configuration changes first in the golden environment, even if you are to fix some issues during the fix. These tools help you migrate the configurations from environment to another.
One feature/tool that implementers should be paying attention to is Data templates.
What are data templates, and what purpose do they solve?
As implementers, I’m sure everyone remembers, the days when we had to toil to prepare the sequence of files that we need to load, arranging one by one and loading them. For example, to load vendors, we would had to keep in mind that we have loaded, Terms of Payment, Methods Of Payment, Cash discounts, Vendor groups so on and so forth, and then come to the point of loading the vendors. Obviously over a period of time, you would understand the dependencies and get better with them, but you would always wish to have something to begin with.
That is what the OOTB data templates in Dynamics 365 Fin Ops would attempt to solve. To an extent, Microsoft provides some of the data templates by default that could give you an overview of how the data templates can be used.
To load the default templates in your environment, under the Data management workspace, click on “Templates”.
Click on “Load Default templates” and you can see a set of templates that can be import segregated by each module.
One must be curious on what could be the source of these templates. All these default templates are part of the Lifecycle Services’ (LCS) Shared asset library.
Once the templates are loaded, you would see that each of the individual templates has data entities, that are sequenced.
If you have additional data entities, for example custom configurations you would have to load, you could add them to the existing templates. And you can modify the data templates to suit and fit your requirements. You may not need all the configurations that are outlined in the list and you can choose to remove them in such cases.
So how good are these OOTB data templates in Dynamics 365 Fin Ops? Pretty robust and you can discover dependencies that are on each of the entities and in fact you can look for dependent configurations and also setup validations. As an example, if you look for dependencies on Financial dimension values, you would see that Financial dimensions would be shown as a dependency.
Besides these, you can see different, Units, Levels and Sequences that are present in the templates. These basically define, in what sequence these would have to be executed.
The unit, level, and sequence of an entity are used to control the order that the data is exported or imported in. Below is a brief explanation of the Units, Levels and Sequences in the templates.
- Entities that have different units are processed in parallel.
- In the same unit, entities are processed in parallel if they have the same level.
- In the same level, entities are processed according to their sequence order in the level.
- After one level has been processed, the next level is processed.
- We use only unit 1 to help guarantee that all dependencies are handled in the correct order.
All the templates, including the custom configurations that you choose to create can be exported and you can load them into either the configuration & data manager or to the data package asset for the project’s Asset Library.
In the next blog, let us review how data task automation can be utilized to migrate configurations across environments.