Fala pessoal! Tudo bom?

 

Voltando ao assunto de Melhores Práticas, quero falar sobre o Include!

 

Quando estamos em um cliente, ou em nossa empresa, em que o ambiente de QlikView seja pequeno não percebemos a importância do Include (Mas o que é isso? Calma! rsrs). Houve uma mudança na estrutura de diretórios do ambiente? Entro no QVW do meu projeto e altero a variável de caminho (Espero que você tenha esse costume de colocar variáveis com os caminhos dos arquivos !)

Como citei anteriormente, se o meu ambiente é pequeno, com poucos qvws, entro em cada um deles e altero, mas e se meu ambiente esta grande? Vou perder algumas belas horas para alterar tudo!

 

 

O que é a função Include?

Include é uma variável de sistema.

 

 

Qual a sua função?

A função Include especifica um arquivo contendo texto que deve ser incluído no script. Esse conteúdo adicionado em seu script será interpretado como qualquer outro conteúdo que você adicionou diretamente no script, por exemplo: Declaração de variáveis, leitura de tabelas, etc.

 

 

Como utilizar?

Dentro de seu script, em qualquer lugar, você deve declarar a função Include como se estivesse executando uma variável ( sinal do dólar "$") e passando como parâmetro o nome do arquivo (este que contém o texto que deve ser incluído no script), veja o exemplo:

01

 

 

Neste caso o arquivo "meu_arquivo.txt" contém o seguinte conteúdo:

02

PS: O comando TRACE exibe um texto dentro da janela de execução do script e também no log de execução deste QVW.

 

Ao executar o script:

03

 

Fique atento!

Reparem que no exemplo utilizei apenas o nome do arquivo, sem passar o seu caminho, isso porque o arquivo "meu_arquivo.txt" se encontra no mesmo diretório do QVW. Caso estejam em diretórios diferentes, então você deve passar o caminho desse diretório (Seja o caminho físico, relativo ou caminho de rede):

 

Exemplo caminho físico:

04

 

Exemplo caminho relativo:

05

 

Exemplo caminho de rede:

06

 

Posso trocar o caminho por uma variável?

Sim!

07

 

 

E a melhor prática?

A utilização que é recomendada: definição de caminhos de arquivos (qvws, qvds, planilhas, imagens, etc) e strings de conexão com bases de dados. Desta forma todo esse conteúdo fica centralizado em apenas um local, facilitando a manutenção e correções.

Mas nada impede você criar a sua própria utilização, por exemplo: Tenho uma sessão de acesso padrão para todos os projetos de determinada área, então crio um arquivo texto contendo essa sessão de acesso e substituo o código pelo Include nestas aplicações.

Outro caso bem interessante de utilização é quando temos ambiente de Desenvolvimento e Produção em que a árvore de diretórios é diferente, basta ter um arquivo de paths para cada ambiente e a substituição do QVW de um ambiente para outro poderá ser realizada sem nenhuma alteração dentro do script de sua aplicação.

 

Pequenos exemplos:

Concentrando todas as variáveis de todos os projetos

08

String de conexão com base de dados

09

 

 

Variação da função, Must_Include

A função Include também pode ser utilizada com o MUST, forçando uma obrigação do arquivo existir? Ué, não entendi.

Utilizando somente Include, caso você tenha digitado o caminho errado do arquivo, ou nome errado ou então esse arquivo não existir mas, o QlikView não apresentará nenhum erro em sua execução e também não vai registrar erro no log. Faça um teste, delete o arquivo de path ou altere o nome e execute a recarga do Qlikview, note que eles não realizará o input da informação contida no arquivo (pois esse arquivo não existe mais), mas também não apresentará nenhum erro.

 

 

Não gostei!

Calma, podemos utilizar a Include com a variação do Must.

Alterando a chamada da função para Must_Include, o arquivo obrigatoriamente precisa existir, caso contrário um erro será exibido.

No exemplo, o arquivo "meu_arquivo_que_nao_existe.txt" realmente não existe rsrs!

Veja o erro apresentado após a execução:

10

 

 

Observações importantes

A declaração do Include ou Must_Include não é case sensitive, ou seja, não diferencia letras maiúsculas de letras minúsculas, desta forma se a declaração for: MUST_INCLUDE ou Must_Include ou mUSt_IncLuDE a interpretação será realizada pelo Qlikview. Aliás isso ocorre para todas as variáveis de sistema do QlikView!

 

 

Conclusão

Na maioria dos casos, as melhores práticas são coisas pequenas e simples que podem facilitar em muito a vida do responsável pelo ambiente.

Imagine um ambiente com 200 qvws, as mudanças ficam muito mais práticas, né?

 

Para fazer download do material de exemplo, clique aqui!

 

Muito obrigado e até a próxima semana!