My goal in this blog post will be to provide you with steps that will help you to auto-refresh Virtual table relationships when changes are made to the Data entity relationships in Dynamics 365 FO.
Consider the scenario where you have modified & developed several standard and custom data entities and defined the relationships required by the business.
As a result of the discussion with the business SME, it was discovered that Power Apps or Dynamics 365 CE require a few additional relationships between the data fields.
Let’s deep dive and understand the steps
I have chosen **PurchPurchaseOrderHeaderV2Entity (**Public Collection Name: PurchaseOrderHeadersV2) as an example.
Assumption: PurchPurchaseOrderHeaderV2Entity is already enabled as a Virtual table in the Dataverse.
In some situations, it is not necessary to enable all data entities as virtual tables within the main entity relationship.
As part of my scenario, I have enabled two existing relationships between data entities.
Do you know? A relationship on a data entity is primarily used to automate lookups in Power Apps or Dynamics 365 CE. Isn’t a cool low code option. 😎
Refer to my YouTube videos if you would like to learn more about virtual entities and Dynamics 365 Cross apps.
The standard data entity of PurchPurchaseOrderHeaderV2Entity has two relationships (DimensionDimensionSet & Project), and the view Dataverse shows the same relationship, as indicated in the snapshot below.
Based on the business scenario, I will add new relationships on Vendor Account Number and perform the steps to enable the same in Dataverse with a single button click.
1. Navigate to Visual Studio and head over to Solution and create an extension of OOB PurchPurchaseOrderHeaderV2Entity
2. Build the VS solution
3. Navigate to System Administration module -> select Data management workspace -> Framework parameters -> Entity settings tab -> Refresh entity list
4. Depending on your Tier-1 box configuration, step 3 may take longer to complete, please wait until it does
5. Navigate to the Advanced setting option in the maker portal of Power Apps (https://make.powerapps.com/)
6. Select the Advanced settings and lookup for the PurchPurchaseOrderHeaderV2Entity virtual table using advanced filter option
7. Select the magical "Refresh" option to restore Data entity relationships of PurchPurchaseOrderHeaderV2Entity in the Virtual table of Dataverse
8. Click on Save or Save & Close option
9. Navigate to the Power Apps maker portal and select your Dataverse environment
10. From the Left pane, select Dataverse and then Tables
11. To filter the virtual entities, choose "mserp" as the prefix and select “All” to show all virtual and physical tables
12. The selected Virtual tables were automatically created as part of the virtual table's "Visible" option. Please refer to the assumption section.
13. Navigate to the relationships schema to validate the newly created Data entity relationships
Developers and code reviewers can benefit greatly from even the simplest observations.
I hope this article was a good read for you. Do share it with your friends and other peers.
Thank you so much!
Thank you for Reading - Let's Connect!