Example 4 (5 Tasks with DQ checks, parallel and sequential)

Example 4 starts with 2 sequential tasks, after that there are 2 tasks which are running in parallel and after finishing those 2 parallel tasks the last task will start.

Diagram for example 4

images/download/attachments/400049199/SW_Example04.png

Product 360 prerequisites for example 4

Product 360 entity

value

Usergroup

Standardusers

Ui Template

Item approve UI

DQ Channel

Channel 1

DQ Channel

Channel 2

DQ Channel

Channel 3.1

DQ Channel

Channel 3.2

DQ Channel

Channel 4

Explanation of the steps example 4

Step

Description

0

Check whether item is already in this workflow.

1

Run DQ check "Channel 1" if fail ==>put the item into the task "My task 1"

2

Run DQ check "Channel 2" if fail ==>put the item into the task "My task 2"

3.1

Run DQ check "Channel 3.1" if fail ==>put the item into the task "My task 3.1"

3.2

Run DQ check "Channel 3.2" if fail ==>put the item into the task "My task 3.2"

4

Run DQ check "Channel 4" if fail ==>put the item into the task "My task 4"

StepWorkflow.xml file for example 4

Example 4
<?xml version="1.0" encoding="UTF-8"?>
<imp:payload xmlns:imp="http://www.informatica.com/schema/ItemMap" contentType="string">
<workflow>
<label>Example Workflow 4</label>
<identifier>Workflow_04</identifier>
<version>1.0</version>
<step>
<id>0</id>
<entity>Article</entity>
<enterStatus>Never</enterStatus>
<batchSize>500</batchSize>
<executeDq>Always</executeDq>
<dqService>ItemsInWorkflowTasks-Process</dqService>
<dqFailStep>STEP:1</dqFailStep>
</step>
<step>
<id>1</id>
<entity>Article</entity>
<workflowStatus>My task 1</workflowStatus>
<description>My task 1</description>
<workflowServiceEndpoint>StepWorkflow-Trigger</workflowServiceEndpoint>
<enterStatus>OnDqResults</enterStatus>
<batchSize>500</batchSize>
<userType>userGroup</userType>
<userName>Standardusers</userName>
<uiTemplate>Item approve UI</uiTemplate>
<executeDq>Always</executeDq>
<dqService>ExecuteDqBatch-Process</dqService>
<dqChannel>Channel 1</dqChannel>
<nextStep>STEP:2</nextStep>
</step>
<step>
<id>2</id>
<entity>Article</entity>
<workflowStatus>My task 2</workflowStatus>
<description>My task 2</description>
<workflowServiceEndpoint>StepWorkflow-Trigger</workflowServiceEndpoint>
<enterStatus>OnDqResults</enterStatus>
<batchSize>500</batchSize>
<userType>userGroup</userType>
<userName>Standardusers</userName>
<uiTemplate>Item approve UI</uiTemplate>
<executeDq>Always</executeDq>
<dqService>ExecuteDqBatch-Process</dqService>
<dqChannel>Channel 2</dqChannel>
<nextStep>StepWorkflow_ParallelTasks-Workflow</nextStep>
<parallelStep>3.1</parallelStep>
<parallelStep>3.2</parallelStep>
<parallelNextStep>4</parallelNextStep>
</step>
<step>
<id>3.1</id>
<entity>Article</entity>
<workflowStatus>My task 3.1</workflowStatus>
<description>My task 3.1</description>
<workflowServiceEndpoint>StepWorkflow-Trigger</workflowServiceEndpoint>
<enterStatus>OnDqResults</enterStatus>
<userType>userGroup</userType>
<userName>Standardusers</userName>
<uiTemplate>Item approve UI</uiTemplate>
<executeDq>Always</executeDq>
<dqService>ExecuteDqBatch-Process</dqService>
<dqChannel>Channel 3.1</dqChannel>
<dqFailTrigger>StepWorkflow_ParallelTasks-Finish-1</dqFailTrigger>
<nextTrigger>StepWorkflow_ParallelTasks-Finish-1</nextTrigger>
</step>
<step>
<id>3.2</id>
<entity>Article</entity>
<workflowStatus>My task 3.2</workflowStatus>
<description>My task 3.2</description>
<workflowServiceEndpoint>StepWorkflow-Trigger</workflowServiceEndpoint>
<enterStatus>OnDqResults</enterStatus>
<userType>userGroup</userType>
<userName>Standardusers</userName>
<uiTemplate>Item approve UI</uiTemplate>
<executeDq>Always</executeDq>
<dqService>ExecuteDqBatch-Process</dqService>
<dqChannel>Channel 3.2</dqChannel>
<dqFailTrigger>StepWorkflow_ParallelTasks-Finish-2</dqFailTrigger>
<nextTrigger>StepWorkflow_ParallelTasks-Finish-2</nextTrigger>
</step>
<step>
<id>4</id>
<entity>Article</entity>
<workflowStatus>My task 4</workflowStatus>
<description>My task 4</description>
<workflowServiceEndpoint>StepWorkflow-Trigger</workflowServiceEndpoint>
<enterStatus>OnDqResults</enterStatus>
<batchSize>500</batchSize>
<userType>userGroup</userType>
<userName>Standardusers</userName>
<uiTemplate>Item approve UI</uiTemplate>
<executeDq>Always</executeDq>
<dqService>ExecuteDqBatch-Process</dqService>
<dqChannel>Channel 4</dqChannel>
</step>
</workflow>
</imp:payload>

Detailed explanation of the steps

Only the differences to the previous example will be explained.

Step 0

Step 0 is an exact copy of the step 0 of example 3.

Step 1

Step 1 is an exact copy of the step 1 of example above 3.

Step 2

Step 2 is nearly the same as the step 2 of the example above. Only the differences are shown in the next table.

Key

Value

Description

...

...

Same keys and values than in example 3.

nextStep

StepWorkflow_ParallelTasks-Workflow

StepWorkflow_ParallelTasks-Workflow defines that the next steps run in parallel

parallelStep

3.1

Identifier of the first parallel step, the item will be moved to this parallel step. The maximum number of parallel steps is 6.

parallelStep

3.2

Identifier of the second parallel step, the item will be moved also to this parallel step.

parallelNextStep

4

The item will be moved to this step when all parallel steps are finished.

Step 3.1

Key

Value

Description

id

3.1

Identifier of the step.

entity

Article

Entity container for this workflow.

workflowStatus

My task 3.1

Status name within the Product 360 workflow. ==> Product 360 task name = [Workflow] - [Status] - [Catalog]

description

My task 3.1

Description of the status.

workflowServiceEndpoint

StepWorkflow-Trigger

This is the service name of the partner link. This name is defined in the process deployment descriptor of the workflow.

enterStatus

OnDqResults

The circumstances when an item should enter a status (task). In this case only when DQ check will fail!

userType

userGroup

Type of the default assignee of this task. In this case it will be a usergroup.

userName

Standardusers

Name/Identifier of the Default assignee of the task. ==> The item will be assigned to the usergroup "Standardusers".

uiTemplate

Item approve UI

This is the default UI of the task.

executeDq

Always

The circumstances when a DQ should be run. In this case always!

dqService

ExecuteDqBatch-Process

The service name of the process that will be handle the processing of the DQ.

dqChannel

Channel 3.1

Name of the DQ channel which will be executed.

dqFailTrigger

StepWorkflow_ParallelTasks-Finish-1

This is the service name of the partner link of the parallel tasks. It will be called if DQ fails to ensure that the item will remain in the status (task).

nextTrigger

StepWorkflow_ParallelTasks-Finish-1

This is another service name of the partner link of the parallel tasks. It will be called if the item will leave this step.

Step 3.2

Step 3.2 is nearly the same as the step 3.1. Only the differences are shown in the next table.

Key

Value

Description

id

3.1

Identifier of the step.

workflowStatus

My task 3.2

Status name within the Product 360 workflow. ==> Product 360 task name = [Workflow] - [Status] - [Catalog]

description

My task 3.2

Description of the status.

dqChannel

Channel 3.2

Name of the DQ channel which will be executed.

dqFailTrigger

StepWorkflow_ParallelTasks-Finish-2

This is the service name of the partner link of the parallel tasks. It will be called if DQ fails to ensure that the item will remain in the status (task).

nextTrigger

StepWorkflow_ParallelTasks-Finish-2

This is another service name of the partner link of the parallel tasks. It will be called if the item will leave this step.

Step 4

Key

Value

Description

id

4

Identifier of the step.

entity

Article

Entity container for this workflow.

workflowStatus

My task 4

Status name within the Product 360 workflow. ==> Product 360 task name = [Workflow] - [Status] - [Catalog]

description

My task 4

Description of the status.

workflowServiceEndpoint

StepWorkflow-Trigger

This is the service name of the partner link. This name is defined in the process deployment descriptor of the workflow.

enterStatus

OnDqResults

The circumstances when an item should enter a status (task). In this case only when DQ check will fail!

batchSize

500

Batch size to use with trigger batching.

userType

userGroup

Type of the default assignee of this task. In this case it will be a usergroup.

userName

Standardusers

Name/Identifier of the Default assignee of the task. ==> The item will be assigned to the usergroup "Standardusers".

uiTemplate

Item approve UI

This is the default UI of the task.

executeDq

Always

The circumstances when a DQ should be run. In this case always!

dqService

ExecuteDqBatch-Process

The service name of the process that will be handle the processing of the DQ.

dqChannel

Channel 4

Name of the DQ channel which will be executed.