Process keys uniquely assign process instance fragments to a process instance. Process instance fragments with identical process keys are written unlinked to a process instance.
Process keys can be created efficiently by selecting process instance-specific attribute values (e.g. Order number or Processing number).
When importing, at least one process key must be created for each process fragment.
Example
The file extract defines a process key rule, which uses the AT_AUFTRAGSNUMMER attribute type for the EVT_START and EVT_END events to create the process key.
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE keyrules SYSTEM "keyrules.dtd">
<keyrules>
...
<processkeyrule>
<refobjects>
<refobject objecttype="OT_EVT">
<objectname name="EVT_START"/>
<objectname name="EVT_END"/>
</refobject>
</refobjects>
<keyparts>
<keypart attributetype="AT_AUFTRAGSNUMMER"/>
</keyparts>
</processkeyrule>
...
</keyrules>
Warning
Process fragment instances, for which no process key can be calculated, are not imported as they cannot be assigned to a process instance. A warning message is output.
Retain all process attributes when merging
By default, when merging two process instances only the process attributes of the most recent fragment (imported later) are retained in the resulting fragment.
When merging two process instance fragments, if the combined set of process attributes for both fragments is to be transferred to the merged fragment, you need to overwrite the default behavior by specifying the ZRetainingProcessAttributesPMAlgo class. The following file extract illustrates the merge configuration:
...
<mergerconfig>
<mergehandling>
<processmerge>
<algorithm classname="com.idsscheer.ppm.server.
merger.merger.impl.ZRetaining
ProcessAttributesPMAlgo"/>
</processmerge>
...
</mergehandling>
</mergerconfig>
...
The Java class used is a component of the standard PPM installation.