I have a workflow published on Knime Business Hub that although runs until the last node correctely (and does what it’s supposed to do) errors every time with
Further workflow execution is not possible. Please check the workflow.
From other threads I read that this error refers to nodes left disconnected, but there aren’t any in my flow. I also tried to connect all ports that end up in nothing, but still the same.
I can’t share the flow since it wouldn’t work and there are credentials written into it, but I can share the inspect overview from the Business Hub
At first I thought this might be an issue on the KBH side, but after thinking about it a little bit more, there are some changes to your logic you could consider.
The boolean configuration might need to happen later in the flow, since it seems that the first 10 nodes of the top branch need to run in either case (this assumes the first node governs your choice of branch, it’s hard to know more based on just screeenshots)
You should double check your empty table handling closely to make sure that what you want to happen in each cases is actually what is happening
You might also consider some Try/Catch block to handle edge cases
Finally, just as a test, you could start removing nodes from the end of the flow to see where the culprit is
Hopefully that gives you some ideas to improve the flow a bit. Sorry I can’t be more specific than that
Hi @marcandavi2 , as @ScottF has mentioned trying to work out what is occurring from just a screenshot without knowing anything about configuration or the intended logic is difficult.
This is supplementary to the points that @ScottF has already made…
What I can say is that the logic in you workflow is incorrect even if I can’t tell you exactly what it should be doing. KNIME is probably having a problem for this reason.
From a logic and programming perspective, every IF and SWITCH statement which causes the workflow to branch should be completed by a corresponding end (END IF or SWITCH END) that brings the split branches back together.
Each SQUARE represents an IF or CASE SWITCH.
Each CIRCLE of the same colour represents the corresponding END IF/END CASE.
As you can see, you have ENDs that are “competing” (i.e. from looking at the flow, I cannot tell definitively which IF/CASE you intended to terminate at that END IF.
btw, END IF and CASE SWITCH END can be used interchangeably in KNIME with all the various IF and SWITCH nodes. That’s not always apparent from looking at the KNIME documentation/examples!
The end result of all this is that you have branches which remain unterminated, because they have no corresponding END node.
To assist further, I’d need to know what you intend to happen as a result of the boolean config change (I’m assuming it’s configured to return an integer):
Which switches is it supposed to affect?
Which path(s) are you expecting to be taken through the flow when it is 1, and which paths when it is 0?
Also, in the event of an empty table at the Empty Table Switch, what are you expecting to happen? Where is the flow supposed to go when that happens?
I hope the above gives some pointers on things to consider for reworking the flow.
I would have assumed that as well (and thanks for pointing that out) but even removing the latter part of the flow and just having one switch start and end, it still errors with the same message.
I even changed the END IF node into using the Configurable END IF/CASE since it’s from the same node repository but with no solution.