Kombination von Merge-Verfahren

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.