Example 8 (2 Tasks modifying of fields approval step merge)
The next example extends the example 7 workflow with merging the item(s) after the approval.
Diagram for example 8
Product 360 prerequisites for example 8
Product 360 entity |
value |
Usergroup |
Standardusers |
Ui Template |
Item approve UI |
Explanation of the steps example 8
Step |
Description |
0 |
Check whether item is already in this workflow |
1 |
Put the item into the supplier task "My task 1" |
2 |
Modify the field Article.CurrentStatus to the value 200 |
3 |
Put the item into the task "My task 3" |
4 |
Modify the field Article.CurrentStatus to the value 300 |
5.0 |
Check whether item is already in this workflow |
5 |
Approve task with rejection options to all previous tasks. If rejected modify the field Article.CurrentStatus to the value 300 |
6 |
Modify the field Article.CurrentStatus to the value 400 |
7 |
Merge the item |
StepWorkflow.xml file for example 8
<
imp
:payload
xmlns:imp
=
"http://www.informatica.com/schema/ItemMap"
contentType
=
"string"
>
<
workflow
>
<
label
>Example Workflow 8</
label
>
<
identifier
>Workflow_08</
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
>
<
getField
>Article.MainSupplier->Party.Name</
getField
>
</
step
>
<
step
>
<
id
>1</
id
>
<
entity
>Article</
entity
>
<
workflowStatus
>My task 1</
workflowStatus
>
<
description
>My task 1</
description
>
<
workflowServiceEndpoint
>StepWorkflow-Trigger</
workflowServiceEndpoint
>
<
enterStatus
>Always</
enterStatus
>
<
batchSize
>500</
batchSize
>
<
userType
>supplier</
userType
>
<
uiTemplate
>Item approve UI</
uiTemplate
>
<
executeDq
>Never</
executeDq
>
<
getField
>Article.CurrentStatus</
getField
>
<
nextStep
>STEP:2</
nextStep
>
<
nextStep
>STEP:3</
nextStep
>
</
step
>
<
step
>
<
id
>2</
id
>
<
entity
>Article</
entity
>
<
updateFieldDescriptor
>Article.CurrentStatus</
updateFieldDescriptor
>
<
updateFieldValue
>200</
updateFieldValue
>
</
step
>
<
step
>
<
id
>3</
id
>
<
entity
>Article</
entity
>
<
workflowStatus
>My task 2</
workflowStatus
>
<
description
>My task 2</
description
>
<
workflowServiceEndpoint
>StepWorkflow-Trigger</
workflowServiceEndpoint
>
<
enterStatus
>Always</
enterStatus
>
<
batchSize
>500</
batchSize
>
<
userType
>userGroup</
userType
>
<
userName
>Standardusers</
userName
>
<
uiTemplate
>Item approve UI</
uiTemplate
>
<
executeDq
>Never</
executeDq
>
<
nextStep
>STEP:4</
nextStep
>
<
nextStep
>STEP:5.0</
nextStep
>
</
step
>
<
step
>
<
id
>4</
id
>
<
entity
>Article</
entity
>
<
updateFieldDescriptor
>Article.CurrentStatus</
updateFieldDescriptor
>
<
updateFieldValue
>300</
updateFieldValue
>
</
step
>
<
step
>
<
id
>5.0</
id
>
<
entity
>Article</
entity
>
<
enterStatus
>Never</
enterStatus
>
<
batchSize
>500</
batchSize
>
<
executeDq
>Always</
executeDq
>
<
dqService
>ItemsInWorkflowTasks-Process</
dqService
>
<
dqFailStep
>STEP:5</
dqFailStep
>
</
step
>
<
step
>
<
id
>5</
id
>
<
entity
>Article</
entity
>
<
workflowStatus
>Approve</
workflowStatus
>
<
description
>Approval</
description
>
<
workflowServiceEndpoint
>StepWorkflow-Trigger</
workflowServiceEndpoint
>
<
enterStatus
>Always</
enterStatus
>
<
batchSize
>500</
batchSize
>
<
userType
>userGroup</
userType
>
<
userName
>Standardusers</
userName
>
<
uiTemplate
>Item approve UI</
uiTemplate
>
<
executeDq
>Never</
executeDq
>
<
rejectTrigger
>StepWorkflow_ParallelTasks-Reject</
rejectTrigger
>
<
singleChoice
>true</
singleChoice
>
<
rejectDecision
>
<
id
>p360.bpm.reject.STEP:1</
id
>
<
label
>Reject to task 1</
label
>
</
rejectDecision
>
<
rejectDecision
>
<
id
>p360.bpm.reject.STEP:3</
id
>
<
label
>Reject to task 2</
label
>
</
rejectDecision
>
<
rejectFieldDescriptor
>Article.CurrentStatus</
rejectFieldDescriptor
>
<
rejectFieldValue
>100</
rejectFieldValue
>
<
nextStep
>STEP:6</
nextStep
>
</
step
>
<
step
>
<
id
>6</
id
>
<
workflowServiceEndpoint
>StepWorkflow-Trigger</
workflowServiceEndpoint
>
<
entity
>Article</
entity
>
<
updateFieldDescriptor
>Article.CurrentStatus</
updateFieldDescriptor
>
<
updateFieldValue
>400</
updateFieldValue
>
<
nextStep
>STEP:7</
nextStep
>
</
step
>
<
step
>
<
id
>7</
id
>
<
workflowServiceEndpoint
>StepWorkflow-Trigger</
workflowServiceEndpoint
>
<
entity
>Article</
entity
>
<
mergeProfile
>profile_no_images</
mergeProfile
>
<
nextStep
>MergeItems-Process</
nextStep
>
</
step
>
</
workflow
>
</
imp
:payload>
Detailed explanation of the steps
Step 0 - Step 5
These steps are exact copy of the example 7.
Step 6
Step 6 is nearly the same as the step 5 of the example above. Only the differences are shown in the next table.
Key |
Value |
Description |
... |
... |
Same keys and values than in the example above. |
nextStep |
STEP:7 |
Identifier of the next step, The item will be moved to the next step, when this step is finished. |
Step 7
Step 7 will execute the merge.
Key |
Value |
Description |
id |
7 |
|
workflowServiceEndpoint |
StepWorkflow-Trigger |
|
entity |
Article |
|
mergeProfile |
profile_no_images |
Profile of the merge process. There are 2 profiles within the standard workflow package. They are located in the folder profiles merge-profile of the StepWorkflow project. If you need additonal profiles you have to add them to the project with your BPM Designer, |
nextStep |
MergeItems-Process |
This bpel prcoess allows you to merge items into the Master Catalog. |