Passa al contenuto principale
Versione: 2.0

Iterator v.2

Configurazione corrente del task Iterator v.2 nel Workflow Designer
  • 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

  1. Estrazione: Il task recupera il Dataset dal task sorgente selezionato.
  2. Iterazione: Per ogni riga del Dataset, viene eseguito il workflow target selezionato.
  3. 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"
}
}