How to Multi-thread Your Imports in Dynamics 365 for Finance & Operations

By Tom Branca | May 1, 2018

There is some confusion on how to multi-thread your imports in Dynamics 365 for Finance and Operations. The first thing to know is that Microsoft prevents you from multi-threading some entities, which is a good thing. This is good because in Dynamics AX 2012 you could multi-thread any entity and basically, if the order of the records getting imported is important, then multi-threading isn’t a good option because if they go out of sequence due to records getting imported in parallel you can corrupt your data.

The second thing to know is how to set up multi-threading in Dynamics 365.  To do this you simply go to Workspaces > Data Management > Click the Framework Parameters tile > Entity Settings tab > Click Configure Entity Execution Parameters.

Data Management Framework on D365

In the entity execution parameters, you are defining how many threads should be used when you import an entity in batch. You need to understand that you can set up an entity multiple times in this form as seen below.

Multithreading Entity Import and Parameters

You are defining three things in the form:

  1. Entity – What entity are you setting multi-threading up for.
  2. Import Threshold Record Count – The threshold tells the system how many records need to be imported to use this line.
  3. Import Task Count – How many threads should be used; aka how many tasks are created.

Example

Let’s walk through an example of importing the “Customer Definition” entity with 1360 records.

1.) From the Data Management Workspace go to the Import Tile.

  • Put the form in “Enhanced View” (Button on the ribbon).

2.) Let's add a file

  • Click Add File and populate the entity, format, and path to the file.

Multithreading and Parameters

3.) Once you have your entity/file added on the ribbon, click Import Options > Import in Batch.

  • Give our batch a Task Description, then click the OK button.

DMF multithreading and parameters

4.) Now go to: Modules > System Administration > Inquiries > Batch Jobs.

5.) Find your batch job and select it.

  • On the ribbon select the Batch Job tab > View Tasks.
  • You’ll see all the tasks that are scheduled to run.
    • If you zoom in on my screenshot below you’ll see that 7 tasks are scheduled to import the data.

Data management framework on D365

NOTE:  There are a few tasks that you just get automatically with each batch run which are the ones that have something different than DMFEntityWriterTasks as its Class name.  You can ignore those.

End Result in the example:  Seven tasks/threads were created because in my parameters the 1360 records I imported fell between 1300 – 5000 so the highlighted line below was used to determine how many threads are used.

Data management framework in Dynamics 365


Under the terms of this license, you are authorized to share and redistribute the content across various mediums, subject to adherence to the specified conditions: you must provide proper attribution to Stoneridge as the original creator in a manner that does not imply their endorsement of your use, the material is to be utilized solely for non-commercial purposes, and alterations, modifications, or derivative works based on the original material are strictly prohibited.

Responsibility rests with the licensee to ensure that their use of the material does not violate any other rights.

Start the Conversation

It’s our mission to help clients win. We’d love to talk to you about the right business solutions to help you achieve your goals.

Subscribe To Our Blog

Sign up to get periodic updates on the latest posts.

Thank you for subscribing!