Ein eBiss Feature, mit dem man im Mapping Differenzen eines Dokumentes zu seinem vorherigen Zustand erkennen und so abbilden kann, dass aus dem Mapping heraus dann nur noch die Teile des Datentyps weitergegeben werden, die sich tatsächlich geändert haben, oder gelöscht wurden. Dies kann z.Bsp. dann gebraucht werden wenn zwei System integriert werden sollen, aber die Referentielle Integrität mittels eBiss gewährleistet werden soll.
Hinweis: Zum löschen veralterter Dokumente in diesem Kontext gibt es den StatefulDocumentMessageCollector.
Primäre Anwendung findet dieses Funktionalität in der Integration von Anwendungen, also bei A2A1). Kann aber auch im EDI Umfeld eingesetzt werden.
Zum Beispiel erwartet ein gegebenes CRM System die Daten auf Einzelendpunkten pro Angebotskopf und Position getrennt und jeweils nur das, was verbucht werden soll.
Auf Seite des verbuchenden Systems vereinfacht dies die Schnittstelle enorm, denn man kann nun direkt an jedem Datensatz mitgeben, ob es ein Update/Insert oder eine Löschung ist, ohne dass das empfangende System dies zuvor ermitteln und selbst den Abgleich vornehmen muss.
Der Rest wird mit eBiss Bordmitteln erledigt. Die Funktion LoadDocumentByOid lädt den vorherigen Stand des Dolkumentes zum Abgleich. Die Variablen mit „$$“ speichern die kompletten Bäume zur Abfrage. Die simple Abfrage ob die Position im alten Dokument im neuen nicht mehr vorkommt, erledigt den Delete Fall
Hat das Dokument eine Änderung? Dann:
Ein Beispiel für ein DiffMapping befindet sich im Ordner ../eBiss3/StandardTemplates/DiffMapping (mit Kommentaren), so wie auch Beispieldaten für die 3 Varianten und ein Repository zum Testen.