Generic Output Parameter StepID and ReferenceStepID

Some activities require an optional input ReferenceStepID that points to a previous execution step.

This is done by capturing the parameter StepID from the required step. This output parameter StepID is generated for each activity, and it points to a unique number identifying each workflow step.

In the following example, the activity CreateWorkItem needs a reference to the CompareRecord step.

<Activity Name="CompareRecord">
   <Action>CompareRecord</Action>
   <Description lang="en">Compare with previous confirmed version and generate an output document</Description>
   <Parameter direction="in" name="InDocument" type="document" eval="variable">workDoc</Parameter>
   <Parameter direction="in" name="CompareKeyword" type="string" eval="constant">PREVIOUS_CONFIRMED_VERSION</Parameter>
   <Parameter direction="in" name="FullCompareFlag" type="string" eval="constant">True</Parameter>
   <Parameter direction="out" eval="variable" type="document" name="OutDocument">workDoc</Parameter>
   <Parameter direction="out" name="StepID" eval="variable" type="long">pl1</Parameter>
</Activity>
<Activity Name="InternalEditWorkItem">
   <Action>CreateWorkItem</Action>
   <Description lang="en">Create workitem for edit of the new record</Description>
   <Execution>SYNCHR</Execution>
   <Parameter direction="in" eval="constant" type="string" name="Intent">Edit</Parameter>
   <Parameter direction="in" eval="constant" type="string" name="RecordAttributeName">GTIN</Parameter>
   <Parameter direction="in" eval="constant" type="string" name="RecordAttributeName1">SHORTDESC</Parameter>
   <Parameter direction="in" eval="constant" type="string" name="RecordAttributeName2">UOM</Parameter>
   <Parameter direction="in" name="ReferenceStepID" eval="variable" type="long">pl1</Parameter>
   <Parameter direction="in" eval="rule" source="New Record Introduction Edit" type="long" name="ParticipantID">workDoc</Parameter>
   <Parameter direction="in" eval="rule" source="New Record Introduction Edit" type="string" name="ParticipantType">workDoc</Parameter>
   <Parameter direction="in" eval="constant" type="string" name="Form">standard/forms/fm26ca.xml</Parameter>
   <Parameter direction="in" eval="constant" type="string" name="MailPresentation">com.tibco.mdm.ui.workflow.engine.emailtemplates.
   EmailProductAddEditWorkItem</Parameter>
   <Parameter direction="in" eval="constant" type="string" name="ReassignMailPresentation">
   com.tibco.mdm.ui.workflow.engine.emailtem plates.EmailReassignWorkItem</Parameter>
   <Parameter direction="in" eval="constant" type="string" name="DelegationMailPresentation">
   com.tibco.mdm.ui.workflow.engine.email templates.EmailWorkItemDelegationNotification</Parameter>
   <Parameter direction="in" eval="constant" type="string" name="FormPresentation">
   com.tibco.mdm.ui.workflow.engine.workitem.templates. ProductAddEdit</Parameter>
   <Parameter direction="in" eval="constant" type="string" name="TaskType">CATALOGMESSAGE</Parameter>
   <Parameter direction="in" eval="variable" type="document" name="InDocument">workDoc</Parameter>
   <Parameter direction="out" eval="variable" type="document" name="OutDocument">wiDoc</Parameter>
   <Parameter direction="out" eval="variable" type="boolean" name="WorkItemCreated">editFlag</Parameter>
   <Parameter direction="out" eval="variable" type="boolean" name="MergedDocument">workDoc</Parameter>
   <Parameter direction="in" eval="constant" type="string" name="ExpiryType">RELATIVE</Parameter>
   <Parameter direction="in" eval="constant" type="string" name="ExpiryDate">1:0:0:0</Parameter>
</Activity>