[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