Skip to main content
Announcements
Live today at 11 AM ET. Get your questions about Qlik Connect answered, or just listen in. SIGN UP NOW
cancel
Showing results for 
Search instead for 
Did you mean: 
Ribeiro
Specialist
Specialist

Verificar sem tem internet antes de carregar um script

Busco informações da internet para relacionar com o banco de dados.

Mas as vezes não tem  internet e aparece erro de conexão do qlikview.

Existe algo que posso fazer, antes de carregar o script online ele verificar sem existe conexão com a internet.

Alguma dica?

Exemplo: Caso não tenha internet que ele não carregue nada.

Neves
1 Solution

Accepted Solutions
thiago_mlg
Creator II
Creator II

Agnaldo, pensando no seu problema me surgiu algumas dúvidas.

Esse load que você faz desta planilha, o caso seria, quando não tem internet o próprio qlikview não consegue se conectar a planilha ele vai dar um erro e nem vai fazer o load, vai dar falha de load.. e então ele não vai carregar nada.. e vai travar..  Se o load você faz na mão seria só cancelar.. se o load é feito pelo SERVER, ele vai dar erro e nao vai atualizar o arquivo.. o unico problema que eu vejo neste caso é se tiver mais tarefas abaixo desta e ele nao vai atualizar as próximas tarefas.. Seria esse o caso??

View solution in original post

7 Replies
thiago_mlg
Creator II
Creator II

Agnaldo, bom dia!

Com relação a verificar a internet, pode ser que exista, porem eu desconheço. Mas se vc busca informações da internet, uma solução bem simples, é ao buscar os dados da internet, você pode carrega-lo em uma tabela, e então vc cria uma condicional para saber se ela tabela tem mais de 0 registros, caso ela esteja vazia, você da um exit script sem carregar dados do qvw, desta forma caso não tenha internet ele não carregará nada.

um exemplo de script:

Na hora de carregar os dados da internet em uma TABELA, você ja adiciona a contagem de registros em uma variavel.

//verifica o número de linhas da carga

TABELA:

LOAD *

FROM

INTERNET;

LET TABELAQTD_DE_LINHAS = NoOfRows('TABELA');

IF(TABELAQTD_DE_LINHAS =0  THEN

EXIT SCRIPT;


END IF;


nao for maior que 0 ele vai continuar a carga normalmente.


qualquer dúvida á disposição


att,


Thiago Gonçalo

Ribeiro
Specialist
Specialist
Author

Thiago,

Funciona, Mas ele não sai do carregamento. Fica no script.

Precisava que ele pare sai do carregamento.

Alguma dica?

Acima o exemplo qvw

TABELA:

LOAD

ERRO

   

FROM

[http://www.consultoriasoft.com.br/erro/ERRO.xlsx]

(ooxml, embedded labels, table is Plan4);

LET TABELAQTD_DE_LINHAS = NoOfRows('TABELA');

IF(TABELAQTD_DE_LINHAS =0)  THEN

EXIT SCRIPT;

END IF;

LOAD Ordem_Tabela_Preco,

     Preco,

     Qtde_Estoque_Atual,

     Ordem_Filial,

     NomeProdutoE,

     CodigoProdutoE,

     CodigoSubclassesE,

     NomeSubclasseE,

     CodigoClasseE,

     NomeClasseE,

     UnidadeVendaE,

     Data_Alteracao,

     PrecoCustoEstoque,

     Peso_LiqE,

     Peso_BrutoE,

     DiaE,

     TrimestreE,

     AnoE,

     MêsE,

     NomeFilialE,

     CodigoFilialE,

     NomeTabelaPrecoE,

     CodigoFornecedorE,

     NomeFornecedorE

FROM

(qvd);

Neves
thiago_mlg
Creator II
Creator II

Agnaldo, pensando no seu problema me surgiu algumas dúvidas.

Esse load que você faz desta planilha, o caso seria, quando não tem internet o próprio qlikview não consegue se conectar a planilha ele vai dar um erro e nem vai fazer o load, vai dar falha de load.. e então ele não vai carregar nada.. e vai travar..  Se o load você faz na mão seria só cancelar.. se o load é feito pelo SERVER, ele vai dar erro e nao vai atualizar o arquivo.. o unico problema que eu vejo neste caso é se tiver mais tarefas abaixo desta e ele nao vai atualizar as próximas tarefas.. Seria esse o caso??

Ribeiro
Specialist
Specialist
Author

Ele é feito manual

O que eu preciso é seguinte:

Faço a conexão com a internet, para verificar um chave,

Caso esta chave seja diferente ele não carregue.

O problema é que se não haja internet ele da erro.

Precisava verificar primeiro a internet, e feito manual, não será no server.

Alguma dica no script abaixo, com a dica que você me deu...

O script abaixo funciona  bem. Mas somente se houve internet. Caso não haja ele da erro. Mas deixa continuar o script.

Conex:

LOAD

     ERRO

FROM

[http://www.consultoriasoft.com.br/erro/ERRO.xlsx]

(ooxml, embedded labels, table is Plan4);

store Conex into C:\Shop9\Fotos\Conex.qvd(qvd);

Informacao_A_Ser_Verificada1:

LOAD * INLINE [

    ERRO2

    2110dom

];

Informacao_Do_Banco1:

LOAD

  ERRO

FROM

(qvd);

IF FieldValue('ERRO2',1) = FieldValue('ERRO',1) THEN

  TRACE Carrega a tabela!;

  Liberacao:

  LOAD

  ERRO

FROM

(qvd);

Neves
Not applicable

Não conheço mas deve ter algo relacionado a isso na net.. desculpe amigo!

Ribeiro
Specialist
Specialist
Author

Conseguir resolver com a solução do Alessandro,

Obrigado Thiago e Erick

LET v_Tem_QVD      = if(QvdNoOfRecords('http://www.consultoriasoft.com.br/erro/conx.qvd')>0,1,0);

//

if $(v_Tem_QVD)     = 0 then

   TRACE Saindo do script......;

   EXIT Script; 

ENDIF

Neves
Not applicable

Agnaldo,

estou com um problema, fiz até um post mas não obtive resposta ate o momento. Poderia ajudar?