[firebase-br] Procedure Retornar o saldo

Paulo Sérgo Feix paulinhofeix em gmail.com
Qui Ago 24 11:08:59 -03 2006


Bom Dia
Na verdade esta procedure precisa me retornar o saldo do produto, como eu faço
Tipo:
Tem 4 tabelas, tabela produto que tem o saldo inicial, tabela compra,
tabela venda, e tabela atualização esta tabela tem dois campo atualiza
entrada, atualiza saída, para atualizar o saldo quando o estoque não
bate, bem o que eu queria seria assim
SALDO = SALDO_INICIAL + COMPRA + ATUZLIZA_ENTRADA – VENDA + ATUALIZA_SAIDA
Bem tem que me retornar o saldo esta procedura
O problema é que não sei onde eu faço este calculo na procedura abaixo
esta a procedure

Bom Dia
Na verdade esta procedure precisa me retornar o saldo o produto, como eu faço
Tipo:
Tem 3 tabelas, tabela produto que tem o saldo inicial, tabela compra,
tabela venda, e tabela atualização esta tabela tem dois campo atualiza
entrada, atualiza saída, para atualizar o saldo quando o estoque não
bate, bem o que eu queria seria assim
SALDO = SALDO_INICIAL + COMPRA + ATUZLIZA_ENTRADA – VENDA + ATUALIZA_SAIDA
Bem tem que me retornar o saldo esta procedura
O problema é que não sei onde eu faço este calculo na procedura abaixo
esta a procedure


CREATE PROCEDURE SALDO_PRODUTO_ATUALIZA_01 (EMPRESA       INTEGER,
     COD_PRODUTO01 INTEGER)
returns (PCOD_PRODUTO       DOUBLE PRECISION,
     PCANTIDAD_COMPRA01 NUMERIC(15,2),
     PCANTIDAD_SAIDA01  NUMERIC(15,2),
     PATUALIZA_ENTRADA  NUMERIC(15,2),
     PATUALIZA_SAIDA    NUMERIC(15,2),
     PSALDI_INICIAL01   NUMERIC(15,2),
     PSALDO01           NUMERIC(15,2))
AS
     declare variable vSaida01 Numeric(15,2);
     declare variable vVenda01 Numeric(15,2);
     declare variable vCompra01 Numeric(15,2);
     declare variable vAtualisa_Entrada Numeric(15,2);
     declare variable vAtualisa_Saida Numeric(15,2);
     declare variable vSaldo_Inicial Numeric(15,2);
begin
vSaida01 = 0;
vVenda01 = 0;
vCompra01 = 0;
vAtualisa_Entrada = 0;
vAtualisa_Saida = 0;
vSaldo_Inicial = 0;
/*--Saldo Inicial de Produtos---------*/
For Select
d.COD_BARRAS,
Sum(QUANTIDAD)
>From Produtos d
Where d.COD_BARRAS = :COD_PRODUTO01
Group By d.COD_BARRAS
Into : pCOD_PRODUTO, :pSALDI_INICIAL01 do
begin
vSaldo_Inicial = vSaldo_Inicial + pSALDI_INICIAL01;
end
/*--Comesa Pegando dados de Compra---*/
For Select
a.CODIGO_PRODUTO,
Sum(a.CANTIDAD_COMPRA)
>From Sub_Compra a
Where a.ANULA = 1 and a.Empresa = :EMPRESA and a.CODIGO_PRODUTO = :COD_PRODUTO01
Group By a.CODIGO_PRODUTO
Into : pCOD_PRODUTO, :pCANTIDAD_COMPRA01 do
begin
vCompra01 = vCompra01 + pCANTIDAD_COMPRA01;
end
/*--Consulta Venda de Produtos----*/
For Select
b.CODIGO_PRODUTO,
Sum(CANTIDAD)
>From Sub_Factura b
Where b.ANULA = 1 and b.Empresa = :EMPRESA and b.CODIGO_PRODUTO = :COD_PRODUTO01
Group By b.CODIGO_PRODUTO
Into : pCOD_PRODUTO, :pCANTIDAD_SAIDA01 do
begin
vVenda01 = vVenda01 + pCANTIDAD_SAIDA01;
end
/*--Consulta Atualização de saldo -----*/
For Select
c.PRODUTOS,
Sum(c.ENTRADA),
Sum(c.SAIDA)
>From ATUALIZACION_PRODUTOS c
Where c.Empresa = :EMPRESA and c.PRODUTOS = :COD_PRODUTO01
Group By c.PRODUTOS
Into : pCOD_PRODUTO, :pATUALIZA_ENTRADA, :pATUALIZA_SAIDA do
begin
vAtualisa_Entrada = vAtualisa_Entrada + pATUALIZA_ENTRADA;
vAtualisa_Saida = vAtualisa_Saida + pATUALIZA_SAIDA;
end
Suspend;
End



-- 
Paulinho...




Mais detalhes sobre a lista de discussão lista