I’ve recently run into an issue where I am trying to fill in the “Workflow Path” as a flow variable within the Call Workflow (Table Based) node, however the node does not appear to use the flow variable. Is there some way to make the workflow path dynamic and use flow variables?
When I leave the Workflow Path box blank, I am getting the following error:
When I populate the Workflow Path box, with a random string, I get the same error as above.
When the box is populated with an actual path, it defers to using the path within the text box instead of the flow variable.
Has anyone come across this?
Welcome to the KNIME Forum.
I had a closer look at your reported bug and I was able to reproduce it. I created a ticket (internal references: AP-19570) for our developers to fix it. At this moment, I can’t think of a current workaround. I’m really sorry. I will let you know as soon as this bug is fixed.
I just had a closer look at the problem with our developer. So, the Flow Variable can be used to overwrite the Workflow Path. However, it is not nice usability and we will try to improve that.
But until this is improved, let me try to help you get it working now.
First of all, you need to provide a default workflow in the Workflow Path field (leaving this empty results in the error that you describe - yes, not nice usability.). This default workflow needs to have an identical setting of input and output ports as the workflow you are providing via Flow Variable. So, if your workflow via Flow Variable has no input and only an output, the default workflow in the workflow path field needs to have the same setup (no input and only an output). Additionally, you need to make sure that the input/output table names in the Advanced Settings dropdown menu are the same for your workflow via Flow Variable and your default workflow. Or you can overwrite the name of the input/output table with a Flow Variable.
Again, if you are calling several workflows via Flow Variables and the workflows have changing occurrences of input port and output port (e.g. no input/1 output, 1 input/no output, 1 input/ 1output), this will currently not work.
I hope this helps. Please let me know if things are still unclear.
Thank you so much for your help, Janina.
I’ll play around with this solution to see if it can work for us. And thank you for getting this reported, this would be great functionality to have in a future version of KNIME.