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
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
<?
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. |