Um Fragmente unter Verwendung verschiedener Verfahren zusammenführen zu können, müssen
Sie mehrere Merge-Verfahren definieren. Hierfür wird die Merger-Konfiguration (XML-Element
eventmerge) um die Attribute key und priority erweitert.
Der Wert des Attributs key bestimmt den Namen des Merge-Verfahrens und wird vom Graphattribut AT_INTERNAL_EVENT_MERGE_MODE zu importierender Fragmente referenziert. Werden während eines Importvorgangs Fragmente
mit verschiedenen Merge-Verfahren zusammengeführt, wird das Verfahren mit der niedrigeren
Priorität (XML-Element priority) verwendet.
Für Fragmente, die das Attribute AT_INTERNAL_EVENT_MERGE_MODE nicht gepflegt haben, wird das Merge-Standardverfahren verwendet. Das Standardverfahren ist dasjenige, das in der Merge-Konfiguration ohne Angabe eines Schlüssels definiert ist.
Warnung
Geben Sie für alle Merge-Verfahren unterschiedliche Prioritäten an.
Um das für verschiedene System-Event-Typen anzuwendende Merge-Verfahren zu spezifizieren, geben Sie an den Fragmentdefinitions-EPKs im Prozessattribut AT_INTERNAL_EVENT_MERGE_MODE den Schlüssel des gewünschten Merge-Verfahrens an. Alle mit dieser Fragmentdefinition importierten System-Events werden dann automatisch mit dem angegebenen Verfahren zusammengeführt.
Warnung
Wenn das im zu importierenden Fragment angegebene Merge-Verfahren nicht existiert, wird das Fragment nicht importiert und eine Fehlermeldung ausgegeben. Die Fehlermeldung wird auch an das entsprechende Fragment im Attribut AT_MERGE_ERROR_MESSAGE gespeichert. Zusätzlich wird das Attribut AT_MERGE_ERROR_FLAG mit Wert true geschrieben.
Beispiel
Für den Datenimport wird folgende Merge-Konfiguration verwendet, die 3 Verfahren definiert:
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE mergerconfig SYSTEM "mergerconfig.dtd">
<mergerconfig>
<mergehandling>
<eventmerge priority="10">
<mode>
<keymerge/>
</mode>
</eventmerge>
<eventmerge key="SORTMERGE_ID" priority="3">
<mode>
<sortmerge>
<criterion name = "AT_ID" />
</sortmerge>
</mode>
</eventmerge>
<eventmerge key="SORTMERGE_DATE" priority="4">
<mode>
<sortmerge>
<criterion name = "AT_START_TIME" />
</sortmerge>
</mode>
</eventmerge>
</mergehandling>
</mergerconfig>
Fragmente ohne Attribut AT_INTERNAL_EVENT_MERGE_MODE werden unter Verwendung des schlüsselbasierten Merge zusammengeführt. Fragmente, die das Attribut mit Wert SORTMERGE_ID gepflegt haben, werden ordnugsbasiert nach dem Funktionsattribut AT_ID zusammengeführt. Fragmente mit Attributwert SORTMEGRE_DATE werden ordnugsbasiert nach dem Funktionsattribut AT_START_TIME zusammengeführt.