loop over multiple process at a time

1
0
-1

Hi,

I am unable to understand how to loop over multiple process at a time?
For example,
Using 7.0.1:

start-----> process1(returns list)-----> condition<>----->process2----------process4
|------->process3----------process5
Used multiInstantiation, to loop only one process(process1)
How to acheive the case, where according to the list returned from process1.. apply condition and do either process2/process3 according to the condition, for every values from the list.

Thank you,

2 answers

1
+2
-1
This one is the BEST answer!

OK this is sort of making sense now...

First these things are NOT processes are they? They are Tasks, aren't they?

Terminology is very important.

From what you are saying...

I have a task 1 that returns a list (multiple values). The list entry is either A or B, there can be no other result.

I want to loop the list and
if 0 then execute tasks 2 and 4
if 1 then execute tasks 3 and 5
I then want to finish.

First - this is two different processes, well sort of, it's one process with two tasks and one SUBprocesses.

Process 1
Task 1 - get the List
Task 2 - MultiInstan the list and call the subprocess

subprocess 1
Gateway - what is my choice
if 0 then tasks 2 and 4
if 1 then tasks 3 and 5

All done please see the sample here...by the way - not tested but I'm sure you'll work it out.

https://www.dropbox.com/s/v50ppq4dble3ak5/loop-over-multiple-process-time-1.0.bos?dl=0

regards
Seán

PS: If this reply answers your question, please mark a resolved.

Comments

Submitted by vivek.paranthaman on Fri, 01/15/2016 - 12:12

Thank you, but unfortunately, I didn't mentioned about an end for the tasks.
If I follow this way, it has to come back to the first Pool/MasterPool, so that I can process something and show data in form..

Which is best practice: for multiple multi loops...
create more subprocess, and keep the Master only to call the subprocess and end the process?

or is there any other way?...

Thank you,

Submitted by Sean McP on Fri, 01/15/2016 - 12:43

Sorry,

I give up, please specify EXACTLY what you want.

I cannot waste time like this. Now you want forms?

I work for myself (not Bonitasoft) and I'm helping you while not earning ...I don't have time to waste like this...

You have to write down exactly what you want, which is part of BPM (not just Bonitasoft), to get the answers.

regards

Submitted by vivek.paranthaman on Fri, 01/15/2016 - 13:59

Sorry Sean for my unclear English,

I am glad that at-least an expert like you are there to guide people like us..
I am trying to make a process, which has all custom connectors, so even I was not clear about how should I get the output, from each connectors.
Once I write a connector, I am able to fix that a loop over the next process is required, or not....
As and when I execute a problem, I post it here, and you give a solution, which I will try, and then move forward to my next step.

I am finding it hard, when a senario like...

have to fetch from databse list of values, then iterate over next couple of tasks(process and gives some data-list)---> then again couple of tasks to be iterated(gives list)--->then reportShould be shown on form, select data from form(table).. redirect to another form(editable), edit and approve(endtask)(approve will change data in DB).

Submitted by Sean McP on Fri, 01/15/2016 - 14:38

Your version

  1. have to fetch from databse list of values,
  2. then iterate over next couple of tasks(process and gives some data-list)
  3. then again couple of tasks to be iterated(gives list)
  4. then reportShould be shown on form,
  5. select data from form(table)
  6. redirect to another form(editable)
  7. edit and approve(endtask)(approve will change data in DB).

My version

  1. Start Task
  2. DISPLAY Initiation Form - ACCEPT values for ?,?,?
  3. Save in initList
  4. Use initList to Get datavalues (?,?) from Database into dbList(?)
  5. LOOPStart
  6. process dbList to do x save data to dbListAns
  7. process dbListAns to return dataList
  8. LOOPEnd
  9. process dataList to return givesList
  10. DISPLAY Form with givesList (in a table)
  11. User selects data from table - Form returns selected items in table
  12. DISPLAY Form with selected data (in a table)
  13. User selects data from table - Form returns selected items in table
  14. Save data to database

You must specify

DISPLAY Form
LOOP process (start and end)
ACCEPT Data
PERFORM task with data (give the name)

You can develop your own style it's much easier to follow and will allow you to easily write a process.

regards

Submitted by vivek.paranthaman on Sat, 01/16/2016 - 06:04

I think this could be the best process flow related comment I can see in the community forum..
Still there are lots of things have to be there to understand in both process as well as Ui..
Thank you Sean, for spending time to provide guidance on this.

1
0
-1

Dear Sean McP,

Can you share again your sample ? i cant download it

Comments

Submitted by Dibyajit.Roy on Wed, 12/21/2022 - 19:14
Submitted by dktung1986 on Thu, 12/22/2022 - 03:25

Dear Dibyajit.Roy,

Ths you for your reply. But can you show me how to stop a standard loop. I create a voted process and config the loop while : loopCounter. In the Maximum loop i set 100 times to run the process 100 times. Can you show me how to stop that process immediately if it still hasn't run enough 100 times

Submitted by Dibyajit.Roy on Thu, 12/22/2022 - 08:46

Look for Early completion criteria. There should be a section to define Early completion criteria. Just write your logic over there.

Not Sure if this is available in community version or not.

Notifications