Preciso de Ajuda numa Procedure
28/02/2015
0
Bom Dia, estou com problema em criar uma procedure no Firebir
Eu tenho quatro tabelas, sendo elas a SNGPC_INVENTARIO, ITENS_SNGPC_ENTRADA, ITENS_SNGPC_SAIDA, SNGPC_PERDAS
SENDO QUE EU PRECISO PEGAR O ESTOQUE DO SALDO MIAS QUE SAIA DETALHADO QUANTIDADE DE CADA TABELA EU FIZ UMA PROCEDURE ASSIM
create or alter procedure SP_SALDO_SNGPC (
COD_BARRA varchar(14))
returns (
NUM_LOTE varchar(20),
PRODUTO varchar(100),
TOTAL_ENTRADAS double precision,
TOTAL_INVENTARIO double precision,
TOTAL_SAIDAS double precision,
TOTAL_SALDO double precision)
as
begin
total_entradas = 0;
total_inventario=0;
total_saidas =0;
total_saldo =0;
for
select produto,codbarra from c000025
where codreceita = 'SIM' and codbarra = codbarra
group by produto,codbarra into :produto,:cod_barra
do
begin
select numero_lote, sum(Quant) from itens_sngpc_entrada
where cod_barras = :cod_barra
group by Numero_lote into :num_lote, :total_entradas;
select numero_lote, sum(quant) from sngpc_inventario
where cod_barras = :cod_barra
group by Numero_lote into :num_lote, :total_inventario;
select numero_lote, sum (quant) from itens_sngpc_saida
where cod_barras = :cod_barra
group by Numero_lote into :num_lote, :total_saidas;
if (:total_inventario is null) then total_inventario = 0;
if (:total_entradas is null ) then total_entradas = 0;
if (:total_saidas is null ) then total_saidas = 0;
total_saldo = ( :total_entradas + :total_inventario) - :total_saidas;
suspend;
end
end
QUANDO EU LANCO APENAS O INVENTARIO DAR TUDO CERTO, MIAS QUANDO LANCO ENTRADA OU SAIDA ELE JOGA OS VALORES EM TODOS OS LOTES
PRECISO DESSA AJUDA
Eu tenho quatro tabelas, sendo elas a SNGPC_INVENTARIO, ITENS_SNGPC_ENTRADA, ITENS_SNGPC_SAIDA, SNGPC_PERDAS
SENDO QUE EU PRECISO PEGAR O ESTOQUE DO SALDO MIAS QUE SAIA DETALHADO QUANTIDADE DE CADA TABELA EU FIZ UMA PROCEDURE ASSIM
create or alter procedure SP_SALDO_SNGPC (
COD_BARRA varchar(14))
returns (
NUM_LOTE varchar(20),
PRODUTO varchar(100),
TOTAL_ENTRADAS double precision,
TOTAL_INVENTARIO double precision,
TOTAL_SAIDAS double precision,
TOTAL_SALDO double precision)
as
begin
total_entradas = 0;
total_inventario=0;
total_saidas =0;
total_saldo =0;
for
select produto,codbarra from c000025
where codreceita = 'SIM' and codbarra = codbarra
group by produto,codbarra into :produto,:cod_barra
do
begin
select numero_lote, sum(Quant) from itens_sngpc_entrada
where cod_barras = :cod_barra
group by Numero_lote into :num_lote, :total_entradas;
select numero_lote, sum(quant) from sngpc_inventario
where cod_barras = :cod_barra
group by Numero_lote into :num_lote, :total_inventario;
select numero_lote, sum (quant) from itens_sngpc_saida
where cod_barras = :cod_barra
group by Numero_lote into :num_lote, :total_saidas;
if (:total_inventario is null) then total_inventario = 0;
if (:total_entradas is null ) then total_entradas = 0;
if (:total_saidas is null ) then total_saidas = 0;
total_saldo = ( :total_entradas + :total_inventario) - :total_saidas;
suspend;
end
end
QUANDO EU LANCO APENAS O INVENTARIO DAR TUDO CERTO, MIAS QUANDO LANCO ENTRADA OU SAIDA ELE JOGA OS VALORES EM TODOS OS LOTES
PRECISO DESSA AJUDA
Cayro Rodrigo
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)