Zuordnung mit Skripts für Transformationsereignisse

  • Freigeben Version: Yokohama
  • Aktualisiert 30. Januar 2025
  • 6 Minuten Lesedauer
  • Transformationsereignisse treten während des Transformationsprozesses einer Importsatztabelle in eine Tabelle auf.

    Diese Ereignisse ändern das Transformationsverhalten für jede Art von Zuordnungsspezifikation. Skripts für Transformationsereignisse ändern die Verarbeitung von Ereignissen in verschiedenen Phasen der Transformation.

    Beispielsweise kann die Verarbeitung eines Zuordnungsvorgangs, der mit dem Zuordnungsassistent-Dienstprogramm definiert wurde, mithilfe der Ereignisskripts manipuliert werden. Es gibt eine Reihe von Importsatz-JavaScript-Objekten, auf die während dieser Ereignisse zugegriffen werden kann. Diese Objekte stellen Tabellen oder Teile von Tabellen dar. Es ist wichtig zu beachten, dass das, worauf sich diese Objekte beziehen, je nach Kontext des Ereignisses, in dem sie referenziert werden, unterschiedlich ist.

    Im Folgenden finden Sie eine Tabelle aller Transformationsereignisse und ihrer kontextbezogenen Variablen.
    Hinweis:
    Um die Importprotokolle anzuzeigen, legen Sie die Eigenschaft glide.importlog.log_to_table auf „wahr“ fest. Weitere Informationen finden Sie unter Eigenschaften für Importsätze.
    Tabelle : 1. Transformationsereignisse und ihre kontextbezogenen Variablen
    Ereignisname Ereignisparameter
    onStart

    Wann: Das Ereignisskript „onStart“ wird zu Beginn einer Importausführung verarbeitet, bevor Datenzeilen gelesen werden.

    Tabelle : 2. Importsatz-JS-Objekte, die zum Referenzieren verfügbar sind, und deren Kontext im onStart-Ereignis
    JS-Objekt des Importsatzes Typ Kontext im Importsatz-Ereignis „onStart“.
    Quelle GlideRecord In der ersten Zeile der Quelltabelle sind noch keine Daten vorhanden, da die Zeile noch nicht gelesen wurde.
    import_set GlideRecord Der Importsatz, der gerade transformiert wird.
    Zuordnen GlideTransformMap Schreibgeschützte Informationen zum aktuellen Datensatz der Transformationszuordnung.
    log Funktion Das Protokollobjekt für die aktuelle Importausführung. Beispiel: log.info(...), log.warn(...), log.error(...).
    Ignorieren Boolean Bei Festlegung auf „wahr“ wird die gesamte Transformation angehalten, und es findet keine weitere Verarbeitung statt.
    Fehler Boolean Wenn auf „wahr“ festgelegt, hat dies den gleichen Effekt wie das Ignorieren der Kennzeichnung, dass die gesamte Transformation mit einer Fehlermeldung angehalten wird.

    Beispiel:

    var info = "Starting Import Set Transformation Mapping operation using Data source, " 
    + map.table_source + " and Transform Map " + map.name + " on import set " + import_set.number;
    log.info( info ); 
    
    onComplete

    Wann: Das Ereignisskript „onComplete“ wird am Ende einer Importausführung verarbeitet, nachdem alle Datenzeilen gelesen und transformiert wurden.

    Tabelle : 3. Importsatz-JS-Objekte, die zur Referenzierung verfügbar sind, und deren Kontext im onComplete-Ereignis
    JS-Objekt des Importsatzes Typ Kontext im Importsatz-Ereignis „onComplete“.
    Quelle GlideRecord Die letzte Zeile der Importsatz-Quelltabelle.
    Ziel GlideRecord Die letzte Zeile der Zieltabelle.
    import_set GlideRecord Der Importsatz, der gerade transformiert wird.
    Zuordnen GlideTransformMap Schreibgeschützte Informationen zum aktuellen Datensatz der Transformationszuordnung.
    log Funktion Das Protokollobjekt für die aktuelle Importausführung. Beispiel: log.info(...), log.warn(...), log.error(...).
    Fehler Boolean Bei Festlegung auf „wahr“ wird der aktuelle Importsatzstatus nach Abschluss des Importsatzes als „Fehler“ markiert.

    Beispiel:

    // Create a myimport_completed event that can be reacted by an email notification or script action
    // (there is already an import.finished event that the system will create at the end of an import)
    var e = new GlideEvent("myimport_completed", import_set.sys_id, map.sys_id, "");
    e.insert();
    onBefore

    Wann: Das Ereignisskript „onBefore“ wird zu Beginn einer Zeilentransformation verarbeitet, bevor die Quellzeile in die Zielzeile umgewandelt wird.

    Tabelle : 4. Importsatz-JS-Objekte, die zur Referenzierung verfügbar sind, und deren Kontext im onBefore-Ereignis
    JS-Objekt des Importsatzes Typ Kontext im Importsatz-Ereignis „onBefore“.
    Quelle GlideRecord Die Zeile der Quelltabelle, die gerade verarbeitet wird.
    Ziel GlideRecord Die Zeile der Zieltabelle, die derzeit verarbeitet wird.
    import_set GlideRecord Der Importsatz, der gerade transformiert wird.
    Zuordnen GlideTransformMap Schreibgeschützte Informationen zum aktuellen Datensatz der Transformationszuordnung.
    log Funktion Das Protokollobjekt für die aktuelle Importausführung. Beispiel: log.info(...), log.warn(...), log.error(...).
    Aktion Zeichenfolge Die Aktion gibt entweder den Wert „einfügen“ oder „aktualisieren“ zurück, der angibt, ob die aktuelle Zielzeile erstellt oder aktualisiert werden soll.
    Ignorieren Boolean Bei Festlegung auf „wahr“ wird die aktuelle Zeilentransformation übersprungen und die verbleibenden Zeilen werden verarbeitet.

    Wenn Sie ein onAfter-Skript definiert haben, wird das onAfter-Skript für die aktuelle Zeile ausgeführt, auch wenn die Kennzeichnung „Ignorieren“ auf „wahr“ gesetzt ist.

    status_message Zeichenfolge Definiert eine anwenderdefinierte Nachricht, die in gesendet werden soll<status_message> XML-Antwort.
    Fehler Boolean Bei Festlegung auf „wahr“ wird die gesamte Transformation für den aktuellen Importsatz mit einer Fehlermeldung angehalten.
    error_message Zeichenfolge Definiert eine anwenderdefinierte Nachricht, die in gesendet werden soll<error_message> XML-Antwort.

    Beispiel:

    var name = source.u_name.toString();
    var info = "Before the row is transformed, " + name;
    log.info( info ); 
     
    // Make sure a company name has been provided
    var company = source.u_company.toString();
    if(company.length == 0 ){
    	ignore = true;
    	info ="No company name, row ignored! " + name;
    	log.info( info );
    }
    onAfter

    Wann: Das Ereignisskript „onAfter“ wird am Ende einer Zeilentransformation verarbeitet, nachdem die Quellzeile in die Zielzeile umgewandelt und gespeichert wurde.

    Tabelle : 5. Importsatz-JS-Objekte, die zum Referenzieren verfügbar sind, und ihr Kontext im onAfter-Ereignis
    JS-Objekt des Importsatzes Typ Kontext im Ereignis „onAfter-Importsatz“
    Quelle GlideRecord Die Zeile der Quelltabelle, die gerade verarbeitet wird.
    Ziel GlideRecord Die Zeile der Zieltabelle, die derzeit verarbeitet wird.
    import_set GlideRecord Der Importsatz, der gerade transformiert wird.
    Zuordnen GlideTransformMap Schreibgeschützte Informationen zum aktuellen Datensatz der Transformationszuordnung.
    log Funktion Das Protokollobjekt für die aktuelle Importausführung. Beispiel: log.info(...), log.warn(...), log.error(...).
    Aktion Zeichenfolge Die Aktion gibt entweder den Wert „einfügen“ oder „aktualisieren“ zurück, der angibt, ob die aktuelle Zielzeile erstellt oder aktualisiert wurde.
    status_message Zeichenfolge Definiert eine anwenderdefinierte Nachricht, die in gesendet werden soll<status_message> XML-Antwort.
    Fehler Boolean Bei Festlegung auf „wahr“ wird die gesamte Transformation für den aktuellen Importsatz mit einer Fehlermeldung angehalten.
    error_message Zeichenfolge Definiert eine anwenderdefinierte Nachricht, die in gesendet werden soll<error_message> XML-Antwort.

    Beispiel:

    if(source.new=="true"){
      gs.include('Cart');var bundle =new GlideRecord('sc_cat_item');
      bundle.addQuery('name','CONTAINS','comp');
      bundle.query();
      if(bundle.next()){
         var new_comp_cart = new Cart();
         var cart = new Cart();
         var item = cart.addItem(bundle);
         var rc = cart.placeOrder();
         log.info(rc.number);}}
    onForeignInsert

    Wann: Das Ereignisskript „onForeignInsert“ wird zu Beginn der Erstellung eines zugehörigen, referenzierten Datensatzes verarbeitet, bevor der Datensatz erstellt wird.

    Tabelle : 6. Importsatz-JS-Objekte, die zum Referenzieren verfügbar sind, und deren Kontext im onForeignInsert-Ereignis
    JS-Objekt des Importsatzes Typ Kontext im Importsatz-Ereignis „onForeignInsert“.
    Quelle GlideRecord Die Zeile der Quelltabelle, die gerade verarbeitet wird.
    Ziel GlideRecord Die Zeile der Zieltabelle, die derzeit verarbeitet wird.
    Zuordnen GlideTransformMap Schreibgeschützte Informationen zum aktuellen Datensatz der Transformationszuordnung.
    log Funktion Das Protokollobjekt für die aktuelle Importausführung. Beispiel: log.info(...), log.warn(...), log.error(...).
    Aktion Zeichenfolge Die Aktion gibt entweder den Wert „einfügen“ oder „aktualisieren“ zurück, der angibt, ob die aktuelle Zielzeile erstellt oder aktualisiert werden soll.
    name Zeichenfolge Gibt den Feldnamen des Zieldatensatzes an, für den ein fremder Datensatz erstellt werden soll.
    Wert Zeichenfolge Ergibt den Anzeigewert aus dem Quelldatensatz, für den ein fremder Datensatz erstellt werden soll.
    Ignorieren Boolean Bei Festlegung auf „wahr“ wird die Erstellung eines neuen fremden oder zugehörigen Datensatzes ignoriert.
    Fehler Boolean Bei Festlegung auf „wahr“ wird die gesamte Transformationszeile abgelehnt. Für diese Zeile werden keine Daten gespeichert.

    Beispiel:

    //Create an event.
    var e = new GlideEvent("myimport_ForeignInsert", action, name, "");
    e.insert();
    onChoiceCreate

    Wann: Das Ereignisskript „onChoiceCreate“ wird zu Beginn der Erstellung eines Auswahlwerts verarbeitet, bevor der neue Auswahlwert erstellt wird.

    Tabelle : 7. Importieren Sie die zur Referenzierung verfügbaren JS-Objekte und deren Kontext im onChoiceCreate-Ereignis
    JS-Objekt des Importsatzes Typ Kontext im Importsatz-Ereignis „onChoiceCreate“.
    Quelle GlideRecord Die Zeile der Quelltabelle, die gerade verarbeitet wird.
    Ziel GlideRecord Die Zeile der Zieltabelle, die derzeit verarbeitet wird.
    Zuordnen GlideTransformMap Schreibgeschützte Informationen zum aktuellen Datensatz der Transformationszuordnung.
    log Funktion Das Protokollobjekt für die aktuelle Importausführung. Beispiel: log.info(...), log.warn(...), log.error(...).
    Aktion Zeichenfolge Die Aktion gibt entweder den Wert „einfügen“ oder „aktualisieren“ zurück, der angibt, ob die aktuelle Zielzeile erstellt oder aktualisiert werden soll.
    name Zeichenfolge Ergibt den Feldnamen des Zieldatensatzes, für den ein Auswahlwert erstellt werden soll.
    Wert Zeichenfolge Ergibt den Anzeigewert aus dem Quelldatensatz, für den eine Auswahl erstellt werden soll.
    Ignorieren Boolean Bei Festlegung auf „wahr“ wird die Erstellung eines Auswahlwerts ignoriert.
    Fehler Boolean Bei Festlegung auf „wahr“ wird die gesamte Transformationszeile abgelehnt. Für diese Zeile werden keine Daten gespeichert.

    Beispiel:

    //Create an event
    var e = new GlideEvent("myimport_ChoiceCreate", action, value, "");
    e.insert();
    onReject

    Wann: Das Ereignisskript „onReject“ wird während des Vorkommens eines fremden Datensatzes oder der Erstellung einer Auswahl verarbeitet, und der fremde Datensatz oder die Auswahl wird abgelehnt. Die gesamte Transformationszeile wird nicht gespeichert.

    Tabelle : 8. Importieren Sie die zur Referenzierung verfügbaren JS-Objekte und deren Kontext im onError-Ereignis
    JS-Objekt des Importsatzes Typ Kontext im Importsatz-Ereignis „onError“.
    Quelle GlideRecord Die Zeile der Quelltabelle, die gerade verarbeitet wird.
    Ziel GlideRecord Die Zeile der Zieltabelle, die derzeit verarbeitet wird.
    Zuordnen GlideTransformMap Schreibgeschützte Informationen zum aktuellen Datensatz der Transformationszuordnung.
    Aktion Zeichenfolge Die Aktion gibt entweder den Wert „einfügen“ oder „aktualisieren“ zurück, der angibt, ob die aktuelle Zielzeile erstellt oder aktualisiert werden soll.
    log Funktion Das Protokollobjekt für die aktuelle Importausführung. Beispiel: log.info(...), log.warn(...), log.error(...).
    Beispiel:
    //Create an event
    var e = new GlideEvent("myimport_onReject", action, "", "");
    e.insert();