I would like to use the loop nodes but between the start and the end nodes I have the creation of 3 "output".
The loop end node with 2 ports exist but is there a way to have a loop end node for more outpur ports? Or maybe is there a way to use 2 loop end nodes for 1 loop start node?
I guess the easiest solution would be to duplicate the contents of your loop and to create two different loops. The first loop generates the first two outputs, the second loop just generates the third output. Thats certainly not nice and probably also not efficient, but it should work.
Alternatively, can you take two of your loop outputs, and append using Java snippet nodes (configure with e.g. 'Return "Table 1";' and 'Return "Table 2";') new columns indicating which table they belong too, then concatenate them into a single table. After the loop end, use the row splitter node to take them back apart.
I realise that this is not an ideal solution, and may fail depending on your table structures - perhaps an 'optional in' loop end node, similar to the optional in concatenate node, accepting upto 4 tables would be a benefit
I must confess that this question of mine is quite old, and I don’t remember how I resolved my problem (maybe with a recursive loop).
But, for sure, the loop nodes have changed since 2012 and now you have options like “Allow variable column types” or “Allow changing table specifications” that should allow you to concat or merge 2 virtual output in one before the loop end node. And then, based on a tag that you should have added before the concat, you can split again the 2 flows with a Rule based splitter. Even, you can validate that both final table are correct with a Table validator. Not very convenient but it will work.
In a general way, my advise is to find a way to avoid loops. Maybe one or more actions in you loop can be done through a java snippet or Python Script node, or simplified with a goupBy node?
Do not hesitate to post your wf if you want more advise.