Funções de validação de texto no Jitterbit Studio
Essas funções fornecem para um script de validação a mesma validação que pode ser definida para um formato de arquivo de documento de texto.
Validate
Declaração
bool Validate(string op, string arg[, boolean ignoreCase])
Sintaxe
Validate(<op>, <arg>[, <ignoreCase>])
Parâmetros obrigatórios
op: O operador de comparação a ser usado para a validaçãoarg: O valor a ser usado com o operador de comparação na validação
Parâmetros opcionais
ignoreCase: Se deve ignorar a diferença entre maiúsculas e minúsculas ao realizar a validação; padrão,false
Descrição
Essa função é destinada a ser chamada a partir de um script usado para validação de texto. Ela fornece para esse script de validação a mesma validação que pode ser definida para um formato de arquivo de documento de texto. Normalmente, essa função é chamada em um script usado na validação de um formato de arquivo de documento de texto de origem. Observe que a validação funciona apenas para fontes, não para destinos.
A função Validate assume que o script chamador possui esses três argumentos de entrada fornecidos a ele, pois os utiliza para obter o valor que será validado:
_1: O valor de entrada, como uma string_2: Uma string com o tipo de dado do valor de entrada (o campo "Tipo" conforme usado no Formato de Arquivo)_3: Uma string de formato do valor de entrada (o campo "Formato" conforme usado no Formato de Arquivo)
Consulte a função ArgumentList para mais informações sobre como os valores são passados usando a sintaxe _n.
Operadores de comparação e valores
Dependendo do tipo de dado passado para o script chamado, diferentes operadores de comparação e valores podem ser usados. Em todos os casos, uma expressão regular pode ser usada que segue a sintaxe da biblioteca de expressões regulares Boost. É uma variação da sintaxe de expressões regulares Perl.
| Tipo de Dado | Operadores de Comparação | Valores de Comparação |
|---|---|---|
| String | =!=ContémNão ContémUm DosNão Um DosRegex |
Valores de string |
| Número (Inteiro, Longo, Flutuante, Duplo) |
<<=>>==!=EntreNão EntreRegex |
Valores Inteiro, Longo, Flutuante ou Duplo |
| Data | <<=>>==!=EntreNão EntreRegex |
Datas (ou strings que representam uma data) usando os valores de comparação de data |
| Boolean | =!=Regex |
true, false, 1, 0 |
Valores de comparação de data
Para datas, esses valores de comparação podem ser usados, além das próprias datas. Observe que algumas variações usam um parâmetro inteiro para indicar uma quantidade.
| Valor de Comparação | Descrição |
|---|---|
ONTEM |
Começa às 12:00:00 do dia anterior e continua por 24 horas. |
HOJE |
Começa às 12:00:00 do dia atual e continua por 24 horas. |
AMANHÃ |
Começa às 12:00:00 após o dia atual e continua por 24 horas. |
ÚLTIMA_SEMANA |
Começa às 12:00:00 no primeiro dia da semana antes do mais recente primeiro dia da semana e continua por sete dias completos. O primeiro dia da semana é determinado pela localidade atual. |
ESTA_SEMANA |
Começa às 12:00:00 no mais recente primeiro dia da semana antes do dia atual e continua por sete dias completos. O primeiro dia da semana é determinado pela sua localidade. |
PRÓXIMA_SEMANA |
Começa às 12:00:00 no mais recente primeiro dia da semana após o dia atual e continua por sete dias completos. O primeiro dia da semana é determinado pela sua localidade. |
ÚLTIMO_MÊS |
Começa às 12:00:00 no primeiro dia do mês anterior ao dia atual e continua por todos os dias desse mês. |
ESTE_MÊS |
Começa às 12:00:00 no primeiro dia do mês em que o dia atual está e continua por todos os dias desse mês. |
PRÓXIMO_MÊS |
Começa às 12:00:00 no primeiro dia do mês após o mês em que o dia atual está e continua por todos os dias desse mês. |
ÚLTIMOS_90_DIAS |
Começa às 12:00:00 do dia atual e continua pelos últimos 90 dias. |
PRÓXIMOS_90_DIAS |
Começa às 12:00:00 do dia atual e continua pelos próximos 90 dias. |
ÚLTIMOS_N_DIAS:n |
Para o número n fornecido, começa às 12:00:00 do dia atual e continua pelos últimos n dias. |
PRÓXIMOS_N_DIAS:n |
Para o número n fornecido, começa às 12:00:00 do dia atual e continua pelos próximos n dias. |
ESTE_TRIMESTRE |
Começa às 12:00:00 do trimestre atual e continua até o final do trimestre atual. |
ÚLTIMO_TRIMESTRE |
Começa às 12:00:00 do trimestre anterior e continua até o final desse trimestre. |
PRÓXIMO_TRIMESTRE |
Começa às 12:00:00 do próximo trimestre e continua até o final desse trimestre. |
PRÓXIMOS_N_TRIMESTRES:n |
Começa às 12:00:00 do próximo trimestre e continua até o final do nº trimestre. |
ÚLTIMOS_N_TRIMESTRES:n |
Começa às 12:00:00 do trimestre anterior e continua até o final do nº trimestre anterior. |
ESTE_ANO |
Começa às 12:00:00 de 1º de janeiro do ano atual e continua até o final de 31 de dezembro do ano atual. |
ÚLTIMO_ANO |
Começa às 12:00:00 de 1º de janeiro do ano anterior e continua até o final de 31 de dezembro daquele ano. |
PRÓXIMO_ANO |
Começa às 12:00:00 de 1º de janeiro do ano seguinte e continua até o final de 31 de dezembro daquele ano. |
PRÓXIMOS_N_ANOS:n |
Começa às 12:00:00 de 1º de janeiro do ano seguinte e continua até o final de 31 de dezembro do nº ano. |
ÚLTIMOS_N_ANOS:n |
Começa às 12:00:00 de 1º de janeiro do ano anterior e continua até o final de 31 de dezembro do nº ano anterior. |
Exemplos
Você pode usar esta função em um script ou mapeamento. Primeiro, crie um script ("ValWrap") que envolve a função Validate para que as variáveis locais necessárias sejam preenchidas:
<trans>
// This code could be a script called
// "ValWrap". It would be called from
// another script or mapping.
// Argument List:
// _1 (input_string_value), _2 (data_type),
// _3 (format) _4 (comparison operator),
// _5 (comparison value), _6 (ignore case)
Validate(_4, _5, _6);
</trans>
Em seguida, chame o script wrapper de outro script (ou um mapeamento) para usar sua função Validate:
// This code calls a wrapper script to access
// the Validate function.
// Wrapper Argument List:
// _1 (input_string_value), _2 (data_type),
// _3 (format), _4 (comparison operator),
// _5 (comparison value), _6 (ignore case)
// Validation of a Date
a1 = Date(CVTDate("02192018", "mmddyyyy", "yyyy-mm-dd HH:MM:SS"));
a2 = "Date";
a3 = ""; // Format not required if a Date passed
a4 = "=";
a5 = "THIS_QUARTER";
a6 = "true";
resultA = RunScript("<TAG>script:ValWrap</TAG>",
a1, a2, a3, a4, a5, a6);
// Validation of a String Date
b1 = "02192018";
b2 = "Date";
b3 = "mmddyyyy";
b4 = "=";
b5 = "THIS_QUARTER";
b6 = "true";
resultB = RunScript("<TAG>script:ValWrap</TAG>",
b1, b2, b3, b4, b5, b6);
// Validation of an Integer
c1 = 100;
c2 = "Integer";
c3 = "";
c4 = ">";
c5 = 1000;
c6 = "true";
resultC = RunScript("<TAG>script:ValWrap</TAG>",
c1, c2, c3, c4, c5, c6);