Once a feature, then deprecated. Looking back in time…
Back in AX 2009 there was a function to copy a company, basically enabling you to copy a specific legal entity to another legal entity. One can imagine this is very useful to copy a golden configuration or use the configuration of a specific company as the start for another. However, with the introduction of AX 2012, this functionality was deprecated. This was the explanation:
Reason for deprecation: The underlying architecture of Microsoft Dynamics AX 2012 was modified, and these modifications required the duplicate company feature to be deprecated.
Replaced by another feature: No. The feature is no longer available, and there is no replacement feature. Although there is no replacement duplicate company feature, a company can still be used as a template to create other companies. By using the import and export feature, users can create duplicate reference, setup, and master data by copying data between two companies. For demo data, the import and export feature can be used to replicate a company from one environment in another environment, or in the same environment. Users can also make further changes to create an appropriate demo scenario in the new company.
There have been other options of course to copy configuration data between companies, but never as easy as the copy company feature. With the introduction of Dynamics 365 for Operations, this feature was also not available, but – in short – importing and exporting data in general changed (and improved) with the data entities and data management framework.
Back in March ’17, on the Dynamics 365 Technical Conference in Seattle, I’ve joined a (popular) session held by Mike Falkner, where he introduced his vision on improving the data entities and process of importing and exporting configurations. For those interested, it was the session Reduce Data Import and Export Time During Implementation Using Configurations (ADM05R). The session was very interesting and followed by a feedback session to gather input from the attendees. After some wait, we can now enjoy many of the improvements being announced that day. Again a prove that the feedback from the community is taken seriously. Let’s have a look!
How a major improvement and highly requested feature can be announced in little text
This was how the feature was announced in the Platform Update 11 release notes:
Copy legal entity configurations to a new legal entity
As new companies are needed, users will be able to save time and potential errors by copying an existing legal entity’s setup to the new company. This will allow the onboarding of a new location to be quick and consistent with the company’s golden template design.
Let’s say there is no way to count the weight of an improvement by the number of words announcing it 🙂 In this post we’ll have a look at what we’re getting, but let’s first have a look at the related improvements in the area of Data Management, continuously and specifically in Platform Update 11.
The Data Management workspace, now with ‘Enhanced view’
When you open the Data Management workspace in an environment with Platform Update 11, you see the following message: “Click Enhanced view to try the new page layout. You can also change the default view in the Data management framework parameters.”
This option allows you to use an enhanced view for the Data Projects and Job History, ultimately providing more clarity on the different data projects, grouped in import, export, copy into legal entity, configuration, integration and other data projects.
The Job History is also cleaner, with groupings on historical run times such as last 24 hours, last 3 days, all the way to last 6 months.
Quick tip: Setting the preferred view as standard on your instance
You can set the preferred view mode in the Data import/export framework parameters. Go to the Data Management workspace, click Framework parameters and set the parameter View defaults to the preferred value. These are the options: Default by user, Standard view, Enhanced view.
Improvements on data entities
Building this functionality using data entities definitely required Microsoft to invest heavily in optimizing the data entities. Here are some of the areas of investment that have gradually payed of in improvements.
Automating the dependencies
Dynamics 365 for Finance and Operations currently knows around 2100+ data entities, with various dependency levels. There have been investments in enabling the ability to sequence templates and long term focus is on auto-sequencing a configuration.
Key entities that are know to contain a lot of data are improved with speed and performance in mind.
Adding metadata, ultimately making more sense to entity views
Metadata is required to easily search for a specific entity, or to sort entities based on in example their module or category. In the beginning, all entities have been linked to the System Administration module for example. Now, the data entity views Entity model view and Entity category view make more sense.
Self referencing entities and circular dependencies
There have been continuous improvement on entities that are self referencing or that have circular dependencies.
An entity that is self referencing is, for example, the customers entity. Customers also have an invoice customer and, therefore, the invoice customer must exist first before the customer can be imported.
An entity that has circular dependency is, for example, the vendors entity. A vendor has a default bank account, but the bank account needs a vendor.
Basically, filling the gaps
Over the releases, we have see entities being added to allow for a more complete coverage to allow data entities to be used for copying configurations. Entities that have been optimized for OData usage have been also optimized to perform better in a configuration copy scenario.
It’s back! The copy configurations feature has returned
From Platform Update 11 onwards, on the Data Management
workspace, there is a new button that’s called Copy into legal
entity. This is the copy configurations feature that allows both the
export with subsequent import and the copy into a legal entity in
the same instance scenarios. More on the scenarios below.
Two options to use the Copy configurations feature
Export and import a configuration
Using this method, you would export and import a configuration in multiple steps. This of course is the way to go when you are copying across multiple instances. You would export in your source instance, and import in your destination instance, for example between your golden configuration environment and your acceptance or production environment.
Copy into a legal entity
Using this method, you are able to copy a specific company (legal entity) to another. The companies of course would have to be within the same instance. This process resembles an export and import, but in one step. You would use this method when you are working on a multi-country project where (parts of) the configuration is shared, for example.
Here’s how to use it
To start, navigate to the Data Management workspace, and click Copy into legal entity.
- On the Copy into legal entity tab, create a new Copy configurations group and provide a name
- Set the proper Data project operation type. Here’s where you would choose between a export, import of copy into legal entity type
- Define a Project category. This is the type of the data project, with the option to choose for Project, Configuration, Integration or Other. Based on your selected type, the project would show on the corresponding data project type tab on the Data Management workspace.
- Select your source legal entity
- On the Destination legal entity tab, select the legal entity, or multiple legal entities, where the data should go. Here’s also where you can set whether you want to Copy number sequences.
- On the Selected entities tab, you are able to add entities. There are several ways to add entities:
- Add entity: Allows you to select/input a single specific entity, when you want to copy only one entity, or add entities one by one.
- Add multiple: Allows you to select multiple entities at once, using filters, tags, application module or entity category to select sets of entities. Based on the filter you are shown a list of entities and you can select all or make a manual selection. This is great functionality!
- Add file: Allows you to upload a file with a sample file format and add the entity in that way.
- Add template: Allows you to add from a template and either replace or merge the entities.
- Also on the Selected entities tab, once you have added one or more entities, you have some options of influencing the entities:
- Remove entity: Well yes, you would not have guessed it 🙂
- Open in Excel: Downloads the Excel template for the entity. Great!
- Resequence: Allows you to resequence the data entities in the list. The option is only active when you have selected more then one entity. It allows you to control the resequencing options by selecting unit, level or sequence or multiple values.
- Sort by: Allows you to control sorting options, currently with only one option.
- Disable: Disables the selected entity. Only works when you select one entity, not when you have selected multiple entities. Could be helpful when testing and building your copy configuration setup to isolate an entity that is not working correctly.
- On each entity line in the grid, there are also some options:
- Filter: Allows you to filter data on the entity. Very important if you want to exclude specific data, and required to exclude other entities for example. Refer to the considerations further on in the blog for more information.
- View map: Shows you the mapping of the fields in the entity and allows you to make changes to the mapping, in example removing a field from the mapping when it is not applicable. Refer to the considerations further on in the blog for more information.
You now have your Copy configuration group set up and are ready to use it to either export, import or copy your configuration into a legal entity, depending on the choice of your Data project operation type. Click Copy into legal entity to start the execution. You can also execute this operation in batch, by using the Copy into legal entity in batch option that is available under the Copy into legal entity tab.
Several things to consider
What to consider when using the Copy configuration feature for for export and import
Several of the entities require additional steps when you build configurations
Some examples of additional steps are:
- Account structures and advanced rule structures are set to the Draft status and need to be activated before use;
- Some workflow expressions might be too long for an Excel cell. Use XML instead of Excel as the export format;
- The Products and Released Products entities should be used for configurations. The Product master and Released product master entities should be used for OData scenarios;
The documentation has recommendations per each of the entities and is constantly updated as the feature is improved. Make sure you take these recommendations into account. For more, and the most actual, recommendations refer to the Setup considerations for some entities that are used to export configurations chapter in the Copy configuration data from one company or legal entity to another documentation.
Remove the mapping and apply filters for specific entity fields
To help guarantee that the import works, you should unmap some of the fields in an entity. For example, workers are stored in many tables, but they might not be set up in a golden build. Filters might also be required for some fields in an entity. There is a list of entities that might have to be unmapped or filtered in the chapter Remove the mapping and apply filters for specific entity fields in the Copy configuration data from one company or legal entity to another documentation.
Golden builds that have multiple legal entities require filters on entities
If you’re exporting from a golden build that contains multiple legal entities, but you want to import the data from only one of those legal entities, you must apply a filter on the legal entity fields, so that only the data that you require for that legal entity is exported. This filter must remove all data for all legal entities except the legal entity that you want. In some cases, you must complete some additional steps to clean up the exported data.
Most of the changes that are listed in the following table occur in the System setup and General ledger areas, but there are also some in Inventory Management and Retail. If you export a golden build that uses a single legal entity, you should not require these filters.
The entities that require filters or special handling when you export the data are summed up in the chapter Golden builds that have multiple legal entities in the Copy configuration data from one company or legal entity to another documentation.
Changing the legal entity value before import
If you want to change the legal entity identifier to another value, you must change the values in all fields that resemble the fields that were listed earlier to the new legal entity value. The legal entity identifier is stored in many places. Therefore, it can be difficult to make this change, and you might cause errors if you try.
What to consider when using the Copy configuration feature for copying a legal entity in the same instance
Test before you copy, and think of your dependencies
When you copy into a legal entity, you have the same validation that would occur when you import a file. You need to test your copy action on a test environment to ensure any and all dependencies that will cause failures are known. If dependent information is not included in your list of entities to copy, then the entity will show errors when it tries to copy into the legal entity.
Cross-region copy could cause errors
You may also experience import errors if you are copying from one region into a different region. For example, you can have specific fields in a legal entity in the US region but, if you try to import those values into a legal entity with any region in the EU, you will see errors on the import.
There is a list of entities that require special handling when copying a legal entity in the same instance. For the full, and up to date list, refer to the Special considerations when you copy into a legal entity chapter in the Copy configuration data from one company or legal entity to another documentation.