Zuordnungsoptionen
Sie können Felder auf verschiedene Arten zuordnen, abhängig von den Umständen des Imports und davon, ob Daten vor dem Laden in eine Produktionstabelle transformiert werden müssen.
Es ist auch wichtig zu beachten, dass für einen bestimmten Importvorgang möglicherweise mehrere Zuordnungsmethoden verwendet werden müssen, und diese Methoden können problemlos in Verbindung miteinander verwendet werden.
Automatisches Zuordnungsdienstprogramm
Die einfachste Zuordnungsmethode besteht darin, dass alle Feldnamen der Importsätze mit den Namen der Felder in den Produktionstabellen übereinstimmen, in die die Daten umgewandelt werden. Klicken Sie in diesem Fall einfach auf Übereinstimmende Felder automatisch zuordnen in der zugehörigen Liste im Formular „Tabellentransformationszuordnung“, und bestätigen Sie die korrekte Zuordnung. Wenn es Diskrepanzen hinsichtlich der automatischen Zuordnung von Feldern gibt, verwenden Sie das Zuordnungshilfe-Dienstprogramm, um sie zu korrigieren. Wenn alle Felder richtig abgeglichen wurden, klicken Sie auf den zugehörigen Link Umwandeln, um mit der Umwandlung von Daten in die Zieltabelle zu beginnen.
Zuordnungsassistent-Dienstprogramm
Ändern des Datumsformats
| Datumsformat | Beschreibung |
|---|---|
| TT-MM-JJJJ | Tag-Monat-Jahr |
| TT-MM-JJJJ hh:mm:ss | Tag-Monat-Jahr Stunden-Minuten-Sekunden |
| TT-MM-JJJJ hh:mm:ss z | Tag-Monat-Jahr Stunden-Minuten-Sekunden Zeitzone |
| MM-TT-JJJJ | Monat-Tag-Jahr |
| MM-TT-JJJJ hh:mm:ss | Monat, Tag, Jahr, Stunden, Minuten, Sekunden |
| MM-TT-JJJJ hh:mm:ss z | Monat-Tag-Jahr Stunden-Minuten-Sekunden Zeitzone |
| JJJJ-TT-MM | Jahr-Tag-Monat |
| JJJJ-MM-TT | Jahr-Monat-Tag |
| jjjj-MM-tt hh:mm:ss | Jahr-Monat-Tag Stunden-Minuten-Sekunden |
Um das 24-Stunden-Zeitformat anzugeben, geben Sie ein benutzerdefiniertes Datumsformat mit HH:mm:ss anstelle von hh:mm:ss an.
Die Konvertierung von einem 24-Stunden- in ein 12-Stunden-Datumsformat kann dazu führen, dass Zeiten von 12:00 bis 23:59 als 00:00 bis 11:59 formatiert werden.
Zuordnung zu einem Dauerfeld
- Berechnen Sie die Dauer aus einem Start- und Enddatum
- Konvertieren Sie einen vorhandenen Wert für die Dauer in einen Wert für die Dauer von ServiceNow .
Berechnung eines Dauerwerts aus einem Start- und Enddatum
- Navigieren zu .
- Wählen Sie die Transformationszuordnung aus, für die Sie einen Dauerwert berechnen möchten. Zum Beispiel die Benachrichtigungs-Transformationszuordnung, die in die Incident-Tabelle importiert wird.
- Aktivieren Sie das Kontrollkästchen Skript ausführen.
- Geben Sie JavaScript ein, um das Start- und Enddatum in eine Dauer umzuwandeln. Siehe Beispielskript.
- Klicken Sie auf Aktualisieren.
target.duration = gs.dateDiff(source.u_start.getDisplayValue(), source.u_end.getDisplayValue(), false);Konvertieren Sie einen Dauerwert in einen ServiceNow-Dauerwert
- Navigieren zu .
- Wählen Sie eine Transformationszuordnung aus.
Zum Beispiel die Benachrichtigungs-Transformationszuordnung, die in die Incident-Tabelle importiert wird.
- Aktivieren Sie das Kontrollkästchen Skript ausführen.
- Geben Sie JavaScript ein, um vorhandene Dauerwerte in Werte für die Dauer von ServiceNow zu konvertieren. Siehe Beispielskript.
- Klicken Sie auf Aktualisieren.
//Transform the value in source.u_duration from seconds to milliseconds
target.duration.setDateNumericValue(source.u_duration * 1000);//Transform the value in source.u_duration to ServiceNow format
target.duration.setDateNumericValue(source.u_duration);Verwenden eines Skripts zum Berechnen eines Quellwerts
- Der Quellwert hat nicht das Format für den zugeordneten Zielwert.
- Sie möchten einen Wert suchen, bevor Sie ihn dem Zielfeld zuordnen.
- Der Quellwert muss aus mehreren Feldern berechnet werden.
- Sie müssen im Zielfeld einen zusammengesetzten oder berechneten Zusammenfügungswert erstellen.
Ein Quellskript erwartet, dass der berechnete Wert in der globalen Variablen answerfestgelegt wird.
Binär- oder BLOB-Felder werden zugeordnet
ServiceNow verwendet einen speziellen Prozess, um binäre Daten und BLOB-Daten (Binary Large Object) aus JDBC-Datenquellen zu importieren. Alle binären Daten werden vor der Transformation automatisch in einen Datensatz in der Anhangtabelle [sys_attachment] konvertiert. Die Import Set-Tabelle speichert nur den sys_id-Wert des Anhangdatensatzes im Importtabellenfeld anstelle des tatsächlichen Binärwerts. Angenommen, Sie verwenden eine JDBC-Datenquelle , um Daten aus einem CA Service Desk-System zu importieren, das den Schlüsselwert jedes Datensatzes als Binärdaten speichert. Wenn Sie die Service Desk-Schlüsselwerte in eine Tabelle ServiceNow ] importieren, enthält das Feld ServiceNow nur eine sys_id-Referenz auf die entsprechenden Binärdaten in der Tabelle „Anhangdatensatz“ [sys_attachment] und nicht auf die tatsächlichen Binärdaten.
onAfter -Skript. Das Skript muss in einem onAfter -Ereignis ausgeführt werden, da das Objekt target.sys_id erst verfügbar ist, nachdem die Daten in der Import Set-Tabelle abgelegt wurden. Um beispielsweise den resultierenden Anhang dem Zieltransformationsdatensatz zuzuordnen, können Sie das folgende Skript verwenden.var agr = new GlideRecord("sys_attachment");
agr.addQuery("sys_id", source.u_blob_field);
// the source field needs to be mapped to the source that is the BLOB
agr.query();
if(agr.next()) {
agr.table_name = "cmdb_ci"; // the target table of the transform map
agr.table_sys_id = target.sys_id; // the target record
agr.content_type = source.u_contentype;
// the content type string if available,
// this becomes the mime encoding when clicking an attachment link
agr.update(); // finally, move/re-attach the attachment to the target row }db_image vornehmen, führen Sie das folgende onAfter- Skript aus, um das Bild anzuzeigen:var strTemp = source.u_file_name;
var fType = strTemp.substr(- 3);
var iCont = "" ;
if(fType == 'jpg') {
iCont = 'jpeg' ; }
else {
iCont = fType; }
var agr = new GlideRecord("sys_attachment");
agr.addQuery("sys_id", source.u_blob_field);
agr.query();
if(agr.next()) {
agr.table_name = "ZZ_YYdb_image";
agr.table_sys_id = target.sys_id;
agr.content_type = 'image/' + iCont;
agr.file_name = 'image';
agr.update(); }