Synchronisation en direct

Effectué

Pour veiller au bon fonctionnement de la synchronisation en direct et démarrer, vous devez remplir des conditions préalables spécifiques. Toutes les modifications à apporter à une source de données particulière doivent se trouver dans la même transaction. Cependant, les entités ne doivent pas avoir de mises à jour ou d’insertions basées sur des ensembles qui sont configurées ou en cours d’exécution sur elles, car ces mises à jour ou insertions ne déclenchent pas d’événements commerciaux et, par conséquent, de double écriture. Si la propriété sur l’entité skipBusinessEvents est définie sur true, la synchronisation en direct ne se déclenche pas et l’entité est ignorée par la synchronisation en direct. Parfois, les entités avec des sources de données sont connectées à l’aide d’une jointure externe. Si ces entités sont marquées comme des jointures externes en lecture seule, les sources de données n’ont pas l’option Suivi des modifications éligible pour la synchronisation en direct.

Des changements sont déclenchés seulement si les modifications s’affichent sur les champs mappés dans les applications de finances et d’opérations. L’ensemble des champs et modifications de Dataverse déclenchent une synchronisation en double écriture. Les évaluations de filtre doivent fournir un résultat valide ; sinon, la synchronisation en direct ne se déclenche pas. Vous devez vérifier les mappages de champs sur le projet de double écriture ; si le champ n’est pas mappé, il n’est pas suivi. De plus, si d’autres sources de données avec des champs sont présentes et ne sont pas mappées, par exemple lorsque vous avez une entité avec plusieurs sources de données et que l’une d’entre elles est utilisée uniquement pour une relation, ces champs ne déclenchent pas de synchronisation en direct et ne sont pas suivis.

Si les enregistrements de mappage sont présents dans les tables DualWriteProjectConfiguration, DualWriteProjectFieldConfiguration et BusinessEventsDefinition, ils déclenchent la synchronisation en direct et les modifications sont suivies. Si vous constatez que les mappages sont actifs en double écriture, mais qu’ils ne figurent pas dans les tables répertoriées, le complément Excel vous permet de modifier les enregistrements, d’ajouter les champs supplémentaires et les données mappées, puis de vous assurer qu’ils fonctionnent avec la synchronisation en direct.

Résoudre les problèmes de synchronisation en direct

La résolution des problèmes de synchronisation en direct peut être difficile. Dans cette situation, les données télémétriques de Dynamics Lifecycle Services vous permettent de recueillir des informations et répertorier les modifications de table conduisant à des événements commerciaux, afficher la liste des enregistrements synchronisés et fournir des journaux d’activité. La liste de commandes suivante décrit comment chaque option permet de répondre aux besoins de résolution des problèmes :

Commande Résultat
ProviderName == "Microsoft-Dynamics-AX-BusinessEventsRuntime“ TaskName == "DualWriteRecordsCached“ & “TableToEntityQueryProcessed” Répertorier les modifications de table conduisant aux événements commerciaux avec le nombre d’enregistrements
ProviderName == “Microsoft-Dynamics-AX-DualWriteSync” & activityName == “DualWriteOutbound.WriteToCDS” Répertorier les enregistrements synchronisés depuis les applications de finances et d’opérations vers Dataverse
ProviderName == “Microsoft-Dynamics-AX-DualWriteSync” & activityName == “DualWriteInbound.WriteToEntity” Répertorier les enregistrements synchronisés depuis Dataverse vers les applications de finances et d’opérations
All Events for Activity = Activity ID Tous les journaux d’un ID activité spécifique

Les environnements de développement comportent des journaux d’observateur d’événements pour la double écriture qui peuvent également être utiles. Pour en savoir plus, consultez le chemin d’accès d’Observateur d’événements suivant : Journaux des applications et des services > Microsoft > Dynamics > AX-DualWriteSync pour ces journaux. Pour en savoir plus, consultez Résolution des problèmes généraux sur les informations de résolution des problèmes pour l’intégration en double écriture entre les applications de finances et d’opérations et Dataverse.

En outre, un mode de débogage est disponible pour la synchronisation des applications de finances et d’opérations avec les applications d’engagement client, ce qui vous permet de bénéficier de journaux d’erreurs détaillés. Même si aucune erreur ne s’est produite, vous pouvez malgré tout afficher l’ID activité pour vérifier les journaux de Lifecycle Services ou d’autres informations qui pourraient être utiles à partir de cette expérience. Dans le complément Excel, vous pouvez ouvrir la table DualWriteProjectConfigurationEntity pour définir le champ IsDebugMode sur True pour un ou plusieurs mappages de tables. Si vous publiez ces modifications sur la table DualWriteProjectConfigurationEntity pour les mappages rencontrant des problèmes ou si vous souhaitez en savoir plus à partir du complément, vous pouvez accéder aux journaux dans la table DualWriteErrorLog.

Pour rechercher les données dans un navigateur de table, accédez à l’URL suivante. Vous pouvez également interroger cette table dans SQL Server Management Studio dans un environnement de développement ou de niveau 2. La colonne DetailedErrorMessage contient deux éléments :

  • VerboseError : capture le texte long de l’erreur depuis Dataverse ou l’environnement des applications d’engagement client.

  • DebugLogTrace : capture la demande par lot réelle envoyée à l’environnement d’engagement client avec la charge utile.

Encore une fois, vous pouvez rechercher l’ActivityId pour les erreurs, qui vous permet de vérifier tous les journaux de l’activité à partir de la surveillance de l’environnement Lifecycle Services.

Si des erreurs se produisent depuis Dataverse vers les applications de finances et d’opérations, vous pouvez résoudre les problèmes à partir du plug-in de suivi des applications d’engagement client. Dans l’onglet Personnalisation du menu Paramètres système (Environnement Dynamics 365 > Paramètres > Système > Administrateur > Paramètres système), vous pouvez activer la journalisation du suivi pour le plug-in et l’activité de flux de travail client. Dans la colonne Suivi des activités de flux de travail, sélectionnez Tout pour activer le journal de suivi pour toutes les activités. Sinon, vous pouvez indiquer d’effectuer une journalisation seulement si des exceptions se produisent à la place. Pour afficher ce journal de suivi, vous devez ouvrir la page Paramètres dans votre environnement Dataverse. Sous Personnalisation, sélectionnez Journal de suivi du plug-in. Veillez à rechercher les journaux où la colonne Nom du type est définie sur Microsoft.Dynamics.Integrator.DualWriteRuntime.Plugins.PreCommitPlugin. Double-cliquez sur un élément pour afficher le journal complet, puis examinez le texte du bloc de message dans le raccourci Exécution.

Résolution des problèmes de performance et bonnes pratiques

La performance est un processus qui nécessite une attention particulière pour s’assurer que les données se déplacent d’un système à l’autre comme prévu, sans problèmes qui ralentissent le système. Pour éviter tout problème inutile, tenez compte des informations et bonnes pratiques suivantes pour vous assurer que l’intégration fonctionne comme prévu.

Si vous effectuez une migration de données, nous vous recommandons d’arrêter les mappages en double écriture. Cette action empêche les déclencheurs d’événements commerciaux de synchroniser les données via la synchronisation en direct. Elle garantit également qu’une fois les données migrées, elles seront synchronisées entre les systèmes.

Pour optimiser les performances et éviter de surcharger les applications, une limite a été établie pour les implémentations de projet à 500 000 lignes pour chaque implémentation de chaque projet pour une synchronisation initiale. Si plus de 500 000 lignes sont nécessaires dans une exécution, lorsque vous ignorez la synchronisation initiale, nous vous recommandons de migrer les données vers les applications de finances et d’opérations et Dataverse séparément, puis d’ignorer la synchronisation initiale. De plus, si vous exécutez une synchronisation initiale depuis Dataverse vers les applications de finances et d’opérations, le résultat de l’importation doit être renvoyé depuis les applications de finances et d’opérations sous 24 heures ; sinon, une expiration se produit.

Une limite de 40 entités juridiques est imposée pendant la liaison des environnements. Si vous tentez d’activer des mappages où plus de 40 entités juridiques sont liées entre des environnements, vous recevez une erreur lors de la synchronisation initiale. Cependant, la synchronisation en direct prend en charge jusqu’à 250 entités juridiques pour chaque transaction. Pour en savoir plus, consultez Limites de double écriture pour la synchronisation en direct.

Vous pouvez utiliser des colonnes calculées et des colonnes virtuelles sur les entités des applications de finances et d’opérations. Veillez à surveiller ces colonnes pour les performances de surcharge à partir de la logique supplémentaire nécessaire pour les lectures et les écritures de ces champs. Si vous transformez ou calculez des valeurs supplémentaires via X++ à l’aide de colonnes virtuelles et que vous vous attendez à revenir à Dataverse dans la même transaction, sachez que cette action n’est pas autorisée et échoue. Prévoyez de modifier le fonctionnement de ce processus pour veiller au bon fonctionnement de la double écriture et des environnements liés.