Recently I was trying to find the best way to read only updated/changed data from AX for some entities like customers and vendors in D365. To do this in AX 2012 we would generally get a read only database copy made of production, enable modifiedDateTime fields and query the recently changed data from that database for our reporting needs but in D365 a cool new feature has been provided called change tracking. Through this you can get AX to push changes to your records to an external database outside of AX. A brief overview of this is that we use data entities to list what we need pushed out and configure them to export to our database. Read more on this here: https://docs.microsoft.com/en-us/dynamics365/unified-operations/dev-itpro/data-entities/entity-change-track
In Data management:
Register read only DB outside AX, providing its connection string:
Change tracking options:
Regenerating/ updating a staging table in Dynamics 365 has literally been made as easy as a one click operation but somehow not well documented so I though i’d write a quick overview on how to update or regenerate a staging table based on your Data entity changes.
Open your data entity in visual studio and right click on the entity name like below this will show you the two options. Please note that if you regenerate a table all custom changes you made to that table will be lost. However if you use the update table option, only new changes will be added. For example if you add a field only on staging table and regenerate staging table the custom field will be lost, therefore if you would like to maintain your additions and update, use update staging table option.
When adding Unmapped fields(ones we do not intend to link up with any datasource field on the entity itself) to a data entity in Dynamics 365. You may receive the below compile error:
The property ‘ComputedFieldMethod’ must be set with the name of a valid data entity method if ‘IsComputedField’ is set to ‘Yes’.
This is because AX is expecting a computed method for it within the entity, when we do not intend to create that we need to Set the Is Computed Field property under Mics group to No