Merge mode "Update"

In Update merge mode the process attributes of the newer (last imported) process instance are merged with the process attributes of the older process instance. The same applies to functions with function attributes and associated organizational units.

Time of import at the attribute level

The time of import is the factor in Update mode which determines which object is newer. The time of import is recorded for process instances, functions, events, organizational units (each as AT_ORIG_EPK_ID), and at the attribute level. After import, each attribute's time of import is known. The time of import is written to the imported EPC during XML import or process import.

If the time of import is unknown for an attribute (e.g., for inventory data imported in Replace merge mode) the time of import of the object (function, process, etc.) that the attribute is assigned to is used.

Additive merge at the function level

If two functions with identical internal object keys are identified during the merge they will be merged as follows.

  1. The newer function (last imported) including its attributes and organizational units will be transferred to the merged process instance.
  2. All attributes of the old function are copied to the new function. If an attribute exists at both functions the attribute of the old function will be copied if it is newer.
  3. All organizational units of the old and the new function will be merged. The following chapter describes the merging of organizational units.

Organizational units

When merging two functions all organizational units of the old function are copied to the new function. If the same organizational unit exists at both functions the newer organizational unit including its associated connection and attributes will be retained. In this case, attributes of the connection assigned to the older organizational unit and attributes of the older organizational unit will not be transferred.

Equality of organizational units

  1. During the merge, the AT_OBJNAME attribute determines if two non-anonymized organizational units are identical.

    For an anonymized organizational unit (i.e., its original object name was changed) to be identified as identical during a reimport, an internal object key AT_INTERNAL_OBJECT_KEY must exist at the organizational unit. The object key is defined using object key rules.

  2. Anonymized and non-anonymized organizational units are identical when the object key AT_INTERNAL_OBJECT_KEY matches.
  3. Two anonymized organizational units are identical when the object keys AT_OBJNAME and AT_INTERNAL_OBJECT_KEY match.

Time of import of the organizational unit

If no AT_ORIG_EPK_ID key is defined for an organizational unit the AT_ORIG_EPK_ID key of the associated function is used to determine the time of import of the organizational unit.

Additive merge at the process level

During the merge, all attributes of the newer and older process instance are copied to the resulting fragment. If an attribute exists at both process instances the newer attribute is transferred.

Additive merge at the event level

If two events with identical internal object keys are identified during the merge they will be handled like in Replace mode. This means that the newer event replaces the older event and that attributes of the older event are not transferred to the newer event.

Configuration

The DTD mergerconfig.dtd contains the Replace and Update modes for configuration.

<!ELEMENT processmerge ( algorithm?, mergeattributes?)>

<!ATTLIST processmerge

mode (replace|update) 'replace'

>

The mode attribute is optional, and if it is missing the Replace mode is applied by default.

The mode attribute is evaluated only if the default logarithm is set. This applies if the algorithm element is missing or is assigned the default class com.idsscheer.ppm.server.merger.merger.impl.ZDefaultProcessMergeAlgorithm.

In Update mode, merge attributes (mergeattributes) are not evaluated. If a configuration containing (non-empty) merge attributes is imported with the Update mode attribute a corresponding message is output.

Change the merge mode

You can change the merge mode anytime via the merge configuration. This means that you can switch existing clients in Replace mode to Update mode.

The list of merge attributes is not used in Update merge mode.

Shared fragment

For the merge of two shared fragments in Update mode when using the default algorithm (ZDefaultSharedFragmentMergeAlgorithm) the same merge mode is automatically used that is also specified in the merge configuration for the merge of two normal fragments.

Special attributes

Special attributes (for example, internal PPM attributes or attributes such as AT_IS_SHARED_FUNCTION) in Update mode are handled like all other attributes.

Process typification

To transfer process type information directly from the source system in Update mode (without typification rules), the attributes AT_INTERNAL_PROCTYPE and AT_INTERNAL_PROCTYPEGROUP including typification information (process type and process type group) must be specified.

Calculated attributes

Calculated attributes at the process or an functions are also copied by the Update mode.

If a calculated attribute of the old function is copied to the new function during the merge of two functions, and if that attribute is not calculated later, the older, calculated value would exist at the merged function.

If you wish to turn off this behavior you need to set the parameter calcattr delete=yes for the calculation rule. If this parameter is set attributes that cannot be calculated will be deleted later.