Iterator v.2
- Task type:
iterator_v2
Descrizione
Il task "Iterator v.2" permette di eseguire ciclicamente un workflow figlio iterando su un dataset ottenuto da un task a monte. A differenza del "Run Workflow" standard, questo task ripete l'esecuzione per ogni singola riga presente nella sorgente dati selezionata.
Parametri di Configurazione
- Sorgente dati: Menu (Dropdown) che elenca i task compatibili presenti nel workflow.
- Requisiti: Il menu viene popolato solo con task di tipo JSON to Table, XML to Table, CSV to Table o DB Connector.
- Se non sono presenti task di questo tipo tra quelli precedenti, il menu mostrerà l'opzione:
Nessuna sorgente dati valida disponibile. - Filtra Workflow: Campo di ricerca testuale per filtrare l'elenco dei workflow a cui l'utente ha accesso.
- Workflow da iterare: Menu (Dropdown) per selezionare il workflow figlio da eseguire a ogni iterazione.
- Termina alla prima iterazione fallita: Se abilitato, l'iterator si ferma immediatamente se uno dei workflow figli restituisce un errore, senza processare le righe rimanenti.
- Tabella Parametri (Parametro / Tipo / Valore): Sezione per la configurazione degli input del workflow figlio.
- Flessibilità: l'utente può inserire valori statici o dinamici.
- Utilizzo Dataset: Per passare i dati della riga corrente al figlio, si utilizzano i tag relativi alle colonne del dataset (es.
#>XML to Table.Dataset.nome_colonna<#).
Logica di Esecuzione e Runtime
- Estrazione: Il task recupera il
Datasetdal task sorgente selezionato.- Iterazione: Per ogni riga del
Dataset, viene eseguito il workflow target selezionato.- Override: I parametri del workflow target vengono sovrascritti con i valori definiti nella tabella parametri.
Parametri di Output
- result: Descrizione testuale dell'esito (es: Tutte le iterazioni sono state completate con successo).
- targetWorkflowId: ID univoco del workflow figlio selezionato.
- targetWorkflowName: Nome del workflow figlio selezionato.
- Dataset.Count: Numero totale di record individuati nella sorgente.
- Iterations.Total: Numero di iterazioni effettivamente eseguite.
- Iterations.Success: Conteggio dei workflow figli terminati con successo.
- Iterations.Failed: Conteggio dei workflow figli falliti.
- resultJSONtarget: Stringa JSON serializzata contenente l'array con i report completi di ogni singola iterazione.
- exitStatus: Codice di stato (0 = Successo).
Esempio resultJson
{
"run_info": {
"status": "Completed",
"run_result": "Success"
},
"output_parameters": {
"exitStatus": "0"
}
}