Search code examples
bpmn

How to illustrate incoming data from one OR two sources in BPMN model?


I've studied BPMN in coursework; this is my first time applying it in real-work scenarios that don't follow any of my textbook examples.

I am trying to illustrate a process where a client can either upload a CSV file, manually enter records, or both. At the end of the day, all records are loaded to a production database via a script. At the moment, I've got it like this:

ProcessDiagram

But, unless one reads the notes attached to each object, this tells me that uploaded AND manual data will be present.

In BPMN how would I designate that Path "A", Path "B" OR both, could be valid? How do I label the gateway? The scripting step I anticipate putting between the data input and the production database, but I'm not quite sure, again, how to specify that the script runs ONCE based on the presence of data from EITHER feed, not both.

What would this typically look like, and thanks in advance.


Solution

  • In BPMN to express that Path A, Path B or both could be valid ways forward, you can use an "inclusive or" gateway. I would typically label the split with a question and the outgoing pathes with the "answers", iow conditions under which the pathes are activated. If I understand your example correctly, a possible solution could look like the following.

    enter image description here

    Whether you want to use the task types I used, depends a bit on your more specific context. My task types in that example would mean that for the "upload" the process is "waiting for an incoming message", while in the case of manual entry it is "waiting for a user to complete the task" (by entering the required data).

    The example also assumes that you know before you reach the inclusive or gateway which channels you will want to use this time.