Duvida com Exceção

Firebird

31/10/2006

iai galera tudo certo ?
tenho o seguinte trecho de codigo em uma SP
/*********************inicio do codigo*********************/
INSERT into it_ped_venda
(CODEMP,COD_PEDIDO,SEQ,COD_PRODUTO,QUANT_PEDIDA,QUANT_ATENDIDA,PRECO_UN,VALOR_TOTAL_ITEM,COD_SIT_TRIBUTARIA)
VALUES
(:CODEMP,:codped,:SEQ,:produto,:qtde,:qtde,:VALOR,(:QTDE*:VALOR),1);

/*SE TIVER ALGUM ERRO GERO EXCEÇÃO*/
WHEN ANY DO
BEGIN

SELECT MAX(CODIGO)
FROM LOG_ERRO_IMPORT_IT_VENDA
WHERE CODEMP = :CODEMP
INTO
:maior;

IF (MAIOR IS NULL)
THEN MAIOR = 0;

MAIOR = MAIOR + 1;

INSERT INTO log_erro_import_it_venda
(CODEMP,CODIGO,COD_PEDIDO,SEQ,COD_PRODUTO,QUANT_PEDIDA,QUANT_ATENDIDA,PRECO_UN,VALOR_TOTAL_ITEM,COD_SIT_TRIBUTARIA)
VALUES
(:CODEMP,:MAIOR,:codped,:SEQ,:CODPROD,:qtde,:qtde,:VALOR,(:QTDE*:VALOR),1);

END

/*BAIXO ESTOQUE DA VARIACAO*/
UPDATE gradeprod
SET
ESTOQUE = ESTOQUE - :qtde
where CODVARIACAO = :variacao AND
CODEMP = :CODEMP;

/*BAIXO ESTOQUE DO PRODUTO*/
UPDATE PRODUTOS_ACABADOS
SET
ESTOQUE = ESTOQUE - :qtde
where CODIGO = :PRODUTO AND
CODEMP = :CODEMP;
/*************************fim do codigo**********************/

minha duvida é a seguinte..
se ele executar a exceção ele vai baixar o estoque ou ele para na linha da exceção ?


Juniorcesar

Juniorcesar

Curtidas 0
POSTAR