LOOP END: 3 ports or more

Hi everyone,

 

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?

 

Thanks

 

Lionel

Hi Lionel,

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.

Hope that helps,
Nils

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

Steve

Thanks for the solution,

I will try it but I think it will not work because I have differents types of data and table for each output.

And yes an "optional in" loop end node would be a benefit,

Lionel

Hi @lcollia
I have the same problem- Did you get the solution?
I need to collect two data with different structure.

Malik

Hi @malik,

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.

Cheers,
Lionel

1 Like

Hello!

Closing this pretty old topic. Follow @malik question here: Recursive Loop End

Br,
Ivan