Ir para o conteúdo

Crie um Script

Introdução

Scripts em Design Studio são usados para manipular dados ou para executar lógica avançada (if, while, instruções case, etc.). Os Scripts são frequentemente usados em operações e transformações para fornecer funcionalidades adicionais além dos recursos básicos de operação/ transformação. Eles podem ser escritos usando a Jitterbit Script Language ou, se estiver criando um script como um item de projeto, usando JavaScript.

Existem vários locais no Design Studio onde você pode criar um script dependendo do que deseja realizar. Cada um deles está resumido abaixo e descrito com mais detalhes nesta página. A interface do usuário para construção de scripts é semelhante entre todos os tipos e está descrita no final deste documento.

  • Script como 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. 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 valor para seu campo de destino. Esse tipo de script está disponível somente em todos os campos do mapeamento de transformação.

  • 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 verdadeiro ou falso. Esse tipo de script pode ser adicionado somente no mapeamento de transformação.

    Nota

    O uso de um script como condição em uma transformação não deve ser confundido com o uso de 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 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 Visualizar > Script Pad.

Tipos de Scripts

Script Como 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 trunque 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 diversos 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 dentro do Design Studio, existem diversas maneiras de criar um novo script como item de projeto:

  • Na árvore à esquerda, clique com o botão direito 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çãoanexo e escolha Inserir > Script. Ou clique com o botão direito em uma origem ou destino e escolha Inserir antes disso > Script ou Inserir depois disso > Script. Um ícone de script aparecerá no gráfico de operação. Em seguida, faça um dos seguintes:

    • Clique com o botão direito 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 Jitterbit Script Language.

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 de usuário do construtor de script para ambos os tipos é abordada em Build Scripts no final desta página.

Você também pode voltar 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 valor para seu campo de destino. Por exemplo, você pode usar scripts para alterar um campo de string para int, concatenar valores, usar uma pesquisa de banco de dados para um campo ou definir o preenchimento condicional do campo.

Esse tipo de script está disponível somente em todos os campos do mapeamento de transformação. No mapeamento de transformação, clique duas vezes no campo de destino cujo script você deseja editar.

anexo

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

anexo

Script Como uma 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 verdadeiro ou falso. Se o valor retornado não for verdadeiro/falso, ele será tratado como falso.

Nota

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

Esse tipo de script só pode ser acessado no mapeamento de transformação. Dentro do seu mapeamento de transformação, clique com o botão direito em uma pasta que tenha um ou mais elementos [E+] ou zero ou mais elementos [E*] (consulte Explicação da notação do caminho da entidade hierárquica) e escolha Adicionar condição.

anexo

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

anexo

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

anexo

Teste de Script Usando Script Pad

O script pad é uma ferramenta 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 Visualizar > Script Pad.

anexo

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

anexo

Construir Scripts

A interface do usuário do construtor de script é semelhante para todos os tipos de script descritos anteriormente nesta página. A seguir, explicamos cada elemento possível da interface do construtor de script e quais elementos podem ser usados nos tipos de script especificados.

Nota

Consulte também Recursos do Formula Builder para obter 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 extremidade esquerda do script. Para ativar ou desativar os números de linha, clique com o botão direito no plano de 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 usada.

    • Jitterbit Script Language: Para scripts que usam a linguagem de script Jitterbit, a expressão final deve estar contida em <trans> ... </trans> Tag. Consulte Linguagem de Jitterbit Script para obter dicas e requisitos adicionais de sintaxe.
    • JavaScript: Para scripts que usam JavaScript, nenhuma tag é necessária. Basta inserir 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 está 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, próximo ao nome do script:

    anexo

    anexo

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

  • Modo: Use este menu suspenso para alternar entre os modos Desenvolvedor e Analista de negócios. O modo de desenvolvedor fornece uma interface de usuário para usuários avançados, enquanto o modo de analista de negócios fornece uma interface de assistente 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 do script onde o cursor está localizado. Para ir para uma linha específica, você pode clicar com o botão direito no plano de 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 fazer referência aos 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 ícone 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 em sua árvore de origem, use o ícone de pesquisa anexo para pesquisar em sua árvore de origem.
  • Carregar dados de origem: Carregue dados de origem em sua transformação para fins de teste usando o attachment 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 o seu script está usando Jitterbit Script Language ou JavaScript. A seguinte funcionalidade está disponível para ambos os tipos:

  • Filtro: Se você conhece 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 de inserção anexo.
  • Expandir/Recolher: Use o anexo anexo ícones para recolher ou expandir a lista de funções.
  • Ajuda: Com uma função selecionada, clique no anexo para visualizar a documentação sobre a função diretamente no Studio.

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

anexo

Cada função do Jitterbit Script está documentada em 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

Tremor

Esta categoria contém uma lista de funções específicas do Jitterbit. Isso inclui um número limitado de funções padrão do Jitterbit, 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á disponível para uso em JavaScript. Para acessar uma dessas funções Jitterbit em seu JavaScript, prefixe a função com "Jitterbit.". Estas funções do 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 em Formula Builder File Functions. 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])Grava em um arquivo e libera o arquivo automaticamente. Nenhum valor é retornado. Veja WriteFile em Formula Builder 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. Consulte DbExecute em Formula Builder 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. Consulte DBLookup em Formula Builder 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, não é recomendado usar pontos em um nome de variável. 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 arrays, dicionários ou objetos JSON. Em vez disso, é recomendável criar variáveis Jitterbit sem pontos e, em vez disso, usar sublinhados no lugar de pontos e usar o cifrão padrão $ sintaxe conforme descrito em Variáveis Globais.

    O Jitterbit.GetVar função recupera uma variável global Jitterbit atribuída anteriormente (uma variável prefixada com "Jitterbit"). O valor retornado é o tipo de dados 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 diversas funções adaptadas para uso com JavaScript no Jitterbit. Essas funções não são prefixadas com "Jitterbit.".

  • WriteToOperationLog Envia a saída para o log de operação atual do Jitterbit. Criado para uso com JavaScript no Jitterbit e funciona de forma semelhante à função Jitterbit descrita no Formula Builder Logging and Error Functions.

  • SetScriptOutput e SetScriptResult Define a saída do script. Essas duas funções são apelidos e podem ser usadas dependendo de 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 em 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 por 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 obter 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 JavaScript math objeto conforme especificado no padrão ECMAScript 5.1. Esta categoria é fornecida para facilitar a referência; para obter a documentação abrangente, consulte o padrão ECMAScript 5.1.

Itens do Projeto

A aba Itens do projeto fornece uma lista de itens do 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 na árvore de itens do projeto (por exemplo, uma origem ou destino existente).

anexo

As opções de filtrar, inserir e expandir/recolher 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 elementos de dados é usado no projeto. Para acessar essas opções, clique com o botão direito em uma variável para exibir as seguintes opções:

  • Promover para uma variável de projeto: Se você tiver uma variável global que deseja tornar estática, poderá usar esta opção para converter em uma variável de projeto. Esta opção ficará esmaecida para variáveis do projeto atual e variáveis Jitterbit.

    anexo

  • Ver referências: Se você tiver muitas variáveis em seu projeto, poderá usar esta opção para ver onde cada uma é usada. A visualização das 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 nas funções acima.

Nota

Variáveis locais não estão listadas nesta seção porque não estão globalmente disponíveis para uso. No entanto, você ainda pode usá-los localmente em seu script. Consulte Variáveis Locais Para maiores informações.

Plug-ins

A aba Plugins lista os plug-ins disponíveis para uso em seu Jitterbit Script. Atualmente, o uso de plug-ins em JavaScript não é compatível. 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 apenas a fontes/destinos. Consulte Personalizações > Plug-ins para obter instruções sobre como adicionar plug-ins.

anexo

  • Inserir: Para acessar um plugin no script, clique duas vezes no plugin ou, com o plugin selecionado, clique no ícone de inserção anexo.
  • Ver Manifesto: Com o plugin selecionado, clique no botão anexo ícone para visualizar o manifesto do plug-in.
  • Atualizar: Se você acabou de adicionar um plugin, pode ser necessário clicar no ícone de atualização anexo para atualizar a lista de plug-ins disponíveis.

Teste

A aba Teste permite executar um teste independente do seu script para valores resultantes de elementos de dados.

anexo

  • Executar: A linha superior apresenta opções para executar ou interromper 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 ícone que inicia o teste tem a mesma funcionalidade que os botões de teste attachment visto em outro lugar na interface do usuário.

  • Desativar 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 variáveis. Consulte Funções de depuração Para maiores 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 redefinir anexo para se preparar para um novo teste redefinindo a lista de elementos de dados.

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

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