No se puede usar/consultar con los nombres de archivo de salida de envío DM
Este artículo describe una solución para extraer nombres de archivo de salida del campo mdata en entornos de Campaign Classic y Campaign Standard. Para conseguirlo, puede emplear la actividad de extracción de archivos o la actividad de código JS con queryDef para recuperar los datos de la entrega y analizar el XML. Se proporciona un ejemplo específico para este último método.
Descripción description
Entorno
- Campaign Classic
- Campaign
- Campaign Standard
Problema/Síntomas
Desde el campo mdata, desea extraer el nombre outputFile (consulte attachment(mData_outputFile.png) para la ubicación, almacenada dentro de outputFile=" ". Desea saber cuál es la mejor manera de transformar este campo de tipo datos XML para que se pase como un campo enriquecido dentro del flujo de trabajo de la campaña. Para poder anexar en la tabla del historial de promociones todos los nombres de archivos de salida.
Dado que mdata es un campo XML y no un campo DB para consultarlo, ¿existe algún método para lograr este escenario?
Resolución resolution
Puede intentar resolver este problema de dos maneras:
Escenario 1:
- Utilice una actividad de extracción de archivo para extraer los datos de envío en formato XML. Esto garantiza que
mdata
también se extraiga. Después, puede usar una actividad de carga de archivo o una actividad de JavaScript (código JS) para analizar ese archivo y obtener sus datos. - Use una actividad JS code y
queryDef
para obtenermdata
de su envío y luego analizar el XML. Almacene datos en una variable de instancia para luego cargarlos en la transición.
Escenario 2:
Está intentando usar el método de queryDef
con mdata
, que pudo escribir. Para el método parse, ¿cuál es el enfoque recomendado?
Su solicitud será como:
<
queryDef operation="select" schema="nms:delivery">
<
seleccione>
<
nodo expr="@id"/>
<
nodo expr="[
output/@fileName]
" label="Archivo de salida"/>
<
/select>
<
sysFilter>
<
condición expr="@isModel = 0"/>
<
/sysFilter>
<
orderBy>
<
nodo expr="@lastModified" sortDesc="true"/>
<
/orderBy>
<
/queryDef>
Y volverá a:
<
delivery-collection>
<
id. de entrega="11878415">
<
nombre de archivo de salida="abc.txt">
<
/output>
<
/delivery>
<
/delivery-collection>