Skip to main content
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?