Zuordnungsoptionen

  • Freigeben Version: Washingtondc
  • Aktualisiert 1. Februar 2024
  • 5 Minuten Lesedauer
  • 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

    Das Dienstprogramm zur Zuordnungshilfe bietet eine visuell intuitive Umgebung zum Angeben der Zuordnung zwischen Import Set-Feldern und Produktionstabellenfeldern. Das Dienstprogramm zur Zuordnungsunterstützung ermöglicht die Zuordnung eines einzelnen Quellfelds (Feld in einer Import Set-Tabelle) zu mehreren Zielfeldern (Felder in einer Produktionstabelle).
    Abbildung : 1. Zuordnungsassistent

    Ändern des Datumsformats

    Wenn das Datumsformat des Quellfelds nicht mit dem Format des Zielfelds übereinstimmt, können Sie eine Datumsformatzuordnung festlegen, um Datumsangaben von einem Format in ein anderes umzuwandeln. Diese Zuordnung gibt beispielsweise an, dass das Datumsformat der CSV-Quelldatei das Format MM-TT-JJJJ verwendet.
    Abbildung : 2. Datumsformat der Feldzuordnung
    Abbildung : 3. Datumsformatoptionen für Feldzuordnung
    Datumsformatoptionen umfassen:
    Tabelle : 1. Zuordnungsoptionen
    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.

    Hinweis:

    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

    ServiceNow -Dauerfelder verwenden einen speziellen Datentyp, der die Anzahl der Millisekunden auflistet, die der Wert für die Dauer angibt. Um Importdaten einem Dauerfeld zuzuordnen, verwenden Sie eine der folgenden Methoden, um Quellwerte in eine Dauer umzuwandeln.
    • 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

    Wenn die Importquelle ein Start- und Enddatum hat, können Sie die Dauer mit JavaScript berechnen.
    1. Navigieren zu System-Importsätze > Transformationszuordnungen.
    2. 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.
    3. Aktivieren Sie das Kontrollkästchen Skript ausführen.
    4. Geben Sie JavaScript ein, um das Start- und Enddatum in eine Dauer umzuwandeln. Siehe Beispielskript.
    5. Klicken Sie auf Aktualisieren.
    Dieses Beispielskript wandelt die Felder source.u_start und source.u_end in einen Wert für die Dauer im Feld target.duration um. Ändern Sie die Feldnamen nach Bedarf so, dass sie Ihren Quell- und Zielfeldern entsprechen.
    target.duration = gs.dateDiff(source.u_start.getDisplayValue(), source.u_end.getDisplayValue(), false);

    Konvertieren Sie einen Dauerwert in einen ServiceNow-Dauerwert

    Wenn die Importquelle bereits ein Startdatum und einen Dauerwert enthält, können Sie die vorhandene Dauer in eine Dauer von ServiceNow konvertieren. Beispielsweise könnten Sie eine Excel-Datenquelle haben, die eine Dauer in Sekunden auflistet. ServiceNow erwartet für die Dauer Millisekundenwerte.
    1. Navigieren zu System-Importsätze > Transformationszuordnungen.
    2. Wählen Sie eine Transformationszuordnung aus.

      Zum Beispiel die Benachrichtigungs-Transformationszuordnung, die in die Incident-Tabelle importiert wird.

    3. Aktivieren Sie das Kontrollkästchen Skript ausführen.
    4. Geben Sie JavaScript ein, um vorhandene Dauerwerte in Werte für die Dauer von ServiceNow zu konvertieren. Siehe Beispielskript.
    5. Klicken Sie auf Aktualisieren.
    Dieses Beispielskript konvertiert eine Dauer in Sekunden (aus dem Feld source.u_duration ) in eine Dauer in Millisekunden (im Feld target.duration ). Ändern Sie die Feldnamen nach Bedarf so, dass sie Ihren Quell- und Zielfeldern entsprechen.
    //Transform the value in source.u_duration from seconds to milliseconds
    target.duration.setDateNumericValue(source.u_duration * 1000);
    Dieses Beispielskript konvertiert eine Dauer, die bereits in Millisekunden angegeben ist (aus dem Feld source.u_duration ), in eine Dauer ServiceNow (im Feld target.duration ). Ändern Sie die Feldnamen nach Bedarf so, dass sie Ihren Quell- und Zielfeldern entsprechen.
    //Transform the value in source.u_duration to ServiceNow format
    target.duration.setDateNumericValue(source.u_duration);

    Verwenden eines Skripts zum Berechnen eines Quellwerts

    In folgenden Fällen empfiehlt es sich, anstelle des Felds Quelle ein Quellskript zu verwenden:
    • 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.
    Dieses Beispiel-Quellskript berechnet beispielsweise den Wert des Felds user_name, wenn es in der Quelle leer ist.
    Abbildung : 4. Quellskript der Feldzuordnung

    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.

    Damit eine Transformationszuordnung auf den Anhang zugreift, verwenden Sie die GlideRecord- API in einem 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 }
    Wenn Sie eine direkte Zuordnung zur Tabelle 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(); }