Skip to main content
Woohoo! Qlik Community has won “Best in Class Community” in the 2024 Khoros Kudos awards!
Announcements
Nov. 20th, Qlik Insider - Lakehouses: Driving the Future of Data & AI - PICK A SESSION
cancel
Showing results for 
Search instead for 
Did you mean: 
Ribeiro
Specialist
Specialist

Chamar um function ao carregar qlikview

Tenho uma tabela do postgresql que carrego no script

Bom ela carregar bacana.

Mas tem um problema.

Ela precisa de uma function para atualizar a tabela de custo_Médio.

que fica na Tabela estoque_lancto.

Entrei em contato com o desenvolvimento do sistemas, ele me disseram que para chamar esta função que faz o gatilho para atualizar a tabela estoque_lancto. e preciso apenas execultar “select check_estoquef();”

Alguém tem alguma Dica de como eu  chamo um function no postgresql ,para atualizar a tabela antes de eu carregar no script.


function:

“select check_estoquef();”


tabela:

estoque_lancto



Neves
1 Solution

Accepted Solutions
aderlanrm
Partner - Specialist
Partner - Specialist

Olá Agnaldo,

Tente marcar a opção "Abrir base de dados em modo de Leitura e Gravação" na aba Configurações da tela de editar script, antes de executar o script.

E seu script tem que ficar com o comandos na ordem correta.

Algo assim:

ODBC CONNECT32 TO geral;

Função:

SQL select check_estoquef();


Vendas:

LOAD codigofilial,

    nomeempresa...

Cofiguração do Editor de Script:

Aderlan Rodrigues
Analista, Arquiteto de Dadose e Desenvolvedor
 (41) 9 9917-0869  www.BIdeAZ.com.br  Youtube.com/bideaz  Instagram.com/bideaz.in

"Nada é tão inútil quanto fazer eficientemente o que não deveria ser feito." (Peter Drucker)

View solution in original post

9 Replies
Ribeiro
Specialist
Specialist
Author

Bom testei no banco de dados,

funcionou no editor sql

agora preciso chamar isso dentro do qlick

Alguma excutar esta function antes de eu chamar o script.

2016-02-01_19-12-16.png2016-02-01_19-11-59.png

Neves
afurtado
Partner Ambassador/MVP
Partner Ambassador/MVP

Agnaldo,

no postgresql deve ter algo igual ou bem parecido.

No SQL Server, se fosse rodar uma função, usaria

sql  execute  < Sql Proc Name>



furtado@farolbi.com.br
nicolett_yuri

Já tentou executar esse mesmo comando no qlikview?

afurtado
Partner Ambassador/MVP
Partner Ambassador/MVP

então este comando que passei para rodar de dentro do qlik

furtado@farolbi.com.br
Ribeiro
Specialist
Specialist
Author

Alessandro, Yuri desculpe-me estava procurando e vendo nos fórum. Mas ninguém responde.

Abaixo:

1- O Castilho que postgress que preciso. Mas não sei como e nem aonde cologo no script ou na view abaixo:

2 - Conexão Postgress (funcionando)

3 - Load da View (funcionando)

4 - A estrutura da View dentro do Postgresql.

Lembrando que quando uso o editor sql do postgres e uso apenas esta espressão select check_estoquef(); ele funciona e carregar as tabela que preciso perfeitamente.

Preciso carregar o castilho antes de carregar (select check_estoquef();)antes do LOAD da  view_x50.

Pessoal não sei como fazer realmente. As dois dias que procuro nos forum especializados em postgres.

Mas nada.

1 -//-------- ODBC Postgress funcionando------

select check_estoquef();

2 -//-------- ODBC Postgress funcionando------

ODBC CONNECT32 TO geral;

3 -//--------Tabelas Vendas------

Vendas:

LOAD codigofilial,

    nomeempresa,

    custo,

    data,

    pessoa,

    "custo_medio",

    bico,

    "preco_unit",

    vendedor,

    turno,

   mlid,

    operacao,

    comissaogrupo,

    comissaoproduto,

    "perc_imposto",

    horavenda,

    seq,

    usuario;

SQL SELECT *

FROM damiani."public"."view_x50";

4 ------ Estrutura da View Dentro Postgres funcionado. ------

CREATE OR REPLACE VIEW public.view_x50(

    codigofilial,

    nomeempresa,

    custo,

    data,

    pessoa,

    custo_medio,

    bico,

    preco_unit,

    vendedor,

    turno,

    quantidade,

    valor,

    codigoproduto,

    nomeproduto,

    codigodeposito,

    nomedeposito,

    codigogrupo,

    nomegrupo,

    grid,

    documento,

    mlid,

    operacao,

    comissaogrupo,

    comissaoproduto,

    perc_imposto,

    horavenda,

    seq,

    usuario)

AS

  SELECT empresa.codigo AS codigofilial,

         empresa.nome AS nomeempresa,

         estoque_lancto.custo_medio * lancto.quantidade AS custo,

         lancto.data,

         lancto.pessoa,

         estoque_lancto.custo_medio,

         lancto.bico,

         lancto.preco_unit,

         lancto.vendedor,

         lancto.turno,

         lancto.quantidade,

         lancto.valor,

         produto.codigo AS codigoproduto,

         produto.nome AS nomeproduto,

         deposito.codigo AS codigodeposito,

         deposito.nome AS nomedeposito,

         grupo_produto.codigo AS codigogrupo,

         grupo_produto.nome AS nomegrupo,

         lancto.grid,

         lancto.documento,

         lancto.mlid,

         lancto.operacao,

         grupo_produto.comissao AS comissaogrupo,

         produto.comissao AS comissaoproduto,

         grupo_produto.perc_imposto,

         lancto.hora AS horavenda,

         lancto.seq,

         lancto.usuario

  FROM grupo_produto

       JOIN (deposito

       JOIN (empresa

       JOIN (produto

       JOIN (lancto

       JOIN estoque_lancto ON lancto.produto = estoque_lancto.produto AND

         lancto.empresa = estoque_lancto.empresa AND lancto.grid =

         estoque_lancto.lancto) ON produto.grid = lancto.produto) ON

         empresa.grid = lancto.empresa) ON deposito.grid = lancto.deposito) ON

         grupo_produto.grid = produto.grupo;

Neves
aderlanrm
Partner - Specialist
Partner - Specialist

Olá Agnaldo,

Tente marcar a opção "Abrir base de dados em modo de Leitura e Gravação" na aba Configurações da tela de editar script, antes de executar o script.

E seu script tem que ficar com o comandos na ordem correta.

Algo assim:

ODBC CONNECT32 TO geral;

Função:

SQL select check_estoquef();


Vendas:

LOAD codigofilial,

    nomeempresa...

Cofiguração do Editor de Script:

Aderlan Rodrigues
Analista, Arquiteto de Dadose e Desenvolvedor
 (41) 9 9917-0869  www.BIdeAZ.com.br  Youtube.com/bideaz  Instagram.com/bideaz.in

"Nada é tão inútil quanto fazer eficientemente o que não deveria ser feito." (Peter Drucker)
Ribeiro
Specialist
Specialist
Author

Aderlan, A idéia e essa.

Mas não funcionou. veja o erro,

Ele carrega o view mas o select check_estoquef();

não

2016-02-03_11-22-30.png

Neves
Ribeiro
Specialist
Specialist
Author

A estrutura da View no postgress, eu posso altera-la.

Será que posso antes de chamar a

CREATE OR REPLACE VIEW public.view_x50(

 

--Execultar a select check_estoquef();

E como ficaria a expressão no postgres?

OU é melhor carregar no qlikview.?

Neves
Ribeiro
Specialist
Specialist
Author

Cara amigo Aderlan

O Pessoal de desenvolvimento me passou errado.

select check_estoque_f();

Muito obrigado.

Neves