Ir para o conteúdo

Crie um script no Jitterbit Design Studio

Introdução

Scripts no Design Studio são usados para manipular dados ou para executar lógica avançada (se, enquanto, instruções case, etc.). Scripts são frequentemente usados dentro de operações e transformações para fornecer funcionalidade adicional além das capacidades básicas de operação/ transformação. Eles podem ser escritos usando a linguagem Jitterbit Script ou, se estiver criando um script como um item de projeto, usando JavaScript.

Existem vários lugares no Design Studio onde você pode criar um script dependendo do que você quer realizar. Cada um deles é resumido abaixo e descrito em mais detalhes nesta página. A interface do usuário para construir scripts é similar entre todos os tipos e é descrita no final deste documento.

  • Script como um item de projeto
    Este tipo de script pode ser inserido em uma operação, seja como uma etapa dentro de uma operação ou em uma operação dedicada à execução do script. Ele também pode ser chamado usando a função RunScript(). Este tipo de script aparecerá na árvore à esquerda, na seção Scripts.

  • Script em um campo de destino em uma transformação
    Este tipo de script pode ser editado em um campo em uma transformação para aplicar a lógica especificada ao seu mapeamento de transformação. O último valor retornado no script será usado como o valor para seu campo de destino. Este tipo de script está disponível em todos os campos dentro do mapeamento de transformação somente.

  • Script como condição dentro de uma transformação
    Este tipo de script pode ser criado em uma pasta em uma transformação para determinar se a instância de origem será usada com base no resultado da condição. O último valor retornado no script deve ser true ou false. Este tipo de script pode ser adicionado somente dentro do mapeamento de transformação.

    Nota

    Usar um script como uma condição dentro de uma transformação não deve ser confundido com usar uma condição em uma operação. Este último é abordado separadamente em Criar uma condição.

  • Teste de Script usando script pad
    O script pad é uma ferramenta dentro do Design Studio que pode ser usada para executar testes básicos de scripts que você não precisa salvar. Esta ferramenta pode ser acessada na barra de menu em Exibir > Script Pad.

Tipos de scripts

Script como um item de projeto

Os Scripts podem ser executados separadamente das transformações como uma etapa de operação independente. Você pode, por exemplo, criar um script que trunca uma tabela de banco de dados antes de executar uma transformação para preenchê-la novamente. Você também pode salvar scripts com lógica para reutilização em vários mapeamentos em transformações. Você pode executar scripts de outros scripts usando a função RunScript() ou inserindo-os em uma operação.

Dentro do seu projeto no Design Studio, há várias maneiras de criar um novo script como um item de projeto:

  • Na árvore à esquerda, clique com o botão direito do mouse na seção Scripts e selecione Novo Script ou Novo JavaScript.
  • Dentro de uma operação existente, clique com o botão direito em qualquer ponto de inserção anexo e escolha Inserir > Script. Ou clique com o botão direito do mouse em uma fonte ou destino e escolha Inserir antes disto > Script ou Inserir depois disto > Script. Um ícone de script aparecerá dentro do gráfico de operação. Em seguida, faça um dos seguintes:

    • Clique com o botão direito do mouse no ícone do script e escolha Selecionar Script existente, Criar novo Jitterbit Script ou Criar novo JavaScript.
    • Clique duas vezes no ícone do script e selecione um script existente na lista ou use os botões para Criar novo Jitterbit Script ou Criar novo JavaScript.

As opções referentes a "Jitterbit Script" ou simplesmente "Script" exibirão um construtor de script em linguagem Jitterbit Script.

anexo

A partir da versão 8.24.2, as opções referentes a "Javascript" abrirão um construtor de script em JavaScript.

anexo

A interface do usuário do construtor de script para ambos os tipos é abordada em Construir scripts no final desta página.

Você também pode retornar ao script existente a qualquer momento na árvore à esquerda em Scripts.

Script em um campo de destino em uma transformação

Este tipo de script pode ser editado em um campo em uma transformação para aplicar a lógica especificada ao seu mapeamento de transformação. O último valor retornado no script será usado como o valor para seu campo de destino. Por exemplo, você pode usar scripts para alterar um campo de string para int, concatenar valores, usar uma busca de banco de dados para um campo ou definir população condicional do campo.

Este tipo de script está disponível em todos os campos dentro do mapeamento de transformação somente. Dentro do seu mapeamento de transformação, clique duas vezes no campo de destino para o qual você quer editar o script.

anexo

Isso abrirá o construtor de script padrão à esquerda e a árvore de origem à direita. Os Scripts em transformações devem usar a linguagem Jitterbit Script. A interface do usuário do construtor de script é abordada em Construir scripts no final desta página.

anexo

Script como condição dentro de uma transformação

Este tipo de script pode ser criado em uma pasta em uma transformação para determinar se a instância de origem será usada com base no resultado da condição. O último valor retornado no script deve ser true ou false. Se o valor retornado não for um valor true/false, ele será tratado como false.

Nota

Usar um script como uma condição dentro de uma transformação não deve ser confundido com usar uma condição em uma operação. Este último é abordado separadamente em Criar uma condição.

Este tipo de script é acessível somente de dentro do mapeamento de transformação. Dentro do seu mapeamento de transformação, clique com o botão direito do mouse em uma pasta que tenha Um ou Mais Elementos [E+] ou Zero ou Mais Elementos [E*](veja notação de caminho de entidade hierárquica explicada) e escolha Adicionar condição.

anexo

Isso criará uma condição que agora aparece sob sua pasta. Clique duas vezes para abrir o construtor de script padrão à esquerda e a árvore de origem à direita.

anexo

Os Scripts em transformações devem usar a linguagem Jitterbit Script. A interface do usuário do construtor de script é abordada em Construir scripts no final desta página.

anexo

Teste de Script usando script pad

O script pad é uma ferramenta dentro do Design Studio que pode ser usada para executar testes básicos de scripts que você não precisa salvar. Esta ferramenta é acessível na barra de menu em View > Script Pad.

anexo

Isso exibirá um script pad básico para fins de teste. Os Scripts no script pad devem usar a linguagem Jitterbit Script. A interface do usuário do construtor de script é abordada em Construir scripts no final desta página.

anexo

Construir scripts

A interface de usuário do script builder é similar para todos os tipos de script descritos anteriormente nesta página. O seguinte explica cada elemento possível da interface do script builder e explica quais elementos podem ser usados dentro dos tipos de script especificados.

Nota

Veja também Recursos do construtor de fórmulas para uma coleção de dicas para interagir com a interface do usuário.

Script

A área de script onde você pode inserir seu script está presente em todos os tipos de scripts. Cada elemento do script é explicado abaixo.

anexo

  • Números de linha: Os números de linha aparecem na extrema esquerda do script. Para alternar os números de linha entre ligado e desligado, clique com o botão direito no fundo do script e selecione Mostrar números de linha.
  • Área de Script: A área de script é onde você constrói seu script. O que você insere aqui depende da linguagem de script que está sendo usada.

    • Linguagem de Jitterbit Script: Para scripts que usam a linguagem de script Jitterbit, a expressão final deve estar contida em <trans>... </trans> tags. Consulte Linguagem de Jitterbit Script para requisitos de sintaxe e dicas adicionais.
    • JavaScript: Para scripts usando JavaScript, nenhuma tag é necessária. Basta digitar seu script em JavaScript aqui. Consulte JavaScript para obter informações específicas sobre o uso de JavaScript no Harmony.

    Atualmente, o uso de JavaScript é limitado a scripts criados como itens de projeto. Para scripts criados como itens de projeto, o tipo de script também será listado acima da área de script, ao lado do nome do script:

    anexo

    anexo

  • Validação: O Design Studio fornece verificação e realce de sintaxe básica. Se o script passar pela validação de sintaxe básica, uma linha abaixo da área do script dirá: "Script é válido." Se o script não passar pela validação de sintaxe básica, informações de erro específicas serão fornecidas aqui.

  • Modo: Use este menu suspenso para alternar entre os modos Desenvolvedor e Analista de Negócios. O modo desenvolvedor fornece uma interface de usuário para usuários avançados, enquanto o modo analista de negócios fornece uma interface de assistente que é mais amigável para não desenvolvedores.
  • Linha e coluna: Os números no canto inferior direito da área do script indicam a linha e a coluna no script onde o cursor está localizado. Para pular para uma linha específica, você pode clicar com o botão direito do mouse no fundo do script e selecionar Ir para a linha.

Fonte

A árvore de origem aparece no painel direito somente para scripts criados durante o mapeamento de transformação e não é aplicável para scripts criados como itens de projeto. Dentro do script, você pode usar elementos de dados de origem para referenciar dados de origem pelo caminho do campo na árvore de origem.

anexo

Você pode adicionar elementos de dados de origem ao seu script de qualquer uma das seguintes maneiras:

  • Clique duas vezes no campo ou pasta na árvore de origem à direita para adicioná-lo ao seu script à esquerda.
  • Clique no campo ou pasta na árvore de origem à direita e use o anexo para adicioná-lo ao seu script à esquerda.
  • Insira o caminho de origem diretamente na área de script.

A seguinte funcionalidade também está disponível:

  • Expandir/Recolher: Use o anexo anexo ícones para recolher ou expandir todos os elementos na árvore de origem.
  • Pesquisar: Se você tiver muitos elementos na sua árvore de origem, use o ícone de pesquisa anexo para pesquisar dentro da sua árvore de origem.
  • Carregar dados de origem: Carregue dados de origem em sua transformação para fins de teste usando o anexo botão.

Funções

A aba Funções fornece uma lista de funções disponíveis para uso em seu script. As funções específicas disponíveis dependem se seu script está usando linguagem Jitterbit Script ou JavaScript. A seguinte funcionalidade está disponível para ambos os tipos:

  • Filtro: Se você souber a função específica que está procurando, use a caixa de pesquisa que aparece acima da lista de funções para procurá-la.
  • Inserir: Para usar uma função no script, clique duas vezes na função ou, com a função selecionada, clique no ícone inserir anexo.
  • Expandir/Recolher: Use o anexo anexo ícones para recolher ou expandir a lista de funções.
  • Ajuda: Com uma função selecionada, clique em anexo para visualizar a documentação da função diretamente no Studio.

Se você estiver usando linguagem Jitterbit Script, as funções disponíveis são organizadas em pastas por categoria.

anexo

Cada função do Jitterbit Script é documentada dentro de cada categoria:

Se você estiver usando JavaScript, as funções disponíveis são separadas em pastas para Jitterbit, Palavras-chave, Funções comuns, ou Matemática.

anexo

Jitterbit

Esta categoria contém uma lista de funções específicas do Jitterbit. Elas incluem um número limitado de funções Jitterbit padrão, bem como uma série de funções JavaScript específicas do Jitterbit.

Atualmente, um número limitado de funções do Jitterbit Script estão disponíveis para uso em JavaScript. Para acessar uma dessas funções do Jitterbit em seu JavaScript, prefixe a função com "Jitterbit.". Essas funções Jitterbit estão disponíveis para uso em JavaScript no Jitterbit:

  • Jitterbit.ReadFile(string source_id[, string file_name])lê um arquivo da fonte especificada, conforme descrito no construtor de fórmulas funções de arquivo. O valor retornado é uma string. Por exemplo, em JavaScript, usando esta função Jitterbit para ler um arquivo:

    var MyData = Jitterbit.ReadFile("<TAG>Sources/myfile</TAG>");
    
  • Jitterbit.WriteFile(string target_id, type file_contents[, string file_name])escreve em um arquivo e automaticamente limpa o arquivo. Nenhum valor é retornado. Veja WriteFile em Construtor de Fórmulas Funções de arquivo.

  • Jitterbit.DbExecute(string database_id, string sql_str, ...)Executa uma instrução SQL em um banco de dados e retorna os resultados. O valor retornado é uma string. Veja DBExecute em Construtor de Fórmulas Funções de Banco de Dados.

  • Jitterbit.DbLookup(string database_id, string sql_str)Executa uma instrução SQL em um banco de dados e retorna o primeiro resultado que corresponde aos critérios especificados. O valor retornado é uma string. Veja DBLookup em Construtor de Fórmulas Funções de Banco de Dados.

  • Jitterbit.GetVar(string name) e Jitterbit.SetVar(string name, string value)

    Aviso

    O Jitterbit.GetVar e Jitterbit.SetVar funções são projetadas para permitir o uso de variáveis que contêm pontos dentro do nome da variável. No entanto, usar pontos em um nome de variável não é recomendado. Como o valor será convertido em uma string quando a variável for definida, essas funções não podem ser usadas com tipos de dados complexos, como matrizes, dicionários ou objetos JSON. Em vez disso, é recomendado que você crie variáveis globais sem pontos e, em vez disso, use sublinhados no lugar de pontos e use o cifrão padrão $ sintaxe conforme descrito em Variáveis globais.

    O Jitterbit.GetVar A função recupera uma variável global Jitterbit atribuída anteriormente (uma variável prefixada com "Jitterbit"). O valor retornado é o tipo de dado apropriado.

    O Jitterbit.SetVar função atribui um valor a uma variável global Jitterbit (uma variável prefixada com "Jitterbit"). O valor retornado é uma string. Este exemplo usa uma API personalizada que executa uma operação contendo um JavaScript usando Jitterbit.GetVar e Jitterbit.SetVar:

    var response="Hello World";
    
    response += "\r\nProject name: " + Jitterbit.GetVar("$jitterbit.operation.project_name");
    response += "\r\nOperation Name: " + Jitterbit.GetVar("$jitterbit.operation.name");
    response += "\r\ntest_var: " + Jitterbit.GetVar("$jitterbit.api.request.parameters.test_var");
    
    Jitterbit.SetVar("$jitterbit.api.response.headers.content_type","text/plain");
    Jitterbit.SetVar("$jitterbit.api.response.headers.test_header", "This is a header test");
    Jitterbit.SetVar("$jitterbit.api.response",response);
    

Incluídas nesta categoria estão várias funções adaptadas para uso com JavaScript no Jitterbit. Essas funções não são prefixadas com "Jitterbit.".

  • WriteToOperationLog envia saída para o log de operação atual do Jitterbit. Criado para uso com JavaScript no Jitterbit, e funciona de forma similar à função Jitterbit descrita no Formula Builder Funções de log e erro.

  • SetScriptOutput e SetScriptResult define a saída para o script. Essas duas funções são aliases, e qualquer uma delas pode ser usada dependendo da sua preferência. Ao contrário dos Jitterbit Scripts, que retornam automaticamente o valor da última linha, os Jitterbit JavaScripts não retornam um valor automaticamente. Você pode usar qualquer uma dessas funções no seu JavaScript para retornar o resultado do script. Por exemplo:

    var MyVariable = "Hello World";
    WriteToOperationLog(MyVariable);
    SetScriptResult(MyVariable);
    

Palavras-chave

Esta categoria contém uma lista de palavras-chave JavaScript no padrão ECMAScript 5.1 e estão incluídas aqui para conveniência.

Funções comuns

Esta categoria contém uma lista de funções JavaScript no padrão ECMAScript 5.1 que podem ser relevantes para usuários do Jitterbit. Esta categoria não é abrangente – você pode usar outras funções JavaScript que não estão listadas aqui, como JavaScript Array, Date, e String objetos e suas funções associadas.

Nota

Para uma lista abrangente de funções JavaScript, consulte o padrão ECMAScript 5.1 em https://www.ecma-international.org/ecma-262/5.1/.

Matemática

Esta categoria contém propriedades de função disponíveis para o JavaScript math objeto conforme especificado no padrão ECMAScript 5.1. Esta categoria é fornecida para facilitar a referência; para a documentação abrangente, consulte o padrão ECMAScript 5.1.

Itens do projeto

A aba Project Items fornece uma lista de itens de projeto que estão disponíveis para uso em seu script, organizados por tipo de item. Eles correspondem aos itens que você vê no lado esquerdo do Studio dentro da árvore de itens do projeto (por exemplo, uma fonte ou destino existente).

anexo

As opções de filtro, inserção e expansão/recolhimento são as mesmas descritas nas funções acima.

Elementos de dados

A aba Elementos de Dados fornece Variáveis Globais, Variáveis de Projeto e Variáveis Jitterbit disponíveis.

anexo

Na aba Elementos de Dados, você também pode converter uma variável global em uma variável de projeto e ver onde cada um dos seus elementos de dados é usado dentro do seu projeto. Para acessar essas opções, clique com o botão direito do mouse em uma variável para exibir as seguintes opções:

  • Promover para uma Variável de Projeto: Se você tem uma variável global que deseja tornar estática, você pode usar esta opção para converter para uma variável de projeto. Esta opção ficará esmaecida para variáveis de projeto atuais e variáveis Jitterbit.

    anexo

  • Visualizar referências: Se você tiver muitas variáveis em seu projeto, pode usar esta opção para ver onde cada uma é usada. Visualizar referências exibirá uma tabela de itens do projeto, incluindo informações sobre mapeamento e acesso.

    anexo

As opções de filtro e inserção são as mesmas descritas em funções acima.

Nota

Variáveis locais não são listadas nesta seção porque elas não estão disponíveis globalmente para uso. No entanto, você ainda pode usá-las localmente dentro do seu script. Veja Variáveis locais para mais informações.

Plugins

A aba Plugins lista os plugins disponíveis para uso no seu Jitterbit Script. Atualmente, o uso de plugins em um JavaScript não é suportado. Se você quiser usar um plugin em um script, use um Jitterbit Script.

Nota

Nem todos os plugins podem ser usados em scripts; alguns se aplicam somente a fontes/destinos. Consulte Personalizações > Plug-ins para obter instruções sobre como adicionar plugins.

anexo

  • Inserir: Para acessar um plugin no script, clique duas vezes no plugin ou, com o plugin selecionado, clique no ícone inserir anexo.
  • Exibir manifesto: Com o plugin selecionado, clique em anexo ícone para visualizar o manifesto do plugin.
  • Atualizar: Se você acabou de adicionar um plugin, pode ser necessário clicar no ícone de atualização anexo para atualizar a lista de plugins disponíveis.

Teste

A aba Teste permite que você execute um teste independente do seu script para valores resultantes de elementos de dados.

anexo

  • Executar: A linha superior apresenta opções para executar ou parar seu script, incluindo Iniciar teste, Retomar a sessão de teste atual, Executar a próxima instrução no teste atual e Parar a sessão de teste atual. O anexo o ícone que inicia o teste tem a mesma funcionalidade que os botões de teste anexo visto em outro lugar na interface do usuário.

  • Desabilitar pontos de interrupção: Use esta caixa de seleção para desativar pontos de interrupção em um Jitterbit Script. Os pontos de interrupção podem ser usados para fins de depuração, por exemplo, para pausar a execução do teste para examinar as variáveis. Veja Funções de depuração para mais informações.

    Nota

    Esta opção não é aplicável em JavaScript, pois a depuração não está disponível em JavaScript.

  • Redefinir: Clique no botão de redefinir anexo para se preparar para um novo teste redefinindo a lista de elementos de dados.

  • Elementos de dados: Elementos de dados globais são denotados por um anexo global ícone. Os elementos de dados de origem (aqueles referenciados de uma árvore de origem em uma transformação) são denotados por uma origem anexo. Use a caixa de seleção Is Null se quiser desativar valores para fins de teste.

  • Result: A caixa à direita mostrará o status da execução do teste durante o teste e o resultado após a conclusão.