Datensätze werden durch Zusammenfügung aktualisiert
Mit der Option zum Zusammenfügen können Sie vorhandene Datensätze der Zieltabelle aktualisieren, wenn Sie Importdaten transformieren.
Mit der Option zum Zusammenfügen in einer Feldzuordnung können Sie angeben, ob das ausgewählte Zielfeld zum Zusammenfügen verwendet werden soll, wenn Importsatz-Datensätze transformiert werden. Wenn das Kontrollkästchen „Zusammenfügen“ der Feldzuordnung aktiviert ist und die Importsatzzeile transformiert wird, sucht die Instanz nach einem vorhandenen Datensatz in der Zieltabelle, der denselben Wert im Feld „Ziel“ aufweist wie das Quellfeldder Importsatzzeile. Eine schrittweise Anleitung finden Sie unter Feldzuordnung erstellen.
Zusammenfügungsoptionen
Es gibt mehrere mögliche Konfigurationen, mit denen Sie Daten in Importsätzen zusammenfügen können.
Keine Zusammenfügung
Wenn keine Zusammenfügung definiert ist, werden alle importierten Zeilen als neue Datensätze behandelt. Es werden keine vorhandenen Datensätze aktualisiert.
Einzelfeldzusammenfügung
Sie können in einem einzelnen Feld zusammenfügen, um einen vorhandenen Datensatz zu aktualisieren.
Wenn ein Zieltabellendatensatz mit demselben Wert im Zusammenfügungsfeld wie der Bereitstellungstabellendatensatz vorhanden ist, wird der Zieltabellendatensatz mit den Datensatzwerten des Importsatzes aktualisiert.
Zusammenfügung mehrerer Felder
Sie können mehrere Felder zusammenfügen, um einen vorhandenen Datensatz zu aktualisieren.
Wenn ein Zieltabellendatensatz mit denselben Werten in allen zusammengefügten Feldern wie der Bereitstellungstabellendatensatz vorhanden ist, wird der Zieltabellendatensatz mit den Werten des Bereitstellungstabellendatensatzes aktualisiert. Alle zusammengefügten Feldwerte zwischen den Ziel- und Bereitstellungstabellen müssen übereinstimmen, damit sie mit mehreren Feldern zusammengefügt werden können.
Bedingte Zusammenfügung
Sie können ein Skript verwenden, um zu bestimmen, ob eine Bereitstellungstabellenzeile zu einem Zieldatensatz zusammengefügt werden soll.
Die meisten bedingt zusammenzufügenden Skripts sind im Feld Quellskript einer Feldzuordnung für das Feld sys_id definiert. Um einen Zieldatensatz anhand der Datensatzwerte der Bereitstellungstabelle zu aktualisieren, muss das Skript die sys_id des Zieltabellendatensatzes zurückgeben.
Beispielskripts für bedingte Zusammenfügung
Überprüfen Sie Beispiele für bedingt zusammengefügte Skripts.
Nur Updates
Um nur Datensätze zu aktualisieren, in denen eine Übereinstimmung gefunden wurde, und Datensätze zu überspringen, in denen keine Übereinstimmung gefunden wurde, geben Sie ein Zusammenfügungsfeld an, und fügen Sie der Transformationszuordnung das folgende Skript als onBefore -Skript hinzu.
if (action == 'insert')
ignore = true;
Bedingte Koaleszenz per Dot-Walking
Sie können Dot-Walking-Felder in einem bedingt zusammenfügen Skript verwenden, z. B. um beim Importieren von Incident-Daten die E-Mail-Adresse eines Benutzers abzugleichen.
In diesem Beispiel ist das Skript im Quellskript einer Feldzuordnung für das Feld sys_id der Incident-Zieltabelle definiert.
var gr = new GlideRecord('incident');
gr.addQuery('caller_id.email', source.u_email); //check if the incident caller's email matches the import row email value
gr.query();
if(gr.next())
{
answer = gr.sys_id; //if a match exists, return the sys_id of the matching Incident record
}
else
{
answer= -1;
}
Bedingte Koaleszenz mit einer ODER-Bedingung
Sie können ein bedingt zusammenfügendes Skript verwenden, um Quell- und Zieldatensätze basierend auf mehreren Feldwerten abzugleichen. Anders als bei der Zusammenfügung mehrerer Felder, bei der alle zusammengefügten Felder übereinstimmen müssen, können Sie ein Skript so angeben, dass nur eines der Felder übereinstimmen muss.
In diesem Beispiel ist das Skript im Quellskript einer Feldzuordnung für das Feld sys_id der Benutzerzieltabelle definiert.
var gr = new GlideRecord('sys_user');
var qc = gr.addQuery('email', source.u_email); //first check if the user's email matches
qc.addOrCondition('user_name', source.u_name); //alternatively, check if the username matches
gr.query();
if(gr.next())
{
answer = gr.sys_id; //if a match exists, return the sys_id of the matching User record
}
else
{
answer = -1;
}
Zusammenfügungsfeldwerte unter Beachtung der Groß-/Kleinschreibung
Sie können steuern, ob ein Importsatz bei übereinstimmenden Werten mit verschiedenen Fällen zusammengefügt wird.
Mit der Feldzuordnung „ Groß-/Kleinschreibung beachten “ können Sie Feldwerte anhand der Groß-/Kleinschreibung zusammenfügen.
Standardmäßig werden Felder, die in der Feldzuordnung als Koaleszen markiert sind, bei einer Suche nach vorhandenen Datensätzen ohne Berücksichtigung von Groß-/Kleinschreibung verwendet. Wenn das Kontrollkästchen Klein-/Kleinschreibung beim Zusammenfügen aktiviert ist, versucht die Instanz, die Feldwerte nach Groß-/Kleinschreibung zusammenzufügen. Der Zieltabellendatensatz wird nur aktualisiert, wenn der Wert im Zieldatensatz und der Importsatz-Bereitstellungsdatensatz denselben Wert und dieselbe Groß-/Kleinschreibung aufweisen. Andernfalls wird ein neuer Datensatz erstellt.
In leeren Feldern zusammenfügen
Sie können steuern, ob ein Importsatz in Feldern ohne Wert zusammengefügt wird.
Über das Feld „ Leere Felder zusammenfügen “ können Sie Felder ohne Wert zusammenfügen.
Standardmäßig führen Felder, die in der Feldzuordnung als Zusammenfügen markiert sind, dazu, dass der Importsatz nach einem Zieldatensatz mit einem Feldwert sucht, der dem Wert aus dem Bereitstellungsdatensatz des Importsatzes entspricht. Wenn „Leere Felder zusammenfügen“ für diese Feldzuordnung ausgewählt ist, gilt ein leerer Wert im Zieldatensatz und im Importsatz-Bereitstellungsdatensatz als Übereinstimmung zum Zweck der Zusammenfügung.
Beispielsweise wird die Transformationszuordnung für Benutzer im Feld „E-Mail“ zusammengefügt. Wenn die Option Leere Felder zusammenfügen ausgewählt ist, wird ein Quelldatensatz, der eine leere E-Mail-Adresse enthält, zu einem Zieldatensatz zusammengefügt, der eine leere E-Mail-Adresse enthält.