Impossibile utilizzare/eseguire query sui nomi dei file di output di consegna DM
Descrizione description
Ambiente
- Campaign Classic
- Campaign
- Campaign Standard
Problema/Sintomi
Uno dei clienti ha segnalato il seguente problema:
Dal campo mdata, si desidera estrarre il nome di outputFile. Vedere attachment(mData_outputFile.png) per la posizione, memorizzata in outputFile=" ". Vogliamo conoscere il modo migliore per trasformare tutto questo Dati XML digita il campo da passare come campo arricchito all’interno del flusso di lavoro della campagna. In modo da poter aggiungere nella tabella della cronologia delle promozioni tutti i nomi dei file di output.
Da, sappiamo che mdata è un campo XML e non un campo DB su cui eseguire query. Ma c'è un metodo per realizzare questo scenario?
Risoluzione resolution
Possiamo provare a risolvere questo problema in due modi:
- Utilizzare un’attività di estrazione file per estrarre i dati di consegna in XML formato. Ciò garantirà che
mdata
viene anche estratto. In seguito, puoi utilizzare un’attività di caricamento file o JavaScript (codice JS) per analizzare il file e ottenere i dati. - Utilizza un Codice JS attività e
queryDef
da recuperaremdata
della consegna e quindi analizzare l’XML. Memorizzare i dati in un variabile di istanza per poi caricare nella transizione
Il cliente ha ricevuto una query di follow-up come indicato di seguito:
Stiamo cercando di utilizzare il metodo di queryDef
contro mdata
, che siamo stati in grado di scrivere. Per il metodo parse, qual è l’approccio consigliato?
Risposta:
La richiesta sarà simile a:
queryDef operation="select" schema="nms:delivery"
seleziona
node expr="@id"/
node expr="output/@fileName" label="File di output"/
/select
sysFilter
condition expr="@isModel = 0"/
/sysFilter
orderBy
node expr="@lastModified" sortDesc="true"/
/orderBy
/queryDef
E restituirà:
delivery-collection
delivery id="11878415"
output filename="abc.txt"
/output
/delivery
/delivery-collection