Description
The Data Object is specified for the Process Element but the Data Object source does not exist.
Context
Derived from: “Missing Data” BPM anti-pattern.
Cause
Lack of architecture enforcement. Sometimes, those who generate specifications and requirements don’t necessarily have real experience with those EA systems. Creating a simple element is so much easier than making a whole new extended component, right?
Consequences
Element can not be continued, due to missing data.
Solution
If the component has a single responsibility, try to better model it as part of an existing component. Frequently, components designed as helper elements to another components are better off being combined into the base component they assist. Attempt to logically combine several elements into a new component that satisfies a design objective with a broader domain concept than the previous fine-grained ones.
Example
The “Business Process k” accesses the data source to retrieve the data x, but the data is deleted several steps earlier by “Business Process i.”
Cypher query
MATCH (startNode:BusinessProcess) where any (x in keys(startNode) where x in [$delete]) <br /> WITH startNode <br /> MATCH (endNode:BusinessProcess) <br /> WHERE ANY ( x in keys(endNode) where x in [$read]) and startNode[$delete] = endNode[$read] WITH startNode, endNode<br /> WITH startNode, endNode <br /> CALL apoc.path.expandConfig(startNode,{relationshipFilter:"TriggeringRelationship>|FlowRelationship>|AssociationRelationship>", <br /> minLevel: $minLevel, <br /> maxLevel: $maxLevel, <br /> terminatorNodes:[endNode] <br /> }) <br /> YIELD path AS p <br /> RETURN pCypher count query
MATCH (startNode:BusinessProcess) where any (x in keys(startNode) where x in [$delete]) <br /> WITH startNode <br /> MATCH (endNode:BusinessProcess) <br /> WHERE ANY ( x in keys(endNode) where x in [$read]) and startNode[$delete] = endNode[$read] WITH startNode, endNode<br /> WITH startNode, endNode <br /> CALL apoc.path.expandConfig(startNode,{relationshipFilter:"TriggeringRelationship>|FlowRelationship>|AssociationRelationship>", <br /> minLevel: $minLevel, <br /> maxLevel: $maxLevel, <br /> terminatorNodes:[endNode] <br /> }) <br /> YIELD path AS p <br /> RETURN COUNT (DISTINCT startNode)Diagram

Aliases
Decomposition
Tags
Data-flow related defects, Process
Query parameters
[
{
"name": "delete",
"type": "string",
"default": "delete",
"description": "Property that specifies the deletion of certain data."
},
{
"name": "read",
"type": "string",
"default": "read",
"description": "Property that specifies the retrieval of certain data."
},
{
"name": "minLevel",
"type": "number",
"default": 2,
"description": "The minimum length of the path for detection."
},
{
"name": "maxLevel",
"type": "number",
"default": 5,
"description": "The maximum length of the path for detection."
}
]