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 atualsql: O comando SQL a ser executado no banco de dadosoutputVariable: (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 atualsql: 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 Jitterbitvalue: 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 arquivofilename: 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 |