Un de mes collègues m’a challengé concernant un export de données CDS vers un fichier EXCEL, qui sera utilisé pour peupler un autre logiciel.
L’objectif étant d’exporter des données d’un enregistrement parent et d’un enregistrement enfant (Ce dernier étant unique pour chaque parent, un faux 1:1 en somme) de ce parent sur une même ligne dans un tableau EXCEL prêt pour l’import.
Mon premier réflexe a été de proposer l’utilisation des rapports standards, ces derniers permettent d’aligner des valeurs d’enregistrements enfants avec des données du parent, l’inconvénient étant de “netoyer” le fichier Excel manuellement suite à l’export….
J’ai donc proposé l’utilisation de Power Automate pour réaliser cela. Explication du FLOW suivant :
- Déclencheur : Création de l’enregistrement enfant (Ici, je vais créer une simple tâche attachée à un contact, ce n’est pas le cas client mais cela y ressemble fortement)
- Première action : Faire un “Get record” du parent de la tâche précédente
- Deuxième action : “Add a row to an Excel file” = Ajouter une ligne dans un tableau d’un fichier Excel*
Remarque : Le fichier Excel doit se trouver sur un site Sharepoint ou dans OneDrive for Business pour être exploité par le FLOW.
De plus, vous devez avoir préalablement créer un tableau avec des noms de colonnes logiques.
Exemple :
Voici le détails du FLOW étape par étape :
Le déclencheur : Création de la tâche
Première action : Récupérer le contact parent
Seconde action : Charger le fichier Excel avec les données récupérées. Si votre fichier Excel est “propre” (Bons noms de colonnes et tableau créé), les champs/colonne à mapper sont automatiquement proposées dans le FLOW. Il vous suffit de compléter les champs avec les champs du CDS préalablement requétés.
Sauvegarder votre FLOW. (N’oublier pas de bien nommer vos étapes et votre FLOW)
Suite à l’éxecution du FLOW, voici le résultat, une nouvelle ligne est ajouté dans mon fichier EXCEL :
Le FLOW s’est éxecuté correctement :
Bien entendu, ce FLOW ne permet pas de remplir un Tableau Excel en un coup comme pourrait le faire un Template Excel.
On peut imaginer la variante suivante : Pour peupler en un coup un fichier Excel avec des données Parent/Enfant sur une même ligne (En sachant que l’enfant est unique et que nous n’avons pas de règles sur la récupération des données enfants), voici un second exemple de FLOW :
- Déclencheur : Bouton FLOW Manuel
- Première action : Récupérer la liste des enregistrements enfants uniques (List record)
- Deuxième action : Pour tous les enregistrements enfants récupérés (For each — Boucle FLOW), récupérer le parent (Get record)
- Troisième action : “Add a row to an Excel file” = Ajouter une ligne dans un tableau d’un fichier Excel
La troisième action va boucler autant de fois qu’il y a eu d’enregistrement enfants récupérés.