The holy grail of multi-national or enterprise ERP implementations has, for a long time, been the template-based approach. A template would ideally contain large chunks of pre-defined assets that can easily be deployed and validated within a business unit as part of a rollout.
The following figure shows four key elements of a rollout template.
In this blog, I will be exploring the tools available in Dynamics 365 for Finance and Operations (D365FO) for each of these four areas. I have elected to split the blog into four pieces, one for each area, for the sake of readability.
This part explores how D365FO supports the Data area of the template
Definition of Template Data
First, let us start with defining what template data is.
Distributed Template Data; To me, distributed template data is defined as:
Data that is relevant, but not necessarily common, across the legal entities in the instance. Distributed template data is used as a starting point in a legal entity and may or may not be redistributed at a later point when template data changes.
Shared Template Data; Shared template data on the other hand is defined as:
Data that is common and shared across the entire enterprise (or selected parts thereof).
Changes to shared template data will automatically affect all (selected) legal entities. More on this in the subsequent subsection Data Sharing.
The Shared Asset Library in Lifecycle Services
For the purpose of this blog, I assume a single instance deployment scenario. In this scenario, code is shared across all legal entities within the instance and is, as such, not part of my template definition.
A key repository for solution assets is the Shared Asset Library (SAL) in Lifecycle Services (LCS). Through the SAL it is possible for partners to share solution assets with customers and for customers to share solution assets across multiple projects.
In the following subsections, I will be highlighting the parts of the solution, which can be used for managing and distributing template data.
In the Data package section of the SAL you are able to upload data packages you have generated in D365FO Data Management. The following screenshot shows an example where I upload absence codes generated in my D365FO to the library:
Once the data package has been uploaded to the SAL, it becomes available to all projects in the tenant. As shown below, the package is now available for import to a specific project (in this case the project called “TSP Demo (V8.1)”).
Data packages in the shared asset library can be used to share pre-defined data across projects. In a template context it allows for easy distribution of the data relevant for deployment of the template.
Data Task Automation; Data packages from the SAL can be downloaded and imported automatically into D365FO using Data Task Automation (DTA), which is available in the Data management workspace. The automation tasks are configured through a manifest. The following figure shows an example of a DTA manifest file.
The above manifest file can be loaded into Data management and results in the creation of a number of data automation tasks as shown below.
The combination of data packages and data task automation will allow you to build a flexible framework that automates the generation of all relevant data in a new deployment from the template.
Configuration and Data Manager; The Configuration and Data Manager (CDM) is a simpler, but less flexible, alternative to the DTA. The CDM is available as a function in a project in LCS. Data packages imported to the project asset library automatically become available in the CDM.
In the following example, I am applying the absence codes data package to the D365FONOV18 environment.
Subsequently, I select the legal entity to apply the selected data packages to within the instance (as shown below).
In this case, applying absence codes to the “FRSI” legal entity fails because reference data is not yet available. Since data is being applied through a data project, I can analyse the failed import through the Data management workspace as shown in the following screenshot.
Data Validation Checklist
Once template data has been successfully imported into a legal entity, it needs to be enriched and validated. For this task, D365FO offers the Data validation checklist (DVC) workspace (shown below).
In the DVC, the test manager can configure any number of data validation checklists. A validation checklist consists of a number of tasks that can be grouped by area (configurable). The tasks are then sequenced and assigned to individual users. The user can open the menu point relating to the data directly from the workspace.
The DVC can be used to provide a structured approach to validating data imported from the template and enrich this data with data specific to the legal entity.
As part of the template, a company may decide to share a section of data across the entire enterprise. For this purpose, D365FO offers the cross-company data sharing function. This function can be found under:
System administration / Setup / Configure cross-company data sharing
In the following example, I have created a new data sharing group called “Template Data Sharing” that shares absence codes and classroom groups across the “FRRT” and “ITCO” legal entities.
A less known tool to validate data is the Optimization Advisor (OA). Some while ago I wrote a blog post on the subject, so I will not spend time on how it works here. However, in a template context, the OA rules can be used across all legal entities and be used to validate data.
In the above, I have highlighted some D365FO tools that support the configuration and distribution of template data. These tools are:
- Asset Library for managing template data packages.
- Data Task Automation for flexible and automated distribution of template data.
- The Configuration and Data Manager for simple distribution of template data across instances and legal entities.
- Data Validation Checklist that enables the project manager or test manager to take a structured approach to validating and enriching data.
- Data Sharing allowing (template) data to be automatically shared across selected legal entities.
- Optimization Advisor providing automated rule-based data validation and self-healing capabilities.
In the next part of this blog post I will take a closer look out how to work with D365FO processes in a template context.