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
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
<
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! |