Zuordnungsoptionen

  • Freigeben Version: Yokohama
  • Aktualisiert 30. Januar 2025
  • 5 Minuten Lesedauer
  • Abhängig von den Umständen des Imports und davon, ob Daten vor dem Laden in eine Produktionstabelle umgewandelt werden müssen, können Sie Felder auf verschiedene Arten zuordnen.

    Es ist auch wichtig zu beachten, dass für einen bestimmten Importvorgang möglicherweise mehrere Zuordnungsmethoden erforderlich sind und diese Methoden problemlos miteinander verwendet werden können.

    Dienstprogramm für automatische Zuordnung

    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 in der zugehörigen Liste im Formular „Tabellentransformationszuordnung“ auf Übereinstimmungsfelder automatisch zuordnen, und bestätigen Sie die ordnungsgemäße Zuordnung. Wenn Diskrepanzen hinsichtlich der automatischen Zuordnung von Feldern bestehen, verwenden Sie das Hilfsdienstprogramm für Zuordnungen, um sie zu korrigieren. Wenn alle Felder ordnungsgemäß übereinstimmen, klicken Sie auf den zugehörigen Link Transformieren, um mit der Transformierung von Daten in die Zieltabelle zu beginnen.

    Zuordnungsassistent-Dienstprogramm

    Das Zuordnungsassistent-Dienstprogramm bietet eine visuell intuitive Umgebung zum Angeben der Zuordnung zwischen Importsatzfeldern und Produktionstabellenfeldern. Das Dienstprogramm zur Zuordnungsunterstützung ermöglicht die Zuordnung eines einzelnen Quellfelds (Feld in einer Importsatztabelle) 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 Daten 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. Formatoptionen für Datum der Feldzuordnung
    Formatoptionen für Datum:
    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 anwenderdefiniertes 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 Feld vom Typ „Dauer“.

    ServiceNow -Dauerfelder verwenden einen speziellen Datentyp, der die Anzahl der Millisekunden auflistet, die der Wert für die Dauer ist. Um Importdaten einem Dauerfeld zuzuordnen, verwenden Sie eine der folgenden Methoden, um Quellwerte in eine Dauer umzuwandeln.
    • Berechnen Sie die Dauer anhand eines Start- und eines Enddatums
    • Konvertieren Sie einen vorhandenen Dauerwert in einen ServiceNow -Dauerwert

    Berechnung eines Dauerwerts aus einem Start- und einem Enddatum

    Wenn die Importquelle ein Start- und ein 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 die Checkbox Skript ausführen.
    4. Geben Sie JavaScript ein, um das Start- und Enddatum in eine Dauer umzuwandeln. Sehen Sie sich das Beispielskript an.
    5. Klicken Sie auf Aktualisieren.
    Dieses Beispielskript wandelt die Felder „source.u_start“ und „source.u_end“ in einen Dauerwert im Feld „target.duration“ um. Passen Sie die Feldnamen je nach Bedarf an Ihre Quell- und Zielfelder an.
    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 Wert für die Dauer enthält, können Sie die vorhandene Dauer in eine ServiceNow -Dauer konvertieren. Sie können beispielsweise eine Excel-Datenquelle haben, die eine Dauer in Sekunden auflistet. ServiceNow geht davon aus, dass die Dauer Millisekundenwerte hat.
    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 die Checkbox Skript ausführen.
    4. Geben Sie JavaScript ein, um vorhandene Werte für die Dauer in Werte für die Dauer ServiceNow zu konvertieren. Sehen Sie sich das Beispielskript an.
    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 mit Ihren Quell- und Zielfeldern übereinstimmen.
    //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 von ServiceNow (im Feld target.duration ). Ändern Sie die Feldnamen nach Bedarf so, dass sie mit Ihren Quell- und Zielfeldern übereinstimmen.
    //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 möchten Sie möglicherweise ein Quellskript anstelle des Felds „Quelle“ verwenden:
    • Der Quellwert weist nicht das Format für den zugeordneten Zielwert auf.
    • Sie möchten nach einem 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 Beispielquellskript berechnet beispielsweise den Wert des Felds user_name, wenn es in der Quelle leer ist.
    Abbildung : 4. Feldzuordnungsquellskript

    Ein Quellskript erwartet, dass der berechnete Wert in der Antwortder globalen Variablen festgelegt wird.

    Binär- oder BLOB-Felder werden zugeordnet

    ServiceNow verwendet ein spezielles Verfahren zum Importieren von binären Daten und BLOB-Daten (Binary Large Object) aus JDBC-Datenquellen. Alle binären Daten werden vor der Transformation automatisch in einen Datensatz in der Tabelle „Anhang“ [sys_attachment] konvertiert. Die Importsatztabelle speichert anstelle des tatsächlichen Binärwerts nur den sys_id-Wert des Anhangdatensatzes im Importtabellenfeld. 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 einen sys_id-Verweis 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 Importsatztabelle platziert 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 }
    Bei einer direkten Zuordnung zur Tabelle „db_image“ 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(); }