Skip to content

IFS Process Enrichment

IFS Process Enrichment

The IFS Process Enrichment task can be used to register or modify the values of the Process Input Variables that need to be included in the BPAProcessResult. It requires the following input:

  • Registered Variables (mandatory) - The input to enter the variable name to be included in the BPAProcessResult.

To register variables, variable names can be added by clicking the ‘Add Value’ button. At the end of the enrichment process execution, the BPAProcessResult will be populated with the Process Input Variables and the newly registered variables.

If no variables need to be added, the registration of variables can be skipped. In this case, the BPAProcessResult will contain only the Process Input Variables with possibly modified values.

Note that if the list of variable names has duplicates or the registration process is triggered more than once for the same variable name, the duplicates will be ignored, and the result set will only contain the variable name once.

Below is the snapshot of an IFS Process Enrichment task with one variable,

Below is the generated XML for the IFS Process Enrichment.

<bpmn:serviceTask id="Activity_1mtqarm" name="Registration of the variables" camunda:class="com.ifsworld.fnd.bpa.process.enrichment.IfsBpaProcessEnrichmentDelegate">
      <bpmn:extensionElements>
        <camunda:inputOutput>
          <camunda:inputParameter name="ifsBpaEnrichmentRegisteredVariables">
            <camunda:list>
              <camunda:value>taskOutputNeedToRegister</camunda:value>
            </camunda:list>
          </camunda:inputParameter>
        </camunda:inputOutput>
      </bpmn:extensionElements>
      <bpmn:incoming>Flow_1hheiay</bpmn:incoming>
      <bpmn:outgoing>Flow_1665huj</bpmn:outgoing>
</bpmn:serviceTask>

Example Use case

With process enrichment, we can add additional properties to entity in the request.

  • For instance, consider following BPA which has enrichment task which adds new variables as "CompanyId" and "CompanyName".
  • And script task set default values to those variables.

Download BPA Here

  • Above BPA is setup to execute upon creating a state. So that after executing the BPA, the "State" entity in the request has additional new attributes ("CompanyId" and "CompanyName") added by the enrichment task.
  • Subsequent workflow executions within the same transaction will have entity with additional attributes. So those workflow logic can be created based on those attributes.

Subsequent workflow

  • Following workflow is setup to execute upon creating a regulatory body. So that it will execute in the same transaction where above WF executed.

Download BPA Here