Multiple birt report with call to workflow in loop

Hi everyone,
I have a big problem and for days I have been trying to solve it but I have not succeeded.

I have a workflow that generates a BIRT report and that works well.

I would like that this workflow reading a file containing the path of the all file that i need read for make a report generatin in different pptx for each file.
I’m trying to use the workflow below with loops, but even if it formally works, the output of this workflow is always the same, that of the first file examined.

What am I doing wrong?

Hello Biagio,

I’m not that used to these Loop nodes. But as far as I know each of them needs a paired Loop-End node.
Your first workflow has a Loop start but no Loop End. So my assumption is that it does not really “loop”.

1 Like

Hello KNIMEDIGER, but if i make a loop in first flow, how work data to report?..i don’t need read all data and after print a report for all…i need one report for each file…

Can you explain how work data to report with a loop?

Thanks.
Biagio

Hello Biagio,

first of all it’s important to understand what you want to achieve with your workflow.
In the first pic above you have the Loop Node which triggers reading an xls file. I assume that you want to read multiple files from the list you retrieved in the node before.
After reading the xls file what comes next?

Do you want to read the other files? And after reading all files process the data and create one report using the data from all reports?
That should work using the loop end at this point.

Or do you want to process the data from the file in the three parallel streams first? And create a report per file using the data from one xls file?
From my knowledge this is an issue. The BIRT report must be called manually (at least I’m not aware of another possibility) and uses the output if the (inner) workflow. So there is no chance to add a Loop End node to the inner workflow.
I assume that the second workflow which you show was created to overcome the Loop End problem. But the question is now: How to call the BIRT report in that case at/before the Loop End. And I’m sorry to say that I do not have an idea for a solution approach. I also have similar problems which I could not yet solve with KNIME.

But maybe somebody else with deeper knowledge and experience can support you.

Hello KNIMEDIGER,
i need this:

“Or do you want to process the data from the file in the three parallel streams first? And create a report per file using the data from one xls file”

In the first flow with excel reader i need read a file path that i want a report.This file path isn’t the same for every loop, because every loop with the second workflow i write another file path with a excel writer.

My problem is that every loop in the first flow the first excel reader don’t read another file path (have in memory the first file path that read an first loop)…is like that the workflow is underexecution and don’t go in reset state (as i have saved it.).
Can i force it to go reset after every loop? there is a command for it?

Thanks.
Biagio

Hello Biagio,

at the moment I’m struggeling with your description.
What it be possible that you share some example of data and the required output from that data?
That might help me to understand your request and give further support if possible.

Hi knimedifer, i think that now i know the problem…when you call a workflow with call local workflow this workflow is in execution until your loop is finished…in this form the workflow no go in reset mode…i can’t send a exemple because the data are confidential…sorry…

Hi there @Biagio,

if I got you right from print screen and explanations you need to pass flow variable holding Excel file location into called workflow. Check Container Input (Variable) node.

If workflow is saved in reset state each time it is called as such.

Hope this helps!

Br,
Ivan