Informações de SP que não aparecem nos componentes data-ware
Olá pessoal,
fiz a seguinte Storede Procedure, que tem a finalidade de buscar os dados dos itens de entradas de itens de saídas no estoque, mas os campos que são somados automaticamente não conseguem ser mostrados nos componentes data-ware do sistema, mas aparecem quando a procedure é rodada no bancod de dados:
CREATE PROCEDURE MOVIMENTO (
DATA_INICIAL DATE,
DATA_FINAL DATE)
RETURNS (
COD_PRODUTO INTEGER,
QUANT_ENTRADA FLOAT,
QUANT_SAIDA FLOAT,
DESC_PRODUTO VARCHAR(100),
MINIMO FLOAT,
QUANT_ESTOQUE FLOAT)
AS
begin
quant_saida = 0;
quant_entrada = 0;
/* Busca todo o movimento do estoque dentro de um período */
for select p.id_produto as prod, p.descricao, p.estoque_minimo, e.quantidade
from produtos p
inner join estoque e on(e.id_produto = p.id_produto) order by p.descricao
into :COD_PRODUTO, :DESC_PRODUTO, :MINIMO, :QUANT_ESTOQUE do
begin
/* recupera os dados das entradas */
select sum(ie.quantidade) as total_entrada from itens_entradas ie
inner join entradas e on(e.id_entrada = ie.id_entrada)
where (e.data between :DATA_INICIAL and :DATA_FINAL)
and ie.id_produto = :COD_PRODUTO into :QUANT_ENTRADA;
/* recupera os dados das saídas */
select sum(isa.quantidade) as total_saida from itens_saidas isa
inner join saidas s on(s.id_saida = isa.id_saida)
where (s.data_saida between :DATA_INICIAL and :DATA_FINAL)
and isa.id_produto = :COD_PRODUTO into :QUANT_SAIDA;
suspend;
end
end
Alguem pode me explicar o que está errado?
Desde já agradeço a atenção...
fiz a seguinte Storede Procedure, que tem a finalidade de buscar os dados dos itens de entradas de itens de saídas no estoque, mas os campos que são somados automaticamente não conseguem ser mostrados nos componentes data-ware do sistema, mas aparecem quando a procedure é rodada no bancod de dados:
CREATE PROCEDURE MOVIMENTO (
DATA_INICIAL DATE,
DATA_FINAL DATE)
RETURNS (
COD_PRODUTO INTEGER,
QUANT_ENTRADA FLOAT,
QUANT_SAIDA FLOAT,
DESC_PRODUTO VARCHAR(100),
MINIMO FLOAT,
QUANT_ESTOQUE FLOAT)
AS
begin
quant_saida = 0;
quant_entrada = 0;
/* Busca todo o movimento do estoque dentro de um período */
for select p.id_produto as prod, p.descricao, p.estoque_minimo, e.quantidade
from produtos p
inner join estoque e on(e.id_produto = p.id_produto) order by p.descricao
into :COD_PRODUTO, :DESC_PRODUTO, :MINIMO, :QUANT_ESTOQUE do
begin
/* recupera os dados das entradas */
select sum(ie.quantidade) as total_entrada from itens_entradas ie
inner join entradas e on(e.id_entrada = ie.id_entrada)
where (e.data between :DATA_INICIAL and :DATA_FINAL)
and ie.id_produto = :COD_PRODUTO into :QUANT_ENTRADA;
/* recupera os dados das saídas */
select sum(isa.quantidade) as total_saida from itens_saidas isa
inner join saidas s on(s.id_saida = isa.id_saida)
where (s.data_saida between :DATA_INICIAL and :DATA_FINAL)
and isa.id_produto = :COD_PRODUTO into :QUANT_SAIDA;
suspend;
end
end
Alguem pode me explicar o que está errado?
Desde já agradeço a atenção...
Jsaraujo
Curtidas 0
Respostas
Martins
06/09/2005
vc está exibindo o resultado da SP em qual componente Data-Ware??
Em um grid ou dbedit´s?
Em um grid ou dbedit´s?
GOSTEI 0
Bruno Belchior
06/09/2005
você está uzando q componente para a conexão com a SP :?: eu particulamente utilizo assim em um [b:49d91661a7]SQLDataSet[/b:49d91661a7]mostrando assim em qualquer Data-Aware normalmente como um table...
select * fom StoredProcedure(parametros)
GOSTEI 0
Jsaraujo
06/09/2005
Olá,
os dados precisam aparecer em um relatório do report builder, mas já tentei mostrar em um dbgrid e em dbedit, mas tambem não mostra nada, para o acesso estou usando o sqlquery com a instrução: select * from movimento (:data_inicial, :data_final). O estranho é que no banco de dados funciona perfeitamente e tenho outros sistemas acessando sp´s com a função sum(), e não ker funcionar justamente nela.
os dados precisam aparecer em um relatório do report builder, mas já tentei mostrar em um dbgrid e em dbedit, mas tambem não mostra nada, para o acesso estou usando o sqlquery com a instrução: select * from movimento (:data_inicial, :data_final). O estranho é que no banco de dados funciona perfeitamente e tenho outros sistemas acessando sp´s com a função sum(), e não ker funcionar justamente nela.
GOSTEI 0