Getting Existing Data for Sub Process


Hello Team,

I have a New Account Process that has a total of three sub process. The first pool is the new request process, which sends task to the second level of approval process and then to the final approval process that create the user to role access.

I'm newer to the BDM so I'm having some issues accessing the existing records. I'm able to pass initialize the BDM (see below code) and pass the data from step to step within the same pool and thru the contract. However, I'm seeing two things.

One, in the first process when sending the data thru the form I review the logs (see below) and it looks like an empty JSON object.

Two, I'm unsure how to retrieve the same object from the task assigned to the second pool. I have the context variable tied to the form and it empty which tell me either the object is empty or I'm not pulling it correctly.

Also, For the second process, do I need to create a new business variable for the object or since I created it in the first pool will it still be available? I would think I have to create a new variable reference the same type used from the first pool.

Please help

Thank you

id = <140063>, parent process instance = <7021>, root process instance = <7021>, process definition = <7727893248950901779>] with task inputs: {newAccountPersonNewPerson={middleName=, Id=, lastName=, personDutyInfo={orgnanizationCode=, subOrgnanizationCode=}, personaTypeCode=, firstName=}}

  1. import;
  3. NewPerson newPerson = new NewPerson();
  5. newPerson.setFirstName(newAccountPerson.get("firstName"));
  6. newPerson.setLastName(newAccountPerson.get("lastName"));
  8. return newPerson;
2 answers


I think your answer is in the statement I'm new to the BDM and it will take time to learn, I had to do this too.

In this example I would ask my self, I have a New Account process that has three sub-processes. But what are these sub-processes? OK you say this, but what I'm getting to is, are these sub-processes separate from the actual process itself?

Can they be executed outside the New Accounts process? If they can then you have designed correctly, 3 pools.

But I think in this instance what you really want is one pool for the New Accounts process, and three LANES in the process.

The New Accounts process is in practice indivisible, the creation and two approvals will always happen so have them in one process. Much easier and your data will be visible through out rather than at present where you would have to define all the data again and pass the data through unnecessary structures.

Reading your text I think you have this...

Pool 1 - Application Pool 2 - Approval 1 Pool 3 - Approval 2

What you really need is:

Pool - New Account Lane 1 - Application Lane 2 - Approval 1 Lane 3 - Approval 2

Hope that helps,

regards Seán


That makes much more sense. When creating these processes I should think heavily on dependencies. Approval 1 and Approval 2 heavily rely on the request information passing threw the process, therefore, I should not create multiple sub processes.

Thank you

However, if I had to perform this task, do you know the answers to one, two, or three?