Transitions

When the matcher work item activity is complete, that is, the work item is submitted, the process performs the following activities:

  • MatcherWork Item >> SpawnWorkflowForAddNewRecords

    If there are some source records marked "Accept as new" on the work item, they are processed for an add new record workflow.

  • MatcherWorkItem >> UpdateRecordStateAsRejected

    If there are some source records marked "Rejected" on the work item, they are processed for updating their state as Rejected.

  • MatcherWork Item >> MergeRecordBulk

    If there are some source records marked "Merged" with existing record on the work item, they are processed for a merge decision.

This processing is based on the output parameters set by the work item activity on submission. The following output parameters are generated by the CreateWorkItem activity (refer to the MatchRecordWorkItemBulk activity in the bulk workflow wfin26productmergeapprovalv1.xml) to the process state when the work item gets submitted.

  • RecordListForNew: Arraylist of recordkey IDs.
  • RecordListForReject: Arraylist of recordkey IDs.
  • MergeCount: Count of source records to be merged.
  • MatchingRecordKey: Output only when a single input source record is merged with a target record, that is, the MergeCount is 1 and the RecordListForNew and RecordListForReject are empty/null.
<Transition FromActivity="MatchRecordWorkItemBulk"
ToActivity="UpdateRecordStateAsRejectedFromWI">
	<Description>reject records.</Description>
	<Rule><Parameter direction="in" eval="variable" name="RecordListForReject"
		type="arraylist">RecordListForReject</Parameter>
		<Parameter direction="out" name="result" type="boolean" ></Parameter>
		<Condition format="java">com.tibco.mdm.workflow.engine.transition.
		WfSharedConditionTransition.isNotEmptyOrNull</Condition>
	</Rule>
</Transition>
<Transition FromActivity="MatchRecordWorkItemBulk"
ToActivity="SpawnWorkflowForAddNewRecordsFromWI">
	<Description>add records.</Description>
	<Rule><Parameter direction="in" eval="variable" name="RecordListForNew"
		type="arraylist" >RecordListForNew</Parameter>
		<Parameter direction="out" name="result" type="boolean" ></Parameter>
		<Condition format="java">com.tibco.mdm.workflow.engine.transition.
		WfSharedConditionTransition.isNotEmptyOrNull</Condition>
	</Rule>
</Transition>
<Transition FromActivity="MatchRecordWorkItemBulk"
ToActivity="MergeRecordBulkFromWI">
	<Description>merge records.</Description>
	<Rule><Parameter direction="in" eval="variable" name="MergeCount"
		type="long" >MergeCount </Parameter>
		<Parameter direction="out" name="result" type="boolean"></Parameter>
		<Condition format="java">com.tibco.mdm.workflow.engine.transition.
		WfSharedConditionTransition.isGreaterThanZero</Condition>
	</Rule>
</Transition>