ERROR Loop End - Active Scope End node in inactive branch not allowed

Hello All, Hope all of you are doing well.

I am using KNIME Ver 5.8.1 LTS, I am facing a problem, which I am not able to solve. I tried in forum but not found any suitable solution.

I am having 7 workflows in my project. First 5 workflows generating required data in in excel and all are running individually fine without any error.

6th workflow consolidating all output excels in to 1 it is also running individually fine and producing desired result.

7th workflow running all above mentation 6 workflows sequentially, after the 1st iteration i am getting error “ERROR Loop End Active Scope End node in inactive branch not allowed” which I am not able to solve.

Kindly Help me to solve it or suggest me the work around.

From your screenshot it looks like there is an issue with an inactive branch Inside the workflow that is being called:

I think you will have to revisit the workflow logic of the called workflow to make sure that there is not an inactive branch coming out of the workflow - i.e. use CASE Switch End Node to define logic to apply if branch is inactive (due to empty table node, if switch or Case Switch Start)

4 Likes

Hello there @anilsknp,

you have a Call Workflow (Table Based) node which has data output port for receiving data from called workflow. Considering you don’t receive data from called workflow (at least the first one) output data port is inactive and being inside loop you are seeing this error message. If you don’t need data from any of your 6 workflows you can replace Loop End node with Variable Loop End node. It won’t have problems with inactive data port.

Hope this helps!

Br,
Ivan

2 Likes

Hi @ipazin Thanks a lot for your reply.

No suggested solution will not work because I required data at least from the 6th work flow, but any way thanks again for your reply.

Hi @MartinDDDD, you are right in some means. I am not familiar with this “inactive branch” concept in Knime as I am very new to this platform. Back of my mind I was having “Alteryx’s Runner and Macro” concept and I was thinking on the same pattern, so I overlook few things or then Knime’s working methodology.

I revisited all callee workflows only one of them returning data by using “Container Output (Table)” node, rest not, so in rest 5 workflows I return the One dummy data row and in the main work flow I filter out these dummy data rows.

Now Its working fine.

Any thanks a lot for your reply but can you enlighten me and other Knime user about this “inactive branch”, what is it and how logically One can find it out.

2 Likes

Hello @anilsknp,

your current solution with Container Output (Table) node in each workflow was my next suggestion. Glad you made it work. Haven’t tried but maybe you can send empty data set from each workflow you don’t need data from to avoid filtering in last workflow.

Here is KNIME documentation on flow control where you can find more about loops and inactive branch concept: Flow Control Guide | KNIME Documentation

Br,
Ivan

3 Likes

I strongly recommend you check out the level 2 learning content that is available for free on YouTube:

In particular, so following video, explains how branching works (which can result in inactive branches):

In your case it sounds like that the table-based callee workflow is just not returning (and not meant to return) any data. So in that case you’ve already done the right fix by returning a row of dummy data in every case.

4 Likes

Hi @ipazin Thanks a lot for suggestion.

1 Like

Hi @MartinDDDD Thanks a lot for the valuable videos and suggestion.:folded_hands: :folded_hands: :folded_hands:

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.