How to Deal With Missing Fields on Dual-write Table Custom Maps
Dual-write Custom entity Maps: I bet, You're probably missing something.
Roughly a year ago I had to create a complex Dual-write table map and I couldn't decide the approach to start with Dataverse first or Dynamics 365 FO. However, I knew I wanted to use a custom data entity with a custom table of Dataverse to complete the data mapping. So I began a process of table mapping using Dual-write. I could able to complete the data fields mapping process and try to start the map to initiate the data sync. However, it failed in testing due to some missing fields or columns.
I had almost no experience with Dual-write troubleshooting to resolve the issue. The only option left with me was to step-by-step approach right from Dynamics 365 FO Data entity to Dataverse table fields.
Real-world Dual-write custom table maps are very messy and, in many cases, they have many missing fields. Similar to the above business scenario.
Often, missing fields are one of the most problems that Developers are likely to deal with day to day, and it is not straightforward to know the right strategy.
There are many ways to deal with missing table map fields, but there is no one-fit strategy. The right strategy depends on the Data entity, its company-specific property or number of fields you have, the count of missing fields in a concerned scenario, what can be tolerated, and so on.
Choosing the best strategy will help us to provide accurate insights, and avoid us from communicating wrong information. It can also save us time that we would spend tuning the table maps, from the fact that good table maps come from good (and clean) data fields.
There are many solutions to handle missing fields, but basically, everything we can do falls into the following:
In this article, I will walk through the common ways to handle missing table map fields.
In Dynamics 365 FO, are there any fields missing?
If the answer to the above question is YES then
a. Validate Data entity metadata configuration is not up to date or not
b. Navigation path if DMF parameters to refresh the metadata
System Administration -> Data management -> Framework parameters -> Entity settings -> Refresh entity list
Precaution: Data Import & Export should be stopped during metadata refresh activity
c. Check whether fields are available or not by navigating to modify target mapping
System Administration -> Data management -> Data entities -> Select respective data entity -> Click on Modify target mapping
In Dataverse, are there any fields missing?
If the answer to the above question is YES then
a. Navigate to Dual-write mapping and click on "Refresh" option
This step makes the Odata call to Dataverse to pick up the latest table fields from Dataverse.
Before manipulating, I highly recommend considering these finding for missing columns on the Dual-write custom entity map.
Conclusion
If you are working with Dual-write already it highly recommends you check out fee basic validation checks. The learning curve is not that high, just a focus on basic steps with Dual-write can probably be achieved within a few weeks.
If you have questions feel free to reach out to me! I'm happy to help.
Thank you for Reading - Let's Connect!
Enjoy my blog? For more such awesome blog articles - follow, subscribe and let's connect on LinkedIn, Twitter, YouTube
Stay tuned!
Subscribe to my newsletter
Read articles from Rakesh Darge directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by
Rakesh Darge
Rakesh Darge
This blog is my contribution to the Dynamics 365 Finance & Supply chain management & Power Platform community. Having worked with Axapta / Dynamics AX / D365 F&O for 18 years out of my 21 years of career in application development and ERP. I'm passionate about Dynamics 365 ERP, Power Platform & Azure integrations 💡. However, I tend to always look forward. So I mostly write about current subjects. My aim is that my deep thought may inspire some of you and provoke some new thoughts in the interest of our community. Please note, that the views expressed in this blog are mine alone and do not necessarily reflect the view of my employer.