Example 9 (Classic Tasks)
In this example we are creating a classic (standard) tasks. The first classic task is a supplier task and the second one is a classic task for an user group. The last task will be again a workflow (approval) task, with the option to send the items back to a further step. The difference between a workflow and a classic task is when finishing a classic task all items (products or variants) within this task will be finished at once. It is highly recommended to use this approach only with report based events like export completed, import started etc., because there will be always a new task created. Independent whether the same task with the same name for the entire catalog already exists.
Diagram for example 9
Explanation of the steps example 9
Step |
Description |
1 |
Run DQ check "Channel 1" if fail ==>put the item into the supplier classic task |
2 |
Run DQ check "Channel 2" if fail ==>put the item into the classic task |
3 |
Approve task with rejection options to all previous tasks |
Product 360 prerequisites for example 9
Product 360 entity |
value |
Usergroup |
Standardusers |
Ui Template |
Item approve UI |
DQ Channel |
Channel 1 |
DQ Channel |
Channel 2 |
user |
jsmith |
user |
jsauer |
StepWorkflow.xml file for example 9
<
imp
:payload
xmlns:imp
=
"http://www.informatica.com/schema/ItemMap"
contentType
=
"string"
>
<
workflow
>
<
label
>Example Workflow 9</
label
>
<
identifier
>Workflow_09</
identifier
>
<
version
>1.0</
version
>
<
step
>
<
id
>1</
id
>
<
entity
>Article</
entity
>
<
batchSize
>1000</
batchSize
>
<
getField
>Article.MainSupplier->Party.Name</
getField
>
<
getField
>Article.CatalogProxy->SupplierCatalog.Supplier->Party.Name</
getField
>
<
uiTemplate
>Item approve UI</
uiTemplate
>
<
classicTask
>Supplier Classic Task</
classicTask
>
<
userType
>supplier</
userType
>
<
escalation
>PT12H</
escalation
>
<
substitute
>jsmith</
substitute
>
<
deadline
>PT24H</
deadline
>
<
responsible
>jsauer</
responsible
>
<
description
>Select each item and fix any rules that failed in the Quality Status tab. Go back up to the task level, select Actions,Complete</
description
>
<
workflowServiceEndpoint
>StepWorkflowClassic-Trigger</
workflowServiceEndpoint
>
<
enterStatus
>OnDqResults</
enterStatus
>
<
executeDq
>Always</
executeDq
>
<
dqService
>ExecuteDqOneChannel-Process</
dqService
>
<
dqChannel
>Channel 1</
dqChannel
>
<
nextStep
>STEP:2</
nextStep
>
</
step
>
<
step
>
<
id
>2</
id
>
<
entity
>Article</
entity
>
<
uiTemplate
>Item approve UI</
uiTemplate
>
<
classicTask
>Standard User Classic Task</
classicTask
>
<
userType
>userGroup</
userType
>
<
userName
>Standardusers</
userName
>
<
resetTask
>true</
resetTask
>
<
escalation
>P2D</
escalation
>
<
substitute
>jsauer</
substitute
>
<
deadline
>P4D</
deadline
>
<
responsible
>pim</
responsible
>
<
description
>This task is testing StepWorkflow using classic, or standard, tasks.</
description
>
<
workflowServiceEndpoint
>StepWorkflowClassic-Trigger</
workflowServiceEndpoint
>
<
enterStatus
>OnDqResults</
enterStatus
>
<
executeDq
>Always</
executeDq
>
<
dqService
>ExecuteDqOneChannel-Process</
dqService
>
<
dqChannel
>Channel 2</
dqChannel
>
<
nextStep
>STEP:3</
nextStep
>
</
step
>
<
step
>
<
id
>3</
id
>
<
entity
>Article</
entity
>
<
workflowStatus
>Approve</
workflowStatus
>
<
description
>Approval</
description
>
<
userType
>userGroup</
userType
>
<
userName
>Standardusers</
userName
>
<
uiTemplate
>Item approve UI</
uiTemplate
>
<
executeDq
>Never</
executeDq
>
<
singleChoice
>true</
singleChoice
>
<
rejectDecision
>
<
id
>p360.bpm.reject.STEP:1</
id
>
<
label
>Send task back to supplier</
label
>
</
rejectDecision
>
<
rejectDecision
>
<
id
>p360.bpm.reject.STEP:2</
id
>
<
label
>Send task back to Standardusers</
label
>
</
rejectDecision
>
<
rejectFieldDescriptor
>Article.CurrentStatus</
rejectFieldDescriptor
>
<
rejectFieldValue
>100</
rejectFieldValue
>
</
step
>
</
workflow
>
</
imp
:payload>
Detailed explanation of the steps
Step 1
This step will run a dq execution on channel "Chanel 1". If the result of this execution is false a classic task for the supplier will be created and the items will be put into this task.
Key |
Value |
Description |
id |
1 |
Identifier of the step. |
entity |
Article |
Entity container for this workflow. |
batchsize |
1000 |
Batch size to use with trigger batching. |
getField |
Article.MainSupplier->Party.Name |
List of any fields directly on the entity that will be required. These entries must be fully qualified. |
getField |
Article.CatalogProxy->SupplierCatalog.Supplier->Party.Name |
List of any fields directly on the entity that will be required. These entries must be fully qualified. |
uiTemplate |
Item approve UI |
This is the default UI of the task. |
classicTask |
Supplier Classic Task |
Name of the classic task. |
userType |
supplier |
Type of the task. In this case a supplier task will be created. |
escalation |
PT12H |
The escalation date of the task will be set to 12 hours after the creation data. |
substitute |
jsmith |
Substitute user of this task. |
deadline |
PT24H |
The deadline date of the task will be set to 1 day after the creation data. |
responsible |
jsauer |
Responsible user for this task. |
description |
Select each item .... |
Description of the task. |
workflowServiceEndpoint |
StepWorkflowClassic-Trigge |
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 the task. In this case only when dq fails! |
executeDq |
Always |
The circumstances when a DQ should be run. In this case always! |
dqService |
ExecuteDqOneChannel-Process |
This bpel service from InfaNextSteps executes a channel dq validation |
dqChannel |
Channel 1 |
Name of the DQ channel which will be executed. |
nextStep |
STEP:2 |
Identifier of the next step, The item will be moved to the next step, when this step is finished. |
Step 2
This step will run a dq execution on channel "Chanel 1 2". If the result of this execution is false a classic task for the usergroup "Standardusers" will be created and the items will be put into this task.
Key |
Value |
Description |
... |
... |
Same keys and values than step 1. |
id |
2 |
Identifier of the step. |
classicTask |
Standard User Classic Task |
Name of the classic task. |
userType |
userGroup |
Type of the task. In this case a classic task for a user group will be created. |
userName |
Standardusers |
Name of the user group. |
resetTask |
True |
If reset tasks is true, then the create date of the task will be the current date-time. If it is not set, then the new task will have the same create date-time as the original task. |
escalation |
P2D |
The escalation date of the task will be set to 2 days after the creation data. |
substitute |
jsmith |
Substitute user of this task. |
deadline |
P4D |
The deadline date of the task will be set to 4 days after the creation data. |
responsible |
jsauer |
Responsible user for this task. |
description |
Select each item .... |
Description of the task. |
enterStatus |
OnDqResults |
The circumstances when an item should enter the task. In this case only when dq fails! |
executeDq |
Always |
The circumstances when a DQ should be run. In this case always! |
dqService |
ExecuteDqOneChannel-Process |
This bpel service from InfaNextSteps executes a channel dq validation |
dqChannel |
Channel 2 |
Name of the DQ channel which will be executed. |
nextStep |
STEP:3 |
Identifier of the next step, The item will be moved to the next step, when this step is finished. |
Step 3
Approve step with possibilty to reject.
Key |
Value |
Description |
id |
3 |
Identifier of the step. |
entity |
Article |
Entity container for this workflow. |
workflowStatus |
Approve |
Status name within the Product 360 workflow. ==> Product 360 task name = [Workflow] - [Status] - [Catalog] |
description |
Approval |
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. |
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 |
Never |
The circumstances when a DQ should be run. In this case never! |
singleChoice |
true |
This is for Rejects only and determines if you can have more than one choice. ==> The workflow can be rejected to a previous step. |
<rejectDecision>id |
p360.bpm.reject.STEP:1 |
Identifier of the 1st reject step. |
<rejectDecision>label |
Send task back to supplier |
Label of the 1st rejection. This label will show up in the UI. |
<rejectDecision>id |
p360.bpm.reject.STEP:2 |
Identifier of the 2nd reject step. |
<rejectDecision>label |
Send task back to Standardusers |
Label of the 2nd rejection. This label will show up in the UI. |
rejectFieldDescriptor |
Article.CurrentStatus |
Field which will be modified if the item will be rejected. |
rejectFieldValue |
100 |
This value will be set during ejection. |