Qu’est-ce que les tables virtuelles et à quoi servent-elles ?
D’après la documentation Microsoft Une table virtuelle est une table personnalisée dans Microsoft Dataverse qui dispose de colonnes contenant des données issues d’une source de données externe. Les tables virtuelles apparaissent aux utilisateurs comme des table normales, mais elles contiennent des données qui proviennent d’une base de données externe, telle qu’une base de données Azure SQL. Les basées dans les tables virtuelles sont disponibles dans tous les clients, y compris les clients personnalisés développés à l’aide des services Web Dataverse.
Ces tables ne stockent pas de données elles-mêmes. Elles nous permettent de les utiliser comme toute autre table de Dataverse, c'est-à-dire afficher leurs contenus, créer et modifier leurs vues, leurs formulaires, et les connecter à d’autres tables.
Voici une architecture simplifiée de l’interaction entre les sources de données externes et les applications se basant sur Dataverse à travers les tables virtuelles.
Pourquoi connecter ERP et CRM ? 4 bénéfices pour votre entreprise
Le cas de Business Central
La table virtuelle de Microsoft Dynamics 365 Business Central est une source de données virtuelle dans Microsoft Dataverse permettant des opérations de création, de lecture, de mise à jour et suppression depuis Microsoft Dataverse vers Dynamics 365 Business Central. Cependant, les données des tables virtuelles ne résident pas dans Dataverse mais dans Business Central.
Les tables virtuelles sont activées pour les API de Business Central, ce qui les rend disponibles dans Microsoft Dataverse en tant que tables virtuelles. Les API personnalisées et standard exposées dans Business Central sont consommables sur Microsoft Dataverse, et peuvent être exposées en tant que tables virtuelles. La nouvelle version ajoute la prise en charge des événements de changement de données (événements CUD) afin que les tables virtuelles Dataverse puissent être utilisées dans les flux Power Automate.
Comment faire l’intégration Business Central Dataverse à travers les tables virtuelles ?
La première chose à faire est d’installer l’application "Business Central Virtual Table" à partir de Microsoft AppSource.
Une fois l’application installée, nous allons sur Business central et nous activons l’option "tables virtuelles".
Du côté Dataverse, nous devons ajouter les tables virtuelles que l’on souhaite utiliser :
Pour rendre une table virtuelle visible dans Dataverse, il suffit de passer l’interrupteur sur "oui" :
Il est fortement recommandé d’utiliser les dernières versions d’API (v2.0 actuellement)
Pour vérifier si notre table a été bien ajoutée, nous nous rendons à la liste des tables Dataverse :
Maintenant que notre table est disponible, nous pouvons effectuer plusieurs opérations.
L’exemple ci-dessus ne concerne que les tables standard Business Central (qui possèdent déjà des API). Dans le cas d’une table personnalisée, nous devons créer une nouvelle API du côté Business Central pour pouvoir l’exposer en tant que table virtuelle dans Dataverse.
A partir de l’API de cette table, nous allons devoir récupérer les informations suivantes :
Comment représenter les données depuis les tables virtuelles dans Microsoft Dynamics 365 Customer Engagement ?
2 exemples : affichage simple d’un tableau + affichage sous forme de sous grille
Pour illustrer l’utilisation des tables virtuelles dans Dataverse, nous allons utiliser la table Business Central variante article. Variante article est une table BC qui représente les variantes d’un produit. Cette table est représentée dans Business Central de cette façon :
L’id, l’itemId (Id du produit), itemNumber (Numéro de l’article), code (code ou nom du variant) et sa description.
N.B : Pour lister toutes les API disponibles, il faut utiliser le endpoint $metadata
Afficher cette table virtuelle dans Dataverse va nous permettre de l’utiliser comme toute autre table Dataverse. Nous pouvons par exemple :
- Afficher la table et son contenu dans Dynamics 365 Customer Engagement ou dans notre application pilotée par modèle.
- Créer des nouvelles lignes
- Modifier des lignes
- Supprimer des lignes
Nous pouvons également créer des nouvelles vues et des formulaires, ou modifier ceux qui existent déjà.
Pour afficher la table, rien de plus simple. Il suffit de l’ajouter dans la barre de navigation de l’application Customer Engagement.
Autre cas très utile
Par exemple, nous voulons afficher par exemple les variantes d’un produit dans le formulaire de ce même produit. Ici, les tables virtuelles nous permettent de créer des relations avec les autres tables. Nous créons donc une relation entre notre table et la table produit, et nous ajoutons une sous-grille qui affiche les variantes de notre produit.
La sous-grille est un composant qui permet d’afficher le contenu d’une table dans le formulaire d’une autre table.
Ceci nous permet d’avoir une vision globale de notre produit avec tous ces détails au même endroit, en utilisant des tables provenant de différentes sources de données.