Dato un payload in ingresso riferito a più documenti occorre creare altrettanti documenti in output ciascuno dei quali deve avvalersi di uno o più numeratori, per le posizioni o altro, ed il/i numeratore/i deve resettarsi ad ogni nuovo documento.
UDF
In Attributes and Methods definire la variabile globale
int po_item = 0;
public String clearCounters(String dummy, Container container) throws StreamTransformationException{
po_item = 0;
pckg_no = 0;
return "";
}
public String incrPOItem(String dummy, Container container) throws StreamTransformationException{
po_item += 10;
return new Integer(po_item).toString();
}
public String incrPckgNo(String dummy, Container container) throws StreamTransformationException{
pckg_no += 1;
return new Integer(pckg_no).toString();
}
Mapping
Reset dei contatori all’origine del nuovo documento
![](https://www.nick4name.eu/wp-content/uploads/2018/01/18.png)
Incremento del contatore
![](https://www.nick4name.eu/wp-content/uploads/2018/01/19.png)
Qualora l’output dell’udf debba essere utilizzato in più calcoli ma con il medesimo valore, occorre salvarlo in una variabile ed utilizzarlo nel modo seguente:
Incrementare un’unica volta il contatore
![](https://www.nick4name.eu/wp-content/uploads/2018/01/20.png)
Utilizzare il contatore nei calcoli
![](https://www.nick4name.eu/wp-content/uploads/2018/01/21.png)