1 of 1 people found this helpful
Hi Shiju John,
you can not get the sub process instance id from the parent process. This relationship between process instance and sub process instance is not stored in a table.
But you can check the class SubProcessNodeInstance. This class represents a sub process call activity and start the sub process instance. See the following code:
ProcessInstance processInstance = ( ProcessInstance ) ((ProcessInstance) getProcessInstance()).getKnowledgeRuntime().startProcess(processId, parameters); this.processInstanceId = processInstance.getId(); ((ProcessInstanceImpl) processInstance).setMetaData("ParentProcessInstanceId", processInstance.getId()); // note: wrong process instance id
You can try to read the property processInstanceId from class or build your own logic.
this was allready fixed on master (5.4.0) so meta data now have correct value for ParentProcessInstanceId. Moreover for 5.4. thehistory table was extended to keep this reference as well. Take a look here for history log query method that can give you subprocess instance based on parent process instance id