[firebase-br] Erro ao puxar o saldo com STORED PROCEDURE
Luiz Carlos
lcarlos2000 em bol.com.br
Seg Jul 25 17:41:32 -03 2011
Tenho uma procedure cfe. abaixo:
SET TERM ^ ;
CREATE OR ALTER PROCEDURE SP_SUMCONTAS (
dataini date,
datafin date)
returns (
total numeric(15,2))
as
begin
for select sum(VL_RECEBER) - sum(VL_PAGAR) from contas
where DT_VCTO between :dataini and :datafin
into :total do
begin
suspend;
end
end^
Uso o codigo abaixo no delphi para puxar o saldo:
dataini := DIA1.Date ;
datafin := DIA2.Date ;
IBSProc.StoredProcName := 'SP_SUMCONTAS';
IBSProc.ParamByName('dataini').Value :=DIA1.Date ; //datetimerpicker
IBSProc.ParamByName('datafin').Value :=DIA2.Date ; //datetimerpicker
IBSProc.ExecProc;
edsaldo.Text:= CurrtoStr(IBSProc.ParamByName('total').AsCurrency);
Funciona corretamente se no periodo pesquisado tiver lançamentos nos campos VL_RECEBER e VL_PAGAR, porem se só tiver lançamentos em um dos campos o saldo dá 0,00. Por exemplo se no periodo só tiver contas a pagar o saldo dá 0,00 ou se no periodo só tiver contas a receber tambem dá 0,00. Como corrigir isso? o erro está na procedure ou no modo como estou chamando ela no Delphi?
Grato
Luiz Carlos
Mais detalhes sobre a lista de discussão lista