Re: [firebase-br] Retorno de SP e Parâmetro OUTPUT

Oliveira, José Augusto jasooliveira em yahoo.com.br
Qua Jul 13 15:39:48 -03 2005


Em vermelho os parametros de entrada, eu azul os de saida........ Ajudei ? 


SET TERM ^ ;

CREATE PROCEDURE PROC_DEV_PEDIDO (
    NF INTEGER)
RETURNS (
    VFATURADO FLOAT,
    VAFATURAR FLOAT,
    CODPRODUTO INTEGER,
    NPEDIDO INTEGER,
    QUANTFATURADA INTEGER,
    SQITENS01 INTEGER)
AS
begin
   FOR SELECT CODPRODUTO,NPEDIDO,QUANTFATURADA,SQITENS01 FROM ITENS03 WHERE NF =:nf
   INTO :codproduto,:npedido,:quantfaturada,:sqitens01  DO BEGIN
      UPDATE ITENS01 SET
            QUATFATURADA  = (QUATFATURADA  - :quantfaturada),
            QUANTAFATURAR = (QUANTAFATURAR + :quantfaturada),
            VFATURADO     = (QUATFATURADA * PRECOVENDA),
            VAFATURAR     = (QUANTAFATURAR * PRECOVENDA)
         WHERE
            NPEDIDO = :npedido AND CODPRODUTO = :codproduto AND SQPRODUTO = :sqitens01;
   END
   SELECT SUM(VFATURADO),SUM(VAFATURAR) FROM ITENS01 where NPEDIDO = :npedido
      INTO :VFATURADO,:VAFATURAR;
   if (VAFATURAR = 0) then begin
      UPDATE SAIDAS SET VFATURADO = :vfaturado, VAFATURAR = :vafaturar,SITUACAO = 'FECHADO' where PEDIDO = :npedido;
   end
   Else begin
      UPDATE SAIDAS SET VFATURADO = :vfaturado, VAFATURAR = :vafaturar,SITUACAO = 'LIBERADO' where PEDIDO = :npedido;
   end
   suspend;
end
^

Atenciosamente, 

Oliveira, José Augusto  
JASO Tecnologia & Desenvolvimento. 


Mais detalhes sobre a lista de discussão lista