Loading...

How Do I Resolve the Parent Child Lookup Issue in Dataverse for Dynamics 365 Finance & Operations

How Do I Resolve the Parent Child Lookup Issue in Dataverse for Dynamics 365 Finance & Operations

What makes it so important to remember?

Simply put, it keeps you and your project execution happy and in a healthy state .

Business scenario:

Think about the scenario where you and your team have designed & developed several custom data entities as the parent-child relationship for customized business processes.

Integration requires sending both records such as retail, and business documents (Sales order, Purchase order) together. The sales order or purchase order document and its associated order lines are created in the same transaction scope. However, you found that you often had issues with lookups.

Error description

Unable to write data to an entity. Unable to lookup with values {DC00...}. Unable to look up salestable with values {DC00...}. Writes to failed with error message Exception message: The remote server returned an error: (400) Bad Request.

This error gets when Live-sync happens from Dynamics 365 FO to Dataverse.

For any transaction, Dynamics 365 FO creates data in a batch and sends it as a batch to Dataverse. If two records are created as part of the same transaction, and they reference each other, you might receive an error message that resembles as described in the above example.

Such as sales order header and line or custom entities having header and child records.

Date entity relationship with Dynamics 365 FO to indicate the dual-write platform that the two entities are linked and some relationships exist between the two records within the same transaction.

Dual-write batching depends on entity relationships explicitly defined on related entities. If a Dynamics 365 FO business process involves a multitude of entities and has to be enabled as a batch mode for Dataverse, it expects the relationships to be identified and defined on the entity.

How it works?

As a result, the sales line record gets inserted without finding the sales order record that corresponds to it. i.e., parent sales order and that is basically because on the entity, you might be missing a relationship.

One of the examples in a standard entity is SalesOrderLineV2Entity and if you see here, we have a relationship to the SalesOrderHeaderV2Entity.

image.png

Therefore, in this scenario, both records go into a single transaction scope, and they are executed sequentially.

Hence, we no longer have any lookup-related issues since sales order records come first, followed by sales order lines.

Special tips: πŸ’ͺ

The same approach can also be applied to Virtual entities. However you need to perform additional step to enable the related Virtual entity in Dataverse.

Isn't it interesting how something so simple can be so important?

I hope this article was a good read for you. Do share it with your friends and other peers.

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!

Published on:

Learn more
Rakesh Darge's Blog
Rakesh Darge's Blog

Rakesh Darge's Blog

Share post:

Related posts

Microsoft 365 & Power Platform Call (Microsoft Speakers) – May 7th, 2024 – Screenshot Summary

If you missed the M365 and Power Platform call featuring Microsoft speakers on May 7th, this screenshot summary provides a snapshot of the upd...

7 hours ago

We need to talk about... Dynamics 365... Dataverse

In this blog post, the author sheds light on an important feature that appears in Microsoft's release waves update for 2024 - Dynamics 365 Dat...

12 hours ago

Fixed – The latitude or longitude for the User record associated with this resource is invalid – Dynamics 365 Field Service /Dataverse

If you're facing the error message "The latitude or longitude for the User record associated with this resource is invalid" while trying to se...

1 day ago

Use uploaded documents for generative answers with Copilot Studio | Power Platform Shorts

Learn how to leverage the power of Copilot Studio to generate answers from uploaded documents in this latest video from the Power Platform "Wh...

1 day ago

Dataverse | Restore deleted table records (preview)

If you accidentally delete a table record in Dataverse, there is now a way to restore it with the new preview feature - Recycle bin. This opti...

1 day ago

Dataverse – Convert UTC Time to User Timezone in Plugin

In this post, you'll learn how to convert UTC time to the user's local timezone settings in the Plugin in Dataverse. The article covers the lo...

3 days ago

Restore delete records in Dataverse table – Quick Review

Have you or your team accidentally deleted important records in your Model Driven Apps? Don't worry, this blog post has got you covered. In th...

3 days ago
Stay up to date with latest Microsoft Dynamics 365 and Power Platform news!
* Yes, I agree to the privacy policy