Example 11 (1 Task with DQ checks)

The eleventh workflow puts items into a workflow task called “My first task”. The first step checks whether the urn value for workflow_11.active is true, if not, the workflow will end. If it is "true", it will move to the next step. The second step checks to see if the affected items have a Current Status of 100, or “01 New” on most systems. If it is not, then the items will not go into the task and the workflow will end. If so, it will move to the next step. The 3rd step updates the current status of the items to 200. The 4th step puts the item in the task.

Diagram for example 11

images/download/attachments/487621725/ex11-0.png

Explanation of the steps example 11

Step

Description

0

Check whether urn is set to true.

1

Check if the CurrentStatus of item is “01 New”

NoLongerNew

Update Current Status to something else/

2

Put the item into the task "My first task"

Product 360 prerequisites for example 11

Product 360 entity

value

UserGroup

Standardusers

Ui Template

Item approve UI

Article.CurrentStatus

100

ActiveVOS Console

value

Urn:workflow_11.active

true

Info

The DQ Service “dqValueCheck-Process” is used for both DQ’s. There are 3 elements of the rule: [TYPE] | [KEY] | [VALUE] The types of comparisons are not case sensitive and are:

* Descriptor: <dqRule>Descriptor|Article.CurrentStatus|100</dqRule>

* Name: <dqRule>Name|Status|100</dqRule>

* URN value: <dqRule> URN|urn:skip.merge.task|true</dqRule>

StepWorkflow.xml file for example 11

Example 11
<imp:payload xmlns:imp="http://www.informatica.com/schema/ItemMap" contentType="string">
<workflow>
<label>Example Workflow 11</label>
<identifier>Workflow_11</identifier>
<version>1.0</version>
<step>
<id>0</id>
<entity>Article</entity>
<enterStatus>Never</enterStatus>
<batchSize>5000</batchSize>
<executeDq>Always</executeDq>
<getField>Article.CurrentStatus</getField>
<dqService>dqValueCheck-Process</dqService>
<dqRule>urn|urn:workflow_11.active|true</dqRule>
<nextStep>STEP:1</nextStep>
</step>
<step>
<id>1</id>
<entity>Article</entity>
<enterStatus>Never</enterStatus>
<batchSize>5000</batchSize>
<executeDq>Always</executeDq>
<getField>Article.CurrentStatus</getField>
<dqService>dqValueCheck-Process</dqService>
<dqRule>descriptor|Article.CurrentStatus|100</dqRule>
<nextStep>STEP:NoLongerNew</nextStep>
<nextStep>STEP:2</nextStep>
</step>
<step>
<id>NoLongerNew</id>
<entity>Article</entity>
<updateFieldDescriptor>Article.CurrentStatus</updateFieldDescriptor>
<updateFieldValue>200</updateFieldValue>
</step>
<step>
<id>2</id>
<entity>Article</entity>
<workflowStatus>My first task</workflowStatus>
<description>My first workflow task</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>
</step>
</workflow>
</imp:payload>

Detailed explanation of the steps

Step 0

This step checks only whether the item is already in this workflow. If not the executed next step is 1. If yes the workflow will end because there is no next step defined.

Key

Value

Description

id

0

Identifier of the step.

entity

Article

Entity container for this workflow.

enterStatus

Never

The circumstances when an item should enter a status (task). In this case never!

dqService

dqValueCheck-Process

This DQ service is an additional bpel inside the StepWorkflow which checks whether the item is already inside this workflow or not.

dqRule

urn|urn:workflow_11.active|true

Checks to see if urn:workflow_11.active is “true”

nextStep

STEP:1

The item will be moved to the step with the identifier 1 if the above dq succeeds.

Step 1

This step checks to see if the Current Status is 100. If yes, the workflow will move to the next step2 defined as NoLongerNew and 2.

Key

Value

Description

id

1

Identifier of the step.

entity

Article

Entity container for this workflow.

enterStatus

Never

The circumstances when an item should enter a status (task). In this case never!

dqService

dqValueCheck-Process

This DQ service is an additional bpel inside the StepWorkflow which checks whether the item is already inside this workflow or not.

dqRule

descriptor|Article.CurrentStatus|100

Checks to see if Current Status is 100, or “01 New”

nextStep

STEP: NoLongerNew

STEP:2

The item will be moved to the step with the identifier 1 if the above dq succeeds.

Step NoLongerNew

This step updates the Current Status field.

Key

Value

Description

id

NoLongerNew

Identifier of the step.

entity

Article

Entity container for this workflow.

updateFieldDescriptor

Article.CurrentStatus

The descriptor for the field being updated.

updateFieldValue

200

The value to update the field with.

Step 2

This step puts the affected items in the "My first Task" task.

Key

Value

Description

id

2

Identifier of the step.

entity

Article

Entity container for this workflow.

workflowStatus

My first task

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

description

My first workflow task

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

Always

The circumstances when an item should enter a status (task). In this case always

userType

userGroup

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

userName

Standardusers

The service for the bpel process that will determine the user or usergroup to assign the task to.

executeDq

Never

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