Store procedure só retorna zero

Delphi

05/10/2004

Depurei a store procedure abaixo no IB Manager e ela calcula os totais desejados normalmente. Porém, ao retornar os resultados, ela só me retorna 0 (zero). Alguém pode me ajudar?

Obs: Estou fazendo uma chamada de uma store procedure dentro de outra.

CREATE PROCEDURE TOTALPEDIDOS (
GEROU_NF CHAR(1),
IMPRIMIU CHAR(1),
CLI CHAR(5),
VEND CHAR(4))
RETURNS (
TOTAL_PEDIDOS_PERDAS NUMERIC(10,4),
TOTAL_PEDIDOS_COM_DESCONTO NUMERIC(10,4),
TOTAL_PEDIDOS NUMERIC(10,4))
AS
DECLARE VARIABLE TOTAL_PED_PERDAS NUMERIC(10,4);
DECLARE VARIABLE TOTAL_PED_COM_DESCONTO NUMERIC(10,4);
DECLARE VARIABLE TOTAL_PEDIDO NUMERIC(10,4);
DECLARE VARIABLE ESPECIE CHAR(1);
DECLARE VARIABLE PEDIDO CHAR(5);
begin
total_pedidos_perdas = 0;
total_pedidos_com_desconto = 0;
total_pedidos = 0;

/* Pedidos a serem calculados */
FOR SELECT
dp.dppednum, dp.dpespecie
FROM
DadosPedidos dp, Clientes c, Vendedores v
WHERE
dp.DPVendCod like :vend AND
dp.DPCliCod like :cli AND
dp.DPControNota like :gerou_nf AND
dp.dpimprimiu like :imprimiu AND
dp.DPCliCod = c.CliCod AND
dp.DPVendCod = v.VendCod
ORDER BY
dp.DPPedNum, dp.DPEspecie
INTO
:pedido, :especie
DO BEGIN

/* Pegar o total de cada pedido */
select tp.total_ped, tp.total_com_desc, tp.total_perdas
from totalped tp
into :TOTAL_PEDIDO, :TOTAL_PED_COM_DESCONTO, :TOTAL_PED_PERDAS;

total_pedidos_perdas = total_pedidos_perdas + total_ped_perdas;
total_pedidos_com_desconto = total_pedidos_com_desconto + total_ped_com_desconto;
total_pedidos = total_pedidos + total_pedido;

END

suspend;
end


Luker

Luker

Curtidas 0

Respostas

Gandalf.nho

Gandalf.nho

05/10/2004

Tente colocar o SUSPEND antes do primeiro END


GOSTEI 0
Luker

Luker

05/10/2004

Eu coloquei...

Aí ele retorna null...


GOSTEI 0
POSTAR