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

images/download/attachments/425636021/Example_09.png

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

Example 1
<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.