Postagens

Mostrando postagens com o rótulo Javascript

[Kettle] - Troca do step "Modified JavaScript Value" por "User Defined Java Expression"

Imagem
Estou revisando algumas rotinas feitas em Kettle com o intuito de melhorar a velocidade com que são executadas. Uma das tarefas hoje foi averiguar a necessidade de uso de alguns steps de Javascript (conhecidamente custosos) buscando possíveis substituições que fossem mais performáticas. Desta forma resolvi trocar um dos steps que se chama "Define deMes e Semestre" construído sobre o step "Modified Javascript Value" pelo  "User Defined Java Expression". Em resumo ficou assim: - Troca do componente “Modified JavaScript Value” ( Interpretado )... - Pelo “User Defined Java Expression” ( Compilado )... - Detalhes do step JavaScript: - Detalhes do Step Java Expression: Abaixo descrevo melhor as "Java Expressions que criei, em substituição às feitas em Javascript: Expressão para variável “deMesAno”: nuMes+"/"+ nuAno Expressão para variável “semestre”: nuMes<=6 ?"1º Semestre" :...

[Kettle] - Primeira/Última Data do Ano/Mês informado, com tratamento de Exceção

Imagem
Trata-se de uma pequena rotina para extrair do Ano e Mês informados o primeiro e último dia deste mês, utilizando um componente javascript. Além disso estou utilizando o tratamento de erros que gera um alerta, escreve a informação no log e aborta a transformação. Segue abaixo detalhes da Transformação: - Inicialmente eu capturo o Ano e Mês das variáveis de ambiente ${nuAno} e ${nuMes}, que poderiam ser por exemplo 2011 e 08 respectivamente: - Após isso utilizo o componente javascript para fazer efetivamente o trabalho: - Para o primeiro dia basta montar a data utilizando o dia primeiro e concatenando com mês e ano. Assim:  var  dtInicial =  str2date ( "01/"  + mes +  "/"  + ano, "dd/MM/yyyy" ); - Para o último aí há várias formas. A que usei foi com a função DateAdd() do javascript, onde somo 1 mês à  dtInicial , recém definida e subtraio depois 1 dia. Desta forma tenho o último dia do mês:  var  dtFinal =  dateAdd ( dateAdd...