Enforce custom query change tracking configurations on retail transaction tables due to performance impacts

Important

This content is archived and is not being updated. For the latest documentation, go to What's new and planned in Dynamics 365 Commerce. For the latest release plans, go to Dynamics 365 and Microsoft Power Platform release plans.

Enabled for Public preview General availability
Admins, makers, marketers, or analysts, automatically Aug 2, 2021 Oct 1, 2021

Business value

This feature will improve the performance of Dynamics 365 Commerce when using the Data Management export framework combined with change tracking capabilities on retail transaction tables.

Feature details

This change will be released in Commerce version 10.0.21.

The retail transaction-related entities impacted by this change are:

  • RetailTransactionAdditionalAddressLineEntity
  • RetailTransactionAddressLineEntity
  • RetailTransactionAffiliationLineEntity
  • RetailTransactionAttributeEntity
  • RetailTransactionBankedTenderTransEntity
  • RetailTransactionCashManagementTransEntity
  • RetailTransactionChargeTaxTransEntity
  • RetailTransactionDisabledValidationRuleEntity
  • RetailTransactionDiscountLineEntity
  • RetailTransactionEntity
  • RetailTransactionFiscalCustomerEntity
  • RetailTransactionFiscalTransEntity
  • RetailTransactionFiscalTransExtendedDataEntity
  • RetailTransactionGTETaxLineEntity
  • RetailTransactionIncomeExpenseLineEntity
  • RetailTransactionInfoCodeLineEntity
  • RetailTransactionLoyaltyLineEntity
  • RetailTransactionLoyaltyRewardPointsLineEntity
  • RetailTransactionMarkupLineEntity
  • RetailTransactionPaymentLineEntity
  • RetailTransactionPaymentLineV2Entity
  • RetailTransactionSafeTenderTransEntity
  • RetailTransactionSalesLineEntity
  • RetailTransactionSalesLineV2Entity
  • RetailTransactionServiceProfileEntity
  • RetailTransactionSupplementaryInvoiceEntity
  • RetailTransactionTaxLineEntity
  • RetailTransactionTaxMeasureEntity

In Commerce versions 10.0.20 and earlier, if a user configures change tracking in the Data Management Framework at the entire entity or primary table level for any of the retail transaction tables listed, massive data export updates are triggered when any record related to the retail transaction is changed. For example, changes to a customer address or a store channel configuration. The data export updates cause a performance impact on the environments, as the core retail transaction entities aren't changed and, in general, retail transactions entities rarely change after their initial creation.

In Commerce versions 10.0.21 and later, if a user enables change tracking in the Data Management Framework for any of the retail transaction-related entities listed, the user can not select the option to enable change tracking for the entire entity or the primary table. Instead, only the enable custom query option configuration is available. The custom query option will ensure that change tracking will only be triggered by changes to core retail transaction tables and not by changes to other tables that have a reference relationship to the retail transaction table.

If an organization already has change tracking enabled for any of the retail transaction entities listed above and they are configured with the Enable entire entity or Enable primary table configuration, upgrading to Commerce version 10.0.21 will not immediately change the change tracking configuration for these entities. Upgrading to Commerce version 10.0.21 should not cause any regression or negative impact to an existing data export configuration on any of the tables listed.

After upgrading to Commerce version 10.0.21, if a user enables change tracking on a retail transaction-related entity for the first time, or if they disable change tracking on an existing retail transaction entity and then later try to re-enable change tracking for that entity, the user will no longer be able to turn on change tracking at the entire entity or primary table level, and only the enable custom query option will be available.

Organizations can modify the DefaultCTQuery method to extend the customer query and add additional tables to the query if needed.