How to reveice multiple documents in a process

I’ve set up a process that has start step followed by a loop with two steps: step A checks exit condition and step B subscribes to a document. When the exit condition evaluates to True the process follows the transition from Step A to the End step.

While the exit condition is False and documents are being published, the loop executes normaly with transitions from A to B and from B to A.

The problem is when it happens that one of the documents is published (and retrieved by the PRT) while the process is executing step A. In this case, the document is discarded by the PRT because step A does’nt subscribe to it!

Is there any other way to assynchronously receive an unknown number of documents in a process? I gess this is a fairly common situation.

Hi,

did you manage to find a reliable method since your post ?
I am currently struggling with the same problem.

The PRT is not currently designed to support receiving an unknown number of documents which are desired to be correlated to a single process instance.

One solution I have used in the past with success is to externalize the logic that waits for an arbitrary number of documents to arrive and then publishes a single document list to the process that contains all the individual instances of the documents needed by the process.

Given the example process flow posted here:

Transition from step A to step B would join on receiving the final document list.

Create a trigger on the Integration Server that subscribes to the document type(s) that will eventually join with the process. Register a service to the trigger that processes each document recieved and execute any decision logic needed to determine when the condition is met that all documents have arrived. When the condition is met read from the DB each document and composed a single document list and publish it to the process and then let the process flow continue.

-Rob

Rob, is your answer true for Modeler 7.1 as well?

This is not an uncommon business case for event driven applications - wait for all documents A, B and C before moving on when Document D is received.

Hi Rob,
It seems like your solution requires database setup, is there anyway we can do without database?
Thanks
Alexi