Impossible d’utiliser/d’interroger les noms de fichiers de sortie de diffusion DM

Cet article présente une solution pour extraire les noms de fichiers de sortie du champ mdata dans les environnements Campaign Classic et Campaign Standard. Pour ce faire, vous pouvez utiliser l'activité d'extraction de fichier ou l'activité de code JS avec queryDef pour récupérer les données de votre diffusion et analyser le XML. Un exemple spécifique est fourni pour cette dernière méthode.

Description description

Environnement

  • Campaign Classic
  • Campaign
  • Campaign Standard

Problème/Symptômes

Dans le champ de données, vous souhaitez extraire le nom outputFile (voir attachment(mData_outputFile.png) pour l’emplacement, stocké dans outputFile="" ". Vous souhaitez connaître le meilleur moyen de transformer ce champ de type données XML à transmettre en champ enrichi dans le workflow de campagne. Afin de pouvoir ajouter dans votre tableau d’historique de promotion tous les noms de fichier de sortie.

Les données étant un champ XML et non un champ DB pour y effectuer des requêtes, existe-t-il une méthode pour réaliser ce scénario ?

Résolution resolution

Vous pouvez essayer de résoudre ce problème de deux manières :

Scénario 1 :

  1. Utilisez une activité d'extraction de fichier pour extraire les données de diffusion au format XML. Cela garantit que le mdata est également extrait. Ensuite, vous pouvez utiliser une activité Chargement de fichier ou une activité JavaScript (Code JS) pour analyser ce fichier et obtenir vos données.
  2. Utilisez une activité Code JS et queryDef pour récupérer mdata de votre diffusion, puis analysez le code XML. Stockez les données dans une variable d'instance pour charger ensuite la transition.

Scénario 2 :

Vous essayez d’utiliser la méthode queryDef contre mdata, que vous avez pu écrire. Pour la méthode d’analyse, quelle est l’approche recommandée ?

Votre requête sera la suivante :

<queryDef operation="select" schema="nms:delivery">

<select>

<node expr="@id"/>

<node expr="[ output/@fileName] " label="Output file"/>

</select>

<sysFilter>

<condition expr="@isModel = 0"/>

</sysFilter>

<orderBy>

<node expr="@lastModified" sortDesc="true"/>

</orderBy>

</queryDef>

Et il renverra :

<delivery-collection>

<delivery id="11878415">

<output filename="abc.txt">

</output>

</delivery>

</delivery-collection>

recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f