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

Incremento del contatore

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

Utilizzare il contatore nei calcoli