[firebase-br] Problemas com procedure

Marcio Neves marcio_manhaes em uol.com.br
Dom Dez 5 20:23:44 -03 2004


Flávio.
Já tive problemas semelhantes e resolvi alterando a posição dos Suspends.
Numa análise ligeira vejo que você está "encapsulando" os For Select e os
"end" dos Do Begin estão no final. Tente colocar o último suspend após eles.
Espero ter ajudado. Márcio

----- Original Message -----
From: "Flavio Vieira de Macedo" <flavio em virtualmemory.com.br>
To: <lista em firebase.com.br>
Sent: Saturday, December 04, 2004 6:13 PM
Subject: [firebase-br] Problemas com procedure



Minha procedure so esta retornando 1 registro. Se alguem puder me ajudar ai
vai ela.

CREATE PROCEDURE CREP (CODIGO_PRODUTO CHAR(26))
                     RETURNS (PRODUTO CHAR(26),
                              valor float,
                              nivel integer)
AS
DECLARE VARIABLE COMPONENTE CHAR(26);
begin

   FOR SELECT
         P030.p030_l010_codigo_componente
      FROM
         P030
      WHERE
         P030.P030_L010_NIVEL_SUP = :codigo_produto
      INTO
         :COMPONENTE

      DO begin
         nivel = 1;
         CODIGO_PRODUTO = :COMPONENTE;
         produto = :componente;
         select
            l010.l010_valor_custo_cif
         from
            l010
         where
            l010.l010_codigo = :componente
         into
            :valor;
         suspend;

         for SELECT
            P030.p030_l010_codigo_componente
         FROM
            P030
         WHERE
            P030.P030_L010_NIVEL_SUP = :COMPONENTE
         INTO
            :COMPONENTE
         DO begin
            nivel = 2;
            CODIGO_PRODUTO = :COMPONENTE;
            produto = :componente;

            select
               l010.l010_valor_custo_cif
            from
               l010
            where
               l010.l010_codigo = :componente
            into
               :valor;
            suspend;
         end
     END
END;
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
Para editar sua configuração na lista, use o endereço
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br






Mais detalhes sobre a lista de discussão lista