[firebase-br] SP's

Edvaldo (bol) evgomes em bol.com.br
Dom Set 10 13:28:01 -03 2006


CREATE PROCEDURE ATUALIZABANCADOP   AS
DECLARE VARIABLE VDATA DATE;
DECLARE VARIABLE VPRODUTO INTEGER;
DECLARE VARIABLE VENTRADA FLOAT;
DECLARE VARIABLE VVALORENTRADA DOUBLE PRECISION;
DECLARE VARIABLE VSAIDA FLOAT;
DECLARE VARIABLE VVALORSAIDA DOUBLE PRECISION;
DECLARE VARIABLE VBANCADO FLOAT;
DECLARE VARIABLE VVALORBANCADO DOUBLE PRECISION;
DECLARE VARIABLE VBANCADOAUX FLOAT;
DECLARE VARIABLE VVALORBANCADOAUX DOUBLE PRECISION;
DECLARE VARIABLE VBANCADOINICIAL FLOAT;
DECLARE VARIABLE VVALORBANCADOINICIAL DOUBLE PRECISION;
BEGIN
      FOR SELECT 
CODIGO,COALESCE(BANCADOINICIAL,0),COALESCE(VALORBANCADOINICIAL,0)
            FROM PRODUTO WHERE CODIGO IN (SELECT PRODUTO FROM MOVIMENTACAO 
WHERE PRODUTO IS NOT NULL)
            INTO vProduto,
                 vBancadoInicial,
                 vValorBancadoInicial
      DO BEGIN
              FOR SELECT M.DATA,
                         COALESCE(M.ENTRADA,0),
                         COALESCE(M.VALORENTRADA,0),
                         COALESCE(M.SAIDA,0),
                         COALESCE(M.VALORSAIDA,0),
                         COALESCE(M.BANCADO,0),
                         COALESCE(M.VALORBANCADO,0)
                    FROM MOVIMENTACAO M
                    JOIN PRODUTO P ON (M.PRODUTO = P.CODIGO)
                   WHERE M.PRODUTO =:vPRODUTO
                     AND M.DATA > 
COALESCE(P.DATAESTOQUE,CURRENT_TIMESTAMP-1000)
                   ORDER BY M.DATA
                    INTO vData,
                         vEntrada,
                         vValorEntrada,
                         vSaida,
                         vValorSaida,
                         vBancado,
                         vValorBancado
              DO BEGIN
                       vBancadoAux = :vBancadoInicial + :vEntrada - :vSaida;
                       vValorBancadoAux = 0;
                       if (vValorBancadoInicial + vValorEntrada > 0) then
                       begin
                            if (vBancadoInicial > 0) then
                                vValorBancadoAux = (:vValorBancadoInicial + 
:vValorEntrada) / (:vBancadoInicial + :vEntrada) * (:vBancadoInicial + 
:vEntrada - :vSaida);
                            else
                                vValorBancadoAux = (:vValorEntrada / 
:vEntrada) * (:vBancadoInicial + :vEntrada - :vSaida);
                       end

                       if (vValorBancadoAux < 0 or vValorBancadoAux is null) 
then
                          vValorBancadoAux = 0;

                       UPDATE MOVIMENTACAO
                          SET BANCADO = :vBancadoAux,
                              VALORBANCADO = :vValorBancadoAux
                        WHERE PRODUTO = :vProduto
                          AND DATA = :vData;

                       vBancadoInicial = vBancadoAux;
                       vValorBancadoInicial = vValorBancadoAux;
              END
              if (vBancadoAux > 0) then
                  UPDATE PRODUTO SET PRECOCUSTO = cast(:vValorBancadoAux / 
:vBancadoAux * 100 as integer)/100,
                         ESTOQUE = :vBancadoAux
                   WHERE CODIGO =:vProduto;
              else
                  UPDATE PRODUTO SET PRECOCUSTO = 0,
                         ESTOQUE = :vBancadoAux
                   WHERE CODIGO =:vProduto;
              WHEN ANY DO
              BEGIN
                 INSERT INTO ERRO_LOG (CODIGOERRO,MENSAGEM) VALUES 
(SQLCODE,CAST(:VPRODUTO AS VARCHAR(20)));
              END
      END

END

----- Original Message ----- 
From: "Cleiton Maciel Reis da Silva" <cleiton.maciel em yahoo.com.br>
To: <lista em firebase.com.br>
Sent: Saturday, September 09, 2006 3:46 PM
Subject: [firebase-br] SP's


Gostaria de usar em minha aplicacao Stored  Procedures
 para
 Insert, Updade, Delete, Select,

 alguem por acaso tem algum exemplo de fontes, ou  links
 que possam me ajudar a utilizar esses  comandos
 pq os que ja vi nao me ajudaram

 Qro saber como faco um insert usando o SP, Updates  etc,

 se alguem tiver algum exeplo facil pra mim indicar  ficarei muito Grato,

 Té mais colegas


---------------------------------
 Yahoo! Search
 Música para ver e ouvir: You're Beautiful, do James Blunt
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
Para editar sua configuração na lista, use o endereço 
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
Para consultar mensagens antigas: http://firebase.com.br/pesquisa


-- 
No virus found in this incoming message.
Checked by AVG Free Edition.
Version: 7.1.405 / Virus Database: 268.12.2/441 - Release Date: 07/09/2006






Mais detalhes sobre a lista de discussão lista