Ir para o conteúdo

JavaScript Jitterbit e funções comuns no Design Studio

Os JavaScripts do Jitterbit podem acessar—além das funções padrão do JavaScript que fazem parte do ECMA-262 v5.1—essas funções específicas do Jitterbit. Como o ECMA-262 v5.1 é uma versão mais antiga do JavaScript do que a que é comumente disponível em navegadores e outros motores JavaScript, incluímos tabelas das funções comuns e padrão do JavaScript que estão disponíveis nos JavaScripts do Jitterbit.

Importante

Para um desempenho aprimorado, recomendamos usar JavaScript apenas quando um Jitterbit Script equivalente não estiver disponível.

Nota

  • O número máximo de iterações de loop permitido no Harmony é 50.000.
  • O número máximo de iterações de loop na Linguagem de Script do Jitterbit é por cada loop individual. Para aumentar o número permitido de iterações por loop em um script da Linguagem de Script do Jitterbit, consulte Jitterbit.scripting.while.max_iterations em Variáveis de Script do Jitterbit.
  • O número máximo de iterações de loop em JavaScript é por script (agregado de todos os loops dentro de um script). Para aumentar o número máximo de iterações de loop em JavaScript, consulte Java script loop em JavaScript.

Funções do Jitterbit

Jitterbit.DbExecute

Declaração

array Jitterbit.DbExecute(string databaseId, string sql)

int Jitterbit.DbExecute(string databaseId, string sql, string outputVariable,...)

Sintaxe

Jitterbit.DbExecute(<databaseId>, <sql>)

Jitterbit.DbExecute(<databaseId>, <sql>, <outputVariable>,...])

Parâmetros obrigatórios

  • databaseId: Uma string que representa a fonte de dados no projeto atual
  • sql: O comando SQL a ser executado no banco de dados
  • outputVariable: (Segunda forma) Um parâmetro de saída que corresponde aos campos retornados no comando SQL. Argumentos adicionais podem ser especificados conforme necessário.

Descrição

Executa uma instrução SQL em um banco de dados e retorna os resultados. Consulte a função DBExecute do Jitterbit Script para mais detalhes.

Jitterbit.DbLookup

Declaração

string Jitterbit.DbLookup(string databaseId, string sql)

Sintaxe

Jitterbit.DbLookup(<databaseId>, <sql>)

Parâmetros obrigatórios

  • databaseId: Uma string que representa a fonte de dados no projeto atual
  • sql: O comando SQL a ser executado no banco de dados

Descrição

Executa uma instrução SQL em um banco de dados e retorna o primeiro campo do primeiro resultado que corresponde aos critérios especificados. Consulte a função DBLookup do Jitterbit Script para mais detalhes.

Jitterbit.GetVar

Declaração

string Jitterbit.GetVar(string jitterbitVariableName)

Sintaxe

Jitterbit.GetVar(<jitterbitVariableName>)

Parâmetros obrigatórios

  • jitterbitVariableName: O nome de uma variável Jitterbit

Descrição

Retorna o valor de uma variável Jitterbit (uma variável global pré-definida que está embutida no agente e começa com jitterbit.). As variáveis disponíveis podem ser vistas no Design Studio e estão documentadas em variáveis Jitterbit.

Aviso

Também é possível, mas não recomendado, usar a função Jitterbit.GetVar para recuperar o valor de uma variável global definida pelo usuário.

A função Jitterbit.GetVar foi projetada para permitir o uso de variáveis que contêm pontos dentro do nome da variável. No entanto, não é recomendado usar pontos no nome de uma variável global definida pelo usuário. 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, recomenda-se criar variáveis globais sem pontos e usar sublinhados no lugar de pontos, utilizando a sintaxe padrão do cifrão $, conforme descrito em Variáveis globais.

Examples

// Retrieves the value of the Jitterbit variable "jitterbit.api.request"
var request = Jitterbit.GetVar("$jitterbit.api.request");

Jitterbit.ReadFile

Declaration

string Jitterbit.ReadFile(string sourceId[, string fileFilter])

Syntax

Jitterbit.ReadFile(<sourceId>[, <fileFilter>])

Required parameters

  • sourceId: Fonte do tipo arquivo no projeto atual

Optional parameters

  • fileFilter: Filtro de arquivo ou nome de arquivo para substituir a definição da fonte

Description

Lê o conteúdo de um arquivo de uma fonte.

A fonte do tipo arquivo usada nesta chamada de função deve ser definida como uma fonte no projeto atual.

Consulte as instruções sobre inserindo itens do projeto.

O método retorna o conteúdo do arquivo apontado pela fonte. Se o filtro da fonte selecionar mais de um arquivo, o primeiro será utilizado. Recomenda-se especificar uma fonte que identifique de forma única um único arquivo.

O parâmetro fileFilter é opcional e pode ser usado para substituir o filtro de arquivo utilizado na definição da fonte. Um nome de arquivo pode ser utilizado. Alternativamente, uma variável global pode ser usada para substituir o filtro de arquivo na definição da fonte. Variáveis globais são referenciadas como [de_name] na definição da fonte.

A partir da versão 8.20 do Harmony, se a função ReadFile falhar, a operação não falha. Um script será abortado, um aviso será adicionado ao log da operação e a operação continuará.

Este método pode ser usado para ler dados de uma fonte HTTP. Nesse caso, todas as variáveis Jitterbit $jitterbit.source.http.* serão preenchidas.

Exemplos

// Reads the first file retrieved from a source
var fileContents = Jitterbit.ReadFile("<TAG>Sources/Customer CSV FTP</TAG>");

// Use the filename "test.txt" instead of what is defined in the source
var fileContents = Jitterbit.ReadFile("<TAG>Sources/Customer CSV FTP</TAG>", "test.txt");

Jitterbit.SetVar

Declaração

Jitterbit.SetVar(string jitterbitVariableName, string value)

Sintaxe

Jitterbit.SetVar(<jitterbitVariableName>, <value>)

Parâmetros obrigatórios

  • jitterbitVariableName: O nome de uma variável Jitterbit
  • value: Um valor a ser atribuído à variável

Descrição

Define o valor de uma variável Jitterbit (uma variável global pré-definida que está embutida no agente e começa com jitterbit.). As variáveis disponíveis podem ser vistas no Design Studio e estão documentadas em Variáveis Jitterbit.

Aviso

Também é possível, mas não recomendado, usar a função Jitterbit.SetVar para definir o valor de uma variável global definida pelo usuário.

A função Jitterbit.SetVar foi projetada 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 global definida pelo usuário 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 arrays, dicionários ou objetos JSON. Em vez disso, recomenda-se que você crie variáveis globais sem pontos e use sublinhados no lugar de pontos, utilizando a sintaxe padrão de cifrão $ conforme descrito em Variáveis globais.

Exemplos

// Define uma variável Jitterbit
Jitterbit.SetVar("$jitterbit.scripting.db.max_rows", 1000);

Jitterbit.WriteFile

Declaração

void Jitterbit.WriteFile(string targetId, type fileContents[, string filename])

Sintaxe

Jitterbit.WriteFile(<targetId>, <fileContents>[, <filename>])

Parâmetros obrigatórios

  • targetId: Alvo do tipo arquivo no projeto atual

Parâmetros opcionais

  • fileContents: Dados a serem escritos no arquivo
  • filename: Nome do arquivo para substituir a definição do alvo

Descrição

Escreve os fileContents no alvo do tipo arquivo especificado por targetId. Se fileContents for do tipo binário, os dados binários são escritos no arquivo. Em todos os outros casos, uma representação em string dos dados é escrita. O arquivo é automaticamente liberado e fechado pela função.

O alvo do tipo arquivo usado nesta chamada de função deve ser definido como um alvo no projeto atual.

As variáveis disponíveis podem ser vistas no Jitterbit Studio e estão documentadas em variáveis Jitterbit.

O terceiro parâmetro, filename, é opcional e pode ser usado para substituir o nome do arquivo usado no alvo. Alternativamente, uma variável global pode ser usada para substituir o nome do arquivo na definição do alvo. Variáveis globais são referenciadas como [de_name] na definição do alvo.

Este método também pode ser usado para escrever/postar dados em um alvo HTTP. Nesse caso, as variáveis $jitterbit.target.http.* serão preenchidas.

A partir da versão 8.20 do Harmony, se a função WriteFile falhar, a operação não falha. Um script será abortado, um aviso adicionado ao log da operação e a operação continuará.

Exemplos

//  Writes the value of $contents to the file defined by a target
Jitterbit.WriteFile("<TAG>Targets/FTP Target</TAG>", $contents);

// Use the filename "test.txt" instead of what is defined in the target
Jitterbit.WriteFile("<TAG>Targets/FTP Target</TAG>", $contents, "test.txt");

SetScriptOutput

Declaração

void SetScriptOutput(string data)

Sintaxe

SetScriptOutput(<data>)

Parâmetros obrigatórios

  • data: Dados a serem retornados pelo script

Descrição

Define o valor retornado por um script.

O valor de retorno de um script pode ser acessado como o valor de retorno da função RunScript.

Exemplos

// In the calling Jitterbit Script script:
$result = RunScript("<TAG>Scripts/CalculateSomething</TAG>", value_to_be_calculated);

// In the Jitterbit JavaScript script "CalculateSomething":
var calculated_value = ...;
...
SetScriptOutput(calculated_value);

SetScriptResult

Declaração

void SetScriptResult(string data)

Sintaxe

SetScriptResult(<data>)

Parâmetros obrigatórios

  • data: Dados a serem retornados pelo script

Descrição

Um alias para a função SetScriptOutput. Veja SetScriptOutput para detalhes.

WriteToOperationLog

Declaração

string WriteToOperationLog(string message)

Sintaxe

WriteToOperationLog(<message>)

Parâmetros obrigatórios

  • message: Uma mensagem em string

Descrição

Escreve uma mensagem no Log de Operações.

Exemplos

// Escreve uma mensagem no Log de Operações
WriteToOperationLog("O campo de origem 'Preço' tem um valor inválido.");

Funções comuns de JavaScript

Essas funções comuns de JavaScript—parte do ECMA-262 v5.1—são suportadas nos JavaScripts do Jitterbit.

Propriedade Comum Descrição
Array Veja as propriedades e funções de array do JavaScript
Date Veja as propriedades e funções de data do JavaScript
decodeURI() Decodifica um URI
decodeURIComponent() Decodifica um componente de URI
encodeURI() Codifica um URI
encodeURIComponent() Codifica um componente de URI
eval() Avalia uma string e a executa como se fosse código JavaScript
isFinite() Testa se um valor é um número finito e legal
isNaN() Testa se um valor é um número ilegal
JSON.parse() Analisa uma string JSON e retorna um objeto JavaScript
JSON.stringify() Converte um objeto JavaScript em uma string JSON
Math Veja as propriedades e funções matemáticas do JavaScript
Number() Converte o valor de um objeto em um número
parseFloat() Analisa uma string e retorna um número de ponto flutuante
parseInt() Analisa uma string e retorna um inteiro
String Veja as propriedades e funções de string do JavaScript