the configurable IF/CASE Node might have one or even two bugs respectively glitches. The possible glitch is that the incoming ports on the Configurable End IF/CASE node are not disabled for the inactive branch.
That in turn I’d guess causes the flow variables getting passed wrong or overwritten. In the below screenshot I’d expect the fallback to propagate the variable but it is missing.
I will upload a test workflow immediately.
Edit: Here you go …
Unfortunately I’m pretty sure that this is not a bug in the nodes but a ‘feature’ () of a design choice made deep back through the mists of KNIME time which has an unfortunate consequence with branch switching (my guess is that is pre-dates the possibility of inactive branches - maybe @wiswedel can remember?!). There is an explanation better than I can give here - Case Switch Flow Variable Problem - #8 by LukasS
In terms of a workaround, then your best bet is to do the manipulation(s) on the variable values in a table - possible via a
Variable to Table (Row|Column) node, and then convert back to a variable after the End If/Case.
As mentioned somewhere higher up the thread above this used to be explicitly explained in the old Variable End IF and Variable End CASE nodes when we first released them. As much as I love KNIME as a product, this is very definitely one of my least-liked “features”!
Thanks @Vernalis. Guess I am going with the fallback of all fallbacks … converting to actual table data.
@DanielBog do happen to know anything or someone who can help us understand the “design choice” made causing the issue described above?