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

Déclenchement du FLOW à la création d’une tâche.

Première action : Récupérer le contact parent

Dans Item ID, prendre le concernant (Value), cela permet de récupérer le GUID du 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.

Sélection du fichier EXCEL puis Mapping des colonnes avec les champs CDS spécifiques.

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 :

Export des données dans le fichier Excel.

Le FLOW s’est éxecuté correctement :

Trace de l’éxecution.

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.