Carte avec les scripts d’événements de transformation

  • Rversion finale: Washingtondc
  • Mis à jour 1 févr. 2024
  • 8 minutes de lecture
  • Les événements de transformation se produisent pendant le processus de transformation d’une table de jeu d’importation en table.

    Ces événements modifient le comportement de transformation de n’importe quel type de spécification de mappage. Les scripts d’événements de transformation modifient le traitement des événements à différentes étapes de la transformation.

    Par exemple, le traitement d’une opération de mappage définie à l’aide de l’utilitaire Mapping Assist peut être manipulé à l’aide des scripts d’événement. Il existe un certain nombre d’objets JavaScript de jeu d’importation qui sont accessibles pendant ces événements. Ces objets représentent des tableaux ou des parties de tables. Il est important de noter que la référence de ces objets varie en fonction du contexte de l’événement dans lequel ils sont référencés.

    Vous trouverez ci-dessous un tableau de tous les événements de transformation et de leurs variables contextuelles.
    Remarque :
    Pour afficher les journaux d’importation, définissez la glide.importlog.log_to_table propriété sur vrai. Pour plus d'informations, consultez Propriétés des jeux d’importation.
    Tableau 1. événements de transformation et leurs variables contextuelles
    Nom d’événement Paramètres d'événement
    onStart

    Quand : le script d’événement onStart est traité au début d’une exécution d’importation, avant que les lignes de données ne soient lues.

    Tableau 2. Jeu d’importation Objets JS disponibles à référencer et leur contexte dans l’événement onStart
    Objet JS du jeu d’importation Type Contexte dans l’événement de jeu d’importation onStart
    source GlideRecord Il n’y a pas encore de données pour la première ligne de la table source, car la ligne n’a pas été lue.
    import_set GlideRecord Jeu d’importation en cours de transformation.
    carte Carte de transformation glide Informations en lecture seule sur l’enregistrement de carte de transformation actuel.
    journal Fonction Objet de journal pour l’exécution d’importation actuelle. Par exemple, log.info(...), log.warn(...), log.error(...).
    ignorer Booléen Quand elle est définie sur vrai, l’ensemble de la transformation est arrêté et aucun autre traitement n’a lieu.
    erreur Booléen Lorsqu’elle est définie sur vrai, elle a le même effet que le marqueur ignorer, à savoir arrêter toute la transformation, avec un message d’erreur.

    Exemple :

    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

    Quand : le script d’événement onComplete est traité à la fin d’une exécution d’importation, une fois que toutes les lignes de données ont été lues et transformées.

    Tableau 3. Objets JS de jeu d’importation disponibles pour être référencés et leur contexte dans l’événement onComplete
    Objet JS du jeu d’importation Type Contexte dans l’événement de jeu d’importation onComplete
    source GlideRecord La dernière ligne de la table de jeux d’importation source.
    target GlideRecord La dernière ligne de la table cible.
    import_set GlideRecord Jeu d’importation en cours de transformation.
    carte Carte de transformation glide Informations en lecture seule sur l’enregistrement de carte de transformation actuel.
    journal Fonction Objet de journal pour l’exécution d’importation actuelle. Par exemple, log.info(...), log.warn(...), log.error(...).
    erreur Booléen Lorsque la valeur est définie sur vrai, l’état de l’ensemble d’importations actuel sera marqué comme erreur une fois terminé.

    Exemple :

    // 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

    Quand : le script d’événement onBefore est traité au début d’une transformation de ligne, avant que la ligne source ne soit transformée en ligne cible.

    Tableau 4. Objets JS de jeu d’importation disponibles pour être référencés et leur contexte dans l’événement onBefore
    Objet JS du jeu d’importation Type Contexte dans l’événement de jeu d’importation onBefore
    source GlideRecord Ligne de la table source en cours de traitement.
    target GlideRecord Ligne de la table cible en cours de traitement.
    import_set GlideRecord Jeu d’importation en cours de transformation.
    carte Carte de transformation glide Informations en lecture seule sur l’enregistrement de carte de transformation actuel.
    journal Fonction Objet de journal pour l’exécution d’importation actuelle. Par exemple, log.info(...), log.warn(...), log.error(...).
    action Chaîne L’action renvoie une valeur « insérer » ou « mettre à jour » indiquant si la ligne cible actuelle est sur le point d’être créée ou mise à jour.
    ignorer Booléen Lorsque cette valeur est définie sur true, la transformation de ligne actuelle est ignorée et les lignes restantes sont traitées.

    Si vous avez défini un script onAfter, le script onAfter s’exécute pour la ligne actuelle, même si le marqueur Ignorer est défini sur vrai.

    status_message Chaîne Définit un message personnalisé à envoyer dans la réponse XML <status_message>.
    erreur Booléen Quand la valeur est définie sur vrai, arrête toute la transformation pour le jeu d’importation actuel, avec un message d’erreur.
    error_message Chaîne Définit un message personnalisé à envoyer dans la réponse XML <error_message>.

    Exemple :

    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

    Quand : le script d’événement onAfter est traité à la fin d’une transformation de ligne, après que la ligne source a été transformée en ligne cible et enregistrée.

    Tableau 5. Objets JS de jeu d’importation disponibles pour être référencés et leur contexte dans l’événement onAfter
    Objet JS du jeu d’importation Type Contexte dans l’événement de jeu d’importation onAfter
    source GlideRecord Ligne de la table source en cours de traitement.
    target GlideRecord Ligne de la table cible en cours de traitement.
    import_set GlideRecord Jeu d’importation en cours de transformation.
    carte Carte de transformation glide Informations en lecture seule sur l’enregistrement de carte de transformation actuel.
    journal Fonction Objet de journal pour l’exécution d’importation actuelle. Par exemple, log.info(...), log.warn(...), log.error(...).
    action Chaîne L’action renvoie une valeur « insérer » ou « mettre à jour » indiquant si la ligne cible actuelle a été créée ou mise à jour.
    status_message Chaîne Définit un message personnalisé à envoyer dans la réponse XML <status_message>.
    erreur Booléen Quand la valeur est définie sur vrai, arrête toute la transformation pour le jeu d’importation actuel, avec un message d’erreur.
    error_message Chaîne Définit un message personnalisé à envoyer dans la réponse XML <error_message>.

    Exemple :

    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

    Quand : le script d’événement onForeignInsert est traité au début de la création d’un enregistrement référencé connexe, avant la création de l’enregistrement.

    Tableau 6. Objets JS de jeu d’importation disponibles pour être référencés et leur contexte dans l’événement onForeignInsert
    Objet JS du jeu d’importation Type Contexte dans l’événement de jeu d’importation onForeignInsert
    source GlideRecord Ligne de la table source en cours de traitement.
    target GlideRecord Ligne de la table cible en cours de traitement.
    carte Carte de transformation glide Informations en lecture seule sur l’enregistrement de carte de transformation actuel.
    journal Fonction Objet de journal pour l’exécution d’importation actuelle. Par exemple, log.info(...), log.warn(...), log.error(...).
    action Chaîne L’action renvoie une valeur « insérer » ou « mettre à jour » indiquant si la ligne cible actuelle est sur le point d’être créée ou mise à jour.
    nom Chaîne Évalue le nom de champ de l’enregistrement cible pour lequel un enregistrement étranger est sur le point d’être créé.
    valeur Chaîne Correspond à la valeur d’affichage de l’enregistrement source pour lequel un enregistrement étranger est sur le point d’être créé.
    action Chaîne L’action renvoie une valeur « insérer » ou « mettre à jour » indiquant si la ligne cible actuelle est sur le point d’être créée ou mise à jour.
    ignorer Booléen Lorsqu’elle est définie sur vrai, ignore la création d’un nouvel enregistrement étranger ou connexe.
    erreur Booléen Quand la valeur définie sur true, rejette toute la ligne de transformation, aucune donnée n’est enregistrée pour cette ligne.

    Exemple :

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

    Quand : le script d’événement onChoiceCreate est traité au début de la création d’une valeur de choix, avant que la nouvelle valeur de choix ne soit créée.

    Tableau 7. Objets JS Import Set disponibles pour être référencés et leur contexte dans l’événement onChoiceCreate
    Objet JS du jeu d’importation Type Contexte dans l’événement de jeu d’importation onChoiceCreate
    source GlideRecord Ligne de la table source en cours de traitement.
    target GlideRecord Ligne de la table cible en cours de traitement.
    carte Carte de transformation glide Informations en lecture seule sur l’enregistrement de carte de transformation actuel.
    journal Fonction Objet de journal pour l’exécution d’importation actuelle. Par exemple, log.info(...), log.warn(...), log.error(...).
    action Chaîne L’action renvoie une valeur « insérer » ou « mettre à jour » indiquant si la ligne cible actuelle est sur le point d’être créée ou mise à jour.
    nom Chaîne Évalue le nom de champ de l’enregistrement cible pour lequel une valeur de choix est sur le point d’être créée.
    valeur Chaîne Correspond à la valeur d’affichage de l’enregistrement source pour lequel un choix est sur le point d’être créé.
    ignorer Booléen Lorsqu’elle est définie sur vrai, elle ignore la création d’une valeur de choix.
    erreur Booléen Quand la valeur définie sur true, rejette toute la ligne de transformation, aucune donnée n’est enregistrée pour cette ligne.

    Exemple :

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

    Lorsque : le script d’événement onReject est traité lors de l’occurrence d’un enregistrement ou d’un choix étranger et que l’enregistrement ou le choix étranger est rejeté, la ligne de transformation entière n’est pas enregistrée.

    Tableau 8. Jeu d’importation Objets JS disponibles pour être référencés et leur contexte dans l’événement onError
    Objet JS du jeu d’importation Type Contexte dans l’événement de jeu d’importation onError
    source GlideRecord Ligne de la table source en cours de traitement.
    target GlideRecord Ligne de la table cible en cours de traitement.
    carte Carte de transformation glide Informations en lecture seule sur l’enregistrement de carte de transformation actuel.
    action Chaîne L’action renvoie une valeur « insérer » ou « mettre à jour » indiquant si la ligne cible actuelle est sur le point d’être créée ou mise à jour.
    journal Fonction Objet de journal pour l’exécution d’importation actuelle. Par exemple, log.info(...), log.warn(...), log.error(...).
    Exemple :
    //Create an event
    var e = new GlideEvent("myimport_onReject", action, "", "");
    e.insert();