Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
Anonymous
Not applicable

Variáveis de ERRO

Olá... amigos.

Estou trabalhando com as variáveis de erros :

ErrorMode

ScriptError

ScriptErrorDetails

ScriptErrorCount

ScriptErrorList

O problema é que ao identificar um erro executo o próximo script, e preciso saber se esse outro script também deu erro.Mas com o primeiro erro, a variável armazena as informações referente ao primeiro erro.

Utilizei o "SET ScriptErrorCount = 0;" para limpar a variável e saber se deu erro no próximo evento.

Porem o QVS acusa um erro por causa deste comando.

Preciso zerar as variáveis de erro para acompanhar os próximos scripts, alguma dica?

Labels (1)
1 Solution

Accepted Solutions
afurtado
Partner Ambassador/MVP
Partner Ambassador/MVP

2015-08-04 09_32_16-QlikView x64 - [C__Furtado_Qlik_QlikView_Demos_Community_Variaveis de erros.qvw_.png

Sub LeTabela(vTabela)

    Let vQtdeErro = $(ScriptErrorCount);

    TRACE Lendo a tabela $(vTabela);

    LOAD * FROM $(vTabela).qvd (qvd);

    if  '$(ScriptErrorCount)' > '$(vQtdeErro)' then

        TRACE *******************  ERRO LENDO A TABELA $(vTabela) ****************************;

    ENDIF

ENDSUB

Set vQtdeErro = 0;

Set ErrorMode = 0;

call LeTabela('Data');

//

// com erro

call LeTabela('Datas');

furtado@farolbi.com.br

View solution in original post

7 Replies
afurtado
Partner Ambassador/MVP
Partner Ambassador/MVP

Egnaldo, boa noite.

E se você controlar em uma variável a quantidade de erros ?

Segue um exemplo.....

Se descomentar a linha que le o qvd e comentar a outra vai gerar um erro.....e se quiser pode comentar / descomentar para ver como se comporta....

furtado@farolbi.com.br
nicolett_yuri

Acho que o ideal é controlar com outras variáveis mesmo, pois estas variáveis de sistemas só são zeradas no início da próxima execução.

Mas o que você, realmente, precisa fazer?

Anonymous
Not applicable
Author

Bom dia Alessandro,

No seu exemplo eu preciso saber quais foram os arquivos que não foram encontrados para poder sinalizar ao usuário.

Não basta apenas saber que deu erro e sim quais arquivos deram erro.

Deu para entender?

afurtado
Partner Ambassador/MVP
Partner Ambassador/MVP

2015-08-04 09_32_16-QlikView x64 - [C__Furtado_Qlik_QlikView_Demos_Community_Variaveis de erros.qvw_.png

Sub LeTabela(vTabela)

    Let vQtdeErro = $(ScriptErrorCount);

    TRACE Lendo a tabela $(vTabela);

    LOAD * FROM $(vTabela).qvd (qvd);

    if  '$(ScriptErrorCount)' > '$(vQtdeErro)' then

        TRACE *******************  ERRO LENDO A TABELA $(vTabela) ****************************;

    ENDIF

ENDSUB

Set vQtdeErro = 0;

Set ErrorMode = 0;

call LeTabela('Data');

//

// com erro

call LeTabela('Datas');

furtado@farolbi.com.br
Anonymous
Not applicable
Author

Obrigado Alessandro.

Eu não tinha entendido que a variável "ScriptErrorCount" acumulava a qtd de erros.


Falta de atenção minha.

Anonymous
Not applicable
Author

Chefe nicolett.yuri,

Estou conectando em vários bancos de dados em um único script utilizando um LOOP e conexão OLEDB.

Porém em alguns momentos esta conexão pode estar indisponível e preciso saber qual deu erro e sinalizar ao usuário.

Com o tratamento de erro consegui fazer isso.

Sei que a explicação foi um pouco tarde pois o afurtado me ajudou, mas fica para auxiliar os demais usuários.

nicolett_yuri

Isso ae