Mapear com scripts de evento de transformação

  • Versão de lançamento: Washingtondc
  • Atualizado 1 de fev. de 2024
  • 8 min. de leitura
  • Os eventos de transformação ocorrem durante o processo de transformação de uma tabela de conjunto de importação em uma tabela.

    Esses eventos modificam o comportamento da transformação de qualquer tipo de especificação de mapeamento. Os scripts de evento de transformação modificam o processamento dos eventos em vários estágios da transformação.

    Por exemplo, o processamento de uma operação de mapeamento definida usando o utilitário Mapping Assist pode ser manipulado usando os scripts de evento. Há vários objetos JavaScript do conjunto de importação que podem ser acessados durante esses eventos. Esses objetos representam tabelas ou partes de tabelas. É importante observar que a referência desses objetos varia de acordo com o contexto do evento no qual eles são referenciados.

    A seguir está uma tabela de todos os eventos de transformação e suas variáveis contextuais.
    Nota:
    Para exibir os logs de importação, defina a propriedade glide.importlog.log_to_table como verdadeira. Para obter mais informações, consulte Propriedades dos conjuntos de importação.
    Tabela 1. transformar eventos e suas variáveis contextuais
    Nome do evento Parâmetros de Evento
    onStart

    Quando: o script de evento onStart é processado no início de uma execução de importação, antes que qualquer linha de dados seja lida.

    Tabela 2. Objetos do conjunto de importação JS disponíveis para serem referenciados e seu contexto no evento onStart
    Objeto JS do conjunto de importação Tipo Contexto no evento do conjunto de importação onStart
    fonte GlideRecord A primeira linha da tabela de origem, ainda não há dados, pois a linha não foi lida.
    import_set GlideRecord O conjunto de importação que está sendo transformado no momento.
    mapa GlideTransformMap Informações somente leitura sobre o registro do mapa de transformação atual.
    log Função O objeto de log para a execução de importação atual. Por exemplo, log.info(...), log.warn(...), log.error(...).
    ignorar Booleano Quando definido como verdadeiro, toda a transformação será interrompida e nenhum processamento adicional ocorrerá.
    erro Booleano Quando definido como verdadeiro, tem o mesmo efeito que o sinalizador ignorar de parar a transformação inteira, com uma mensagem de erro.

    Exemplo:

    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

    Quando: o script de evento onComplete é processado no final de uma execução de importação, depois que todas as linhas de dados são lidas e transformadas.

    Tabela 3. Objetos do conjunto de importação JS disponíveis para serem referenciados e seu contexto no evento onComplete
    Objeto JS do conjunto de importação Tipo Contexto no evento do conjunto de importação onComplete
    fonte GlideRecord A última linha da tabela do conjunto de importação de origem.
    destino GlideRecord A última linha da tabela de destino.
    import_set GlideRecord O conjunto de importação que está sendo transformado no momento.
    mapa GlideTransformMap Informações somente leitura sobre o registro do mapa de transformação atual.
    log Função O objeto de log para a execução de importação atual. Por exemplo, log.info(...), log.warn(...), log.error(...).
    erro Booleano Quando definido como verdadeiro, marcará o status do conjunto de importação atual como erro após a conclusão.

    Exemplo:

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

    Quando: o script de evento onBefore é processado no início de uma transformação de linha, antes que a linha de origem seja transformada na linha de destino.

    Tabela 4. Objetos do conjunto de importação JS disponíveis para serem referenciados e seu contexto no evento onBefore
    Objeto JS do conjunto de importação Tipo Contexto no evento do conjunto de importação onBefore
    fonte GlideRecord A linha da tabela de origem que está sendo processada no momento.
    destino GlideRecord A linha da tabela de destino que está sendo processada no momento.
    import_set GlideRecord O conjunto de importação que está sendo transformado no momento.
    mapa GlideTransformMap Informações somente leitura sobre o registro do mapa de transformação atual.
    log Função O objeto de log para a execução de importação atual. Por exemplo, log.info(...), log.warn(...), log.error(...).
    ação Cadeia de caracteres A ação retorna um valor de "inserção" ou "atualização", indicando se a linha de destino atual está prestes a ser criada ou atualizada.
    ignorar Booleano Quando definido como verdadeiro, a transformação da linha atual será ignorada e as linhas restantes serão processadas.

    Se você tiver definido um script onAfter, o script onAfter será executado para a linha atual, mesmo se o sinalizador ignorar estiver definido como verdadeiro.

    status_message Cadeia de caracteres Define uma mensagem personalizada a ser enviada no<status_message> Resposta XML.
    erro Booleano Quando definido como verdadeiro, interromperá toda a transformação do conjunto de importação atual, com uma mensagem de erro.
    error_message Cadeia de caracteres Define uma mensagem personalizada a ser enviada no<error_message> Resposta XML.

    Exemplo:

    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

    Quando: o script de evento onAfter é processado no final de uma transformação de linha, depois que a linha de origem foi transformada na linha de destino e salva.

    Tabela 5. Objetos do conjunto de importação JS disponíveis para serem referenciados e seu contexto no evento onAfter
    Objeto JS do conjunto de importação Tipo Contexto no evento do conjunto de importação onAfter
    fonte GlideRecord A linha da tabela de origem que está sendo processada no momento.
    destino GlideRecord A linha da tabela de destino que está sendo processada no momento.
    import_set GlideRecord O conjunto de importação que está sendo transformado no momento.
    mapa GlideTransformMap Informações somente leitura sobre o registro do mapa de transformação atual.
    log Função O objeto de log para a execução de importação atual. Por exemplo, log.info(...), log.warn(...), log.error(...).
    ação Cadeia de caracteres A ação retorna um valor de "inserção" ou "atualização", indicando se a linha de destino atual foi criada ou atualizada.
    status_message Cadeia de caracteres Define uma mensagem personalizada a ser enviada no<status_message> Resposta XML.
    erro Booleano Quando definido como verdadeiro, interromperá toda a transformação do conjunto de importação atual, com uma mensagem de erro.
    error_message Cadeia de caracteres Define uma mensagem personalizada a ser enviada no<error_message> Resposta XML.

    Exemplo:

    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

    Quando: o script de evento onForeignInsert é processado no início da criação de um registro referenciado relacionado, antes que o registro seja criado.

    Tabela 6. Objetos do conjunto de importação JS disponíveis para serem referenciados e seu contexto no evento onForeignInsert
    Objeto JS do conjunto de importação Tipo Contexto no evento de conjunto de importação onForeignInsert
    fonte GlideRecord A linha da tabela de origem que está sendo processada no momento.
    destino GlideRecord A linha da tabela de destino que está sendo processada no momento.
    mapa GlideTransformMap Informações somente leitura sobre o registro do mapa de transformação atual.
    log Função O objeto de log para a execução de importação atual. Por exemplo, log.info(...), log.warn(...), log.error(...).
    ação Cadeia de caracteres A ação retorna um valor de "inserção" ou "atualização", indicando se a linha de destino atual está prestes a ser criada ou atualizada.
    nome Cadeia de caracteres Avalia o nome do campo do registro de destino para o qual um registro externo está prestes a ser criado.
    valor Cadeia de caracteres Avalia o valor de exibição do registro de origem para o qual um registro externo está prestes a ser criado.
    ação Cadeia de caracteres A ação retorna um valor de "inserção" ou "atualização", indicando se a linha de destino atual está prestes a ser criada ou atualizada.
    ignorar Booleano Quando definido como verdadeiro, ignora a criação de um novo registro externo ou relacionado.
    erro Booleano Quando definido como verdadeiro, rejeita a linha de transformação inteira, nenhum dado é salvo para esta linha.

    Exemplo:

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

    Quando: o script de evento onChoiceCreate é processado no início de uma criação de valor de opção, antes que o novo valor de opção seja criado.

    Tabela 7. Objetos do conjunto de importação JS disponíveis para serem referenciados e seu contexto no evento onChoiceCreate
    Objeto JS do conjunto de importação Tipo Contexto no evento de conjunto de importação onChoiceCreate
    fonte GlideRecord A linha da tabela de origem que está sendo processada no momento.
    destino GlideRecord A linha da tabela de destino que está sendo processada no momento.
    mapa GlideTransformMap Informações somente leitura sobre o registro do mapa de transformação atual.
    log Função O objeto de log para a execução de importação atual. Por exemplo, log.info(...), log.warn(...), log.error(...).
    ação Cadeia de caracteres A ação retorna um valor de "inserção" ou "atualização", indicando se a linha de destino atual está prestes a ser criada ou atualizada.
    nome Cadeia de caracteres Avalia o nome do campo do registro de destino para o qual um valor de opção está prestes a ser criado.
    valor Cadeia de caracteres Avalia o valor de exibição do registro de origem para o qual uma opção está prestes a ser criada.
    ignorar Booleano Quando definido como verdadeiro, ignora a criação de um valor de opção.
    erro Booleano Quando definido como verdadeiro, rejeita a linha de transformação inteira, nenhum dado é salvo para esta linha.

    Exemplo:

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

    Quando: o script de evento onReject é processado durante a ocorrência de um registro externo ou criação de opção e o registro externo ou opção é rejeitado, a linha de transformação inteira não é salva.

    Tabela 8. Objetos do conjunto de importação JS disponíveis para serem referenciados e seu contexto no evento onError
    Objeto JS do conjunto de importação Tipo Contexto no evento do conjunto de importação onError
    fonte GlideRecord A linha da tabela de origem que está sendo processada no momento.
    destino GlideRecord A linha da tabela de destino que está sendo processada no momento.
    mapa GlideTransformMap Informações somente leitura sobre o registro do mapa de transformação atual.
    ação Cadeia de caracteres A ação retorna um valor de "inserção" ou "atualização", indicando se a linha de destino atual está prestes a ser criada ou atualizada.
    log Função O objeto de log para a execução de importação atual. Por exemplo, log.info(...), log.warn(...), log.error(...).
    Exemplo:
    //Create an event
    var e = new GlideEvent("myimport_onReject", action, "", "");
    e.insert();