chovlan 0 Denunciar post Postado Agosto 24, 2016 Boa Tarde Pessoal, conseguem me ajudar? NO IF onde verifico se retorna algum registro, o select do do mesmo retorna 1 registro, porem não sai do select do iff, não entra no begin para ir para o goto error. Grifado de vermelho ALTER TRIGGER [DBO].[LXD_LOJA_VENDA] ON [DBO].[LOJA_VENDA] FOR DELETE NOT FOR REPLICATION AS /* DELETE trigger on LOJA_VENDA */ /* default body for LXD_LOJA_VENDA */ BEGIN DECLARE @NUMROWS INT, @NULLCNT INT, @VALIDCNT INT, @INSCODIGO_FILIAL CHAR(6), @INSTICKET CHAR(8), @INSDATA_VENDA DATETIME, @ERRNO INT, @ERRMSG VARCHAR(255), @USUARIOS_AUT VARCHAR(MAX) SELECT @NUMROWS = @@ROWCOUNT /*-- Verifica Movimentacao Estoque PA ---------------------------------------------------------------------------------*/ DECLARE @XDATASALDO DATETIME SELECT @XDATASALDO='18000101' SELECT @XDATASALDO=ISNULL(CONVERT(DATETIME,VALOR_ATUAL,103),'18000101') FROM PARAMETROS WHERE PARAMETRO='DATA_BLOQUEIO_MOV_PA' IF ( SELECT Count(*) FROM DELETED WHERE DATA_VENDA <= @XDATASALDO ) > 0 BEGIN SELECT @ERRNO=30002, @ERRMSG='Nao e possivel Excluir Movimentacao de Estoque anterior a '+CONVERT(CHAR(10),@XDATASALDO,103)+' !' GOTO ERROR END --declare @USUARIOS_AUT VARCHAR(MAX), @ERRMSG VARCHAR(MAX), @ERRNO INT IF Suser_sname() NOT IN ('SA') BEGIN --RAISERROR('NÃO TEM PERMISSAO',0,42) IF EXISTS ( SELECT * FROM DELETED, LOJA_VENDA_PRODUTO, ESTOQUE_PRODUTOS, LOJAS_VAREJO WHERE DELETED.CODIGO_FILIAL = LOJA_VENDA_PRODUTO.CODIGO_FILIAL AND DELETED.TICKET = LOJA_VENDA_PRODUTO.TICKET AND DELETED.DATA_VENDA = LOJA_VENDA_PRODUTO.DATA_VENDA AND DELETED.CODIGO_FILIAL=LOJAS_VAREJO.CODIGO_FILIAL AND ESTOQUE_PRODUTOS.FILIAL=LOJAS_VAREJO.FILIAL AND ESTOQUE_PRODUTOS.PRODUTO=LOJA_VENDA_PRODUTO.PRODUTO AND ESTOQUE_PRODUTOS.COR_PRODUTO=LOJA_VENDA_PRODUTO.COR_PRODUTO AND DELETED.DATA_VENDA < ESTOQUE_PRODUTOS.DATA_AJUSTE ) OR EXISTS ( SELECT * FROM DELETED, LOJA_VENDA_TROCA, ESTOQUE_PRODUTOS, LOJAS_VAREJO WHERE DELETED.CODIGO_FILIAL = LOJA_VENDA_TROCA.CODIGO_FILIAL AND DELETED.TICKET = LOJA_VENDA_TROCA.TICKET AND DELETED.DATA_VENDA = LOJA_VENDA_TROCA.DATA_VENDA AND DELETED.CODIGO_FILIAL=LOJAS_VAREJO.CODIGO_FILIAL AND ESTOQUE_PRODUTOS.FILIAL=LOJAS_VAREJO.FILIAL AND ESTOQUE_PRODUTOS.PRODUTO=LOJA_VENDA_TROCA.PRODUTO AND ESTOQUE_PRODUTOS.COR_PRODUTO=LOJA_VENDA_TROCA.COR_PRODUTO AND DELETED.DATA_VENDA < ESTOQUE_PRODUTOS.DATA_AJUSTE ) BEGIN SELECT @ERRNO=30002, @ERRMSG='NAO E POSSIVEL EXCLUIR MOVIMENTACAO DE ESTOQUE ANTERIOR AO AJUSTE !' GOTO ERROR END END ELSE --SELECT * FROM TT_REPROCES_ESTOQUE_PROD BEGIN --RAISERROR('TEM PERMISSAO',0,42) INSERT TT_REPROCES_ESTOQUE_PROD SELECT ESTOQUE_PRODUTOS.PRODUTO, DELETED.CODIGO_FILIAL, DELETED.DATA_VENDA, ESTOQUE_PRODUTOS.DATA_AJUSTE, NULL DATA_REPROSS FROM DELETED, LOJA_VENDA_PRODUTO, ESTOQUE_PRODUTOS, LOJAS_VAREJO WHERE DELETED.CODIGO_FILIAL = LOJA_VENDA_PRODUTO.CODIGO_FILIAL AND DELETED.TICKET = LOJA_VENDA_PRODUTO.TICKET AND DELETED.DATA_VENDA = LOJA_VENDA_PRODUTO.DATA_VENDA AND DELETED.CODIGO_FILIAL=LOJAS_VAREJO.CODIGO_FILIAL AND ESTOQUE_PRODUTOS.FILIAL=LOJAS_VAREJO.FILIAL AND ESTOQUE_PRODUTOS.PRODUTO=LOJA_VENDA_PRODUTO.PRODUTO AND ESTOQUE_PRODUTOS.COR_PRODUTO=LOJA_VENDA_PRODUTO.COR_PRODUTO AND DELETED.DATA_VENDA < ESTOQUE_PRODUTOS.DATA_AJUSTE UNION SELECT ESTOQUE_PRODUTOS.PRODUTO, DELETED.CODIGO_FILIAL, DELETED.DATA_VENDA, ESTOQUE_PRODUTOS.DATA_AJUSTE, NULL DATA_REPROSS FROM DELETED, LOJA_VENDA_TROCA, ESTOQUE_PRODUTOS, LOJAS_VAREJO WHERE DELETED.CODIGO_FILIAL = LOJA_VENDA_TROCA.CODIGO_FILIAL AND DELETED.TICKET = LOJA_VENDA_TROCA.TICKET AND DELETED.DATA_VENDA = LOJA_VENDA_TROCA.DATA_VENDA AND DELETED.CODIGO_FILIAL=LOJAS_VAREJO.CODIGO_FILIAL AND ESTOQUE_PRODUTOS.FILIAL=LOJAS_VAREJO.FILIAL AND ESTOQUE_PRODUTOS.PRODUTO=LOJA_VENDA_TROCA.PRODUTO AND ESTOQUE_PRODUTOS.COR_PRODUTO=LOJA_VENDA_TROCA.COR_PRODUTO AND DELETED.DATA_VENDA < ESTOQUE_PRODUTOS.DATA_AJUSTE END /*---------------------------------------------------------------------------------------------------------------------*/ /* LOJA_VENDA R/2684 LOJA_VENDA_VENDEDORES ON PARENT DELETE CASCADE */ DELETE LOJA_VENDA_VENDEDORES FROM LOJA_VENDA_VENDEDORES, DELETED WHERE LOJA_VENDA_VENDEDORES.CODIGO_FILIAL = DELETED.CODIGO_FILIAL AND LOJA_VENDA_VENDEDORES.TICKET = DELETED.TICKET AND LOJA_VENDA_VENDEDORES.DATA_VENDA = DELETED.DATA_VENDA /* LOJA_VENDA R/1222 LOJA_VENDA_PRODUTO ON PARENT DELETE CASCADE */ DELETE LOJA_VENDA_PRODUTO FROM LOJA_VENDA_PRODUTO, DELETED WHERE LOJA_VENDA_PRODUTO.CODIGO_FILIAL = DELETED.CODIGO_FILIAL AND LOJA_VENDA_PRODUTO.TICKET = DELETED.TICKET AND LOJA_VENDA_PRODUTO.DATA_VENDA = DELETED.DATA_VENDA /* LOJA_VENDA R/975 LOJA_VENDA_TROCA ON PARENT DELETE CASCADE */ DELETE LOJA_VENDA_TROCA FROM LOJA_VENDA_TROCA, DELETED WHERE LOJA_VENDA_TROCA.CODIGO_FILIAL = DELETED.CODIGO_FILIAL AND LOJA_VENDA_TROCA.TICKET = DELETED.TICKET AND LOJA_VENDA_TROCA.DATA_VENDA = DELETED.DATA_VENDA RETURN ERROR: RAISERROR @ERRNO @ERRMSG ROLLBACK TRANSACTION END ALTER TRIGGER [DBO].[LXD_LOJA_VENDA] ON [DBO].[LOJA_VENDA] FOR DELETE NOT FOR REPLICATION AS /* DELETE trigger on LOJA_VENDA */ /* default body for LXD_LOJA_VENDA */ BEGIN DECLARE @NUMROWS INT, @NULLCNT INT, @VALIDCNT INT, @INSCODIGO_FILIAL CHAR(6), @INSTICKET CHAR(8), @INSDATA_VENDA DATETIME, @ERRNO INT, @ERRMSG VARCHAR(255), @USUARIOS_AUT VARCHAR(MAX) SELECT @NUMROWS = @@ROWCOUNT /*-- Verifica Movimentacao Estoque PA ---------------------------------------------------------------------------------*/ DECLARE @XDATASALDO DATETIME SELECT @XDATASALDO='18000101' SELECT @XDATASALDO=ISNULL(CONVERT(DATETIME,VALOR_ATUAL,103),'18000101') FROM PARAMETROS WHERE PARAMETRO='DATA_BLOQUEIO_MOV_PA' IF ( SELECT Count(*) FROM DELETED WHERE DATA_VENDA <= @XDATASALDO ) > 0 BEGIN SELECT @ERRNO=30002, @ERRMSG='Nao e possivel Excluir Movimentacao de Estoque anterior a '+CONVERT(CHAR(10),@XDATASALDO,103)+' !' GOTO ERROR END --declare @USUARIOS_AUT VARCHAR(MAX), @ERRMSG VARCHAR(MAX), @ERRNO INT IF Suser_sname() NOT IN ('SA') BEGIN --RAISERROR('NÃO TEM PERMISSAO',0,42) IF EXISTS ( SELECT * FROM DELETED, LOJA_VENDA_PRODUTO, ESTOQUE_PRODUTOS, LOJAS_VAREJO WHERE DELETED.CODIGO_FILIAL = LOJA_VENDA_PRODUTO.CODIGO_FILIAL AND DELETED.TICKET = LOJA_VENDA_PRODUTO.TICKET AND DELETED.DATA_VENDA = LOJA_VENDA_PRODUTO.DATA_VENDA AND DELETED.CODIGO_FILIAL=LOJAS_VAREJO.CODIGO_FILIAL AND ESTOQUE_PRODUTOS.FILIAL=LOJAS_VAREJO.FILIAL AND ESTOQUE_PRODUTOS.PRODUTO=LOJA_VENDA_PRODUTO.PRODUTO AND ESTOQUE_PRODUTOS.COR_PRODUTO=LOJA_VENDA_PRODUTO.COR_PRODUTO AND DELETED.DATA_VENDA < ESTOQUE_PRODUTOS.DATA_AJUSTE ) OR EXISTS ( SELECT * FROM DELETED, LOJA_VENDA_TROCA, ESTOQUE_PRODUTOS, LOJAS_VAREJO WHERE DELETED.CODIGO_FILIAL = LOJA_VENDA_TROCA.CODIGO_FILIAL AND DELETED.TICKET = LOJA_VENDA_TROCA.TICKET AND DELETED.DATA_VENDA = LOJA_VENDA_TROCA.DATA_VENDA AND DELETED.CODIGO_FILIAL=LOJAS_VAREJO.CODIGO_FILIAL AND ESTOQUE_PRODUTOS.FILIAL=LOJAS_VAREJO.FILIAL AND ESTOQUE_PRODUTOS.PRODUTO=LOJA_VENDA_TROCA.PRODUTO AND ESTOQUE_PRODUTOS.COR_PRODUTO=LOJA_VENDA_TROCA.COR_PRODUTO AND DELETED.DATA_VENDA < ESTOQUE_PRODUTOS.DATA_AJUSTE ) BEGIN SELECT @ERRNO=30002, @ERRMSG='NAO E POSSIVEL EXCLUIR MOVIMENTACAO DE ESTOQUE ANTERIOR AO AJUSTE !' GOTO ERROR END END ELSE --SELECT * FROM TT_REPROCES_ESTOQUE_PROD BEGIN --RAISERROR('TEM PERMISSAO',0,42) INSERT TT_REPROCES_ESTOQUE_PROD SELECT ESTOQUE_PRODUTOS.PRODUTO, DELETED.CODIGO_FILIAL, DELETED.DATA_VENDA, ESTOQUE_PRODUTOS.DATA_AJUSTE, NULL DATA_REPROSS FROM DELETED, LOJA_VENDA_PRODUTO, ESTOQUE_PRODUTOS, LOJAS_VAREJO WHERE DELETED.CODIGO_FILIAL = LOJA_VENDA_PRODUTO.CODIGO_FILIAL AND DELETED.TICKET = LOJA_VENDA_PRODUTO.TICKET AND DELETED.DATA_VENDA = LOJA_VENDA_PRODUTO.DATA_VENDA AND DELETED.CODIGO_FILIAL=LOJAS_VAREJO.CODIGO_FILIAL AND ESTOQUE_PRODUTOS.FILIAL=LOJAS_VAREJO.FILIAL AND ESTOQUE_PRODUTOS.PRODUTO=LOJA_VENDA_PRODUTO.PRODUTO AND ESTOQUE_PRODUTOS.COR_PRODUTO=LOJA_VENDA_PRODUTO.COR_PRODUTO AND DELETED.DATA_VENDA < ESTOQUE_PRODUTOS.DATA_AJUSTE UNION SELECT ESTOQUE_PRODUTOS.PRODUTO, DELETED.CODIGO_FILIAL, DELETED.DATA_VENDA, ESTOQUE_PRODUTOS.DATA_AJUSTE, NULL DATA_REPROSS FROM DELETED, LOJA_VENDA_TROCA, ESTOQUE_PRODUTOS, LOJAS_VAREJO WHERE DELETED.CODIGO_FILIAL = LOJA_VENDA_TROCA.CODIGO_FILIAL AND DELETED.TICKET = LOJA_VENDA_TROCA.TICKET AND DELETED.DATA_VENDA = LOJA_VENDA_TROCA.DATA_VENDA AND DELETED.CODIGO_FILIAL=LOJAS_VAREJO.CODIGO_FILIAL AND ESTOQUE_PRODUTOS.FILIAL=LOJAS_VAREJO.FILIAL AND ESTOQUE_PRODUTOS.PRODUTO=LOJA_VENDA_TROCA.PRODUTO AND ESTOQUE_PRODUTOS.COR_PRODUTO=LOJA_VENDA_TROCA.COR_PRODUTO AND DELETED.DATA_VENDA < ESTOQUE_PRODUTOS.DATA_AJUSTE END /*---------------------------------------------------------------------------------------------------------------------*/ /* LOJA_VENDA R/2684 LOJA_VENDA_VENDEDORES ON PARENT DELETE CASCADE */ DELETE LOJA_VENDA_VENDEDORES FROM LOJA_VENDA_VENDEDORES, DELETED WHERE LOJA_VENDA_VENDEDORES.CODIGO_FILIAL = DELETED.CODIGO_FILIAL AND LOJA_VENDA_VENDEDORES.TICKET = DELETED.TICKET AND LOJA_VENDA_VENDEDORES.DATA_VENDA = DELETED.DATA_VENDA /* LOJA_VENDA R/1222 LOJA_VENDA_PRODUTO ON PARENT DELETE CASCADE */ DELETE LOJA_VENDA_PRODUTO FROM LOJA_VENDA_PRODUTO, DELETED WHERE LOJA_VENDA_PRODUTO.CODIGO_FILIAL = DELETED.CODIGO_FILIAL AND LOJA_VENDA_PRODUTO.TICKET = DELETED.TICKET AND LOJA_VENDA_PRODUTO.DATA_VENDA = DELETED.DATA_VENDA /* LOJA_VENDA R/975 LOJA_VENDA_TROCA ON PARENT DELETE CASCADE */ DELETE LOJA_VENDA_TROCA FROM LOJA_VENDA_TROCA, DELETED WHERE LOJA_VENDA_TROCA.CODIGO_FILIAL = DELETED.CODIGO_FILIAL AND LOJA_VENDA_TROCA.TICKET = DELETED.TICKET AND LOJA_VENDA_TROCA.DATA_VENDA = DELETED.DATA_VENDA RETURN ERROR: RAISERROR @ERRNO @ERRMSG ROLLBACK TRANSACTION END Compartilhar este post Link para o post Compartilhar em outros sites