31.8.07

Excluindo um movimento no Núcleus que tenha vínculo com outros módulos do RM

Carregue esta Stored Procedure no SQL Server.

Para executá-la use a seguinte sintaxe no Query Analyxer:

EXCLUIRMOVIMENTOMANUALMENTE '002547', '2.2.01', 'Q', 4


CREATE PROCEDURE EXCLUIRMOVIMENTOMANUALMENTE (
@NUMEROMOVIMENTO VARCHAR(6),
@TIPOMOVIMENTO VARCHAR(6),
@STATUSMOVIMENTO VARCHAR(1),
@CODIGOFILIAL INTEGER
)
/*Excluir movimento manualmente*/
AS
BEGIN
DECLARE @IDMOVIMENTO INTEGER;

SET @IDMOVIMENTO = (SELECT IDMOV FROM TMOV WHERE CODFILIAL = @CODIGOFILIAL AND CODTMV = @TIPOMOVIMENTO
AND STATUS = @STATUSMOVIMENTO AND NUMEROMOV = @NUMEROMOVIMENTO);


DELETE FLANRATCCU WHERE IDLAN in (SELECT IDLAN FROM FLAN WHERE IDMOV in(SELECT IDMOV FROM TMOV
WHERE IDMOV IN (@IDMOVIMENTO)))
DELETE FLANRATDEP WHERE IDLAN in (SELECT IDLAN FROM FLAN WHERE IDMOV in(SELECT IDMOV FROM TMOV
WHERE IDMOV IN (@IDMOVIMENTO)))
DELETE FLANCONT WHERE IDLAN in (SELECT IDLAN FROM FLAN WHERE IDMOV in(SELECT IDMOV FROM TMOV
WHERE IDMOV IN (@IDMOVIMENTO)))
DELETE FLAN WHERE IDLAN in (SELECT IDLAN FROM FLAN WHERE IDMOV in(SELECT IDMOV FROM TMOV
WHERE IDMOV IN (@IDMOVIMENTO)))

DELETE TMOVRATDEP WHERE IDMOV IN (@IDMOVIMENTO)
DELETE TMOVRATCCU WHERE IDMOV IN (@IDMOVIMENTO)
DELETE TTRBMOV WHERE IDMOV IN (@IDMOVIMENTO)
DELETE TITMMOVCOMPL WHERE IDMOV IN (@IDMOVIMENTO)
DELETE TITMMOV WHERE IDMOV IN (@IDMOVIMENTO)
DELETE TMOVRELAC WHERE IDMOVDESTINO IN (@IDMOVIMENTO)
DELETE TMOVHISTORICO WHERE IDMOV IN (@IDMOVIMENTO)
DELETE TMOVCOMPL WHERE IDMOV IN (@IDMOVIMENTO)
DELETE TITMMOVRELAC WHERE IDMOVDESTINO IN (@IDMOVIMENTO)
DELETE TMOVFISCAL WHERE IDMOV IN (@IDMOVIMENTO)
DELETE TMOVRESUMOTRBIT WHERE IDMOV IN (@IDMOVIMENTO)
DELETE TMOVCONT WHERE IDMOV IN (@IDMOVIMENTO)

/*Retira relacionamento*/
UPDATE TMOV SET IDMOVRELAC = NULL WHERE IDMOVRELAC IN (@IDMOVIMENTO)
/*'Atualiza OC com status A Faturar' e 'Atualiza OC com Quantidade Original'*/
UPDATE TMOV SET status = 'A' WHERE CODTMV = '2.1.09' AND IDMOVRELAC IN (@IDMOVIMENTO)
/*'Exclusao especial'*/
DELETE CLCTLOTE WHERE INTEGRACHAVE IN (SELECT RTRIM(LTRIM(STR(IDMOV))) FROM TMOV
WHERE CODFILIAL = @CODIGOFILIAL AND CODTMV = @TIPOMOVIMENTO AND NUMEROMOV = @NUMEROMOVIMENTO)

DELETE CLANCA WHERE LCTREF IN (@IDMOVIMENTO)

DELETE TMOV WHERE IDMOV IN(@IDMOVIMENTO)

END

Um comentário:

Anônimo disse...

Olá Walter tudo bem?Gostei muito da sentença,porém não consegui executá-la no meu banco,preciso fazer alguma alteração?

Obrigada!