IF EXISTS(SELECT * FROM sysobjects O, sysusers U
          WHERE
             o.name = 'ATUALIZA_NRSEQ_ROTFABRICA'  and
             type = 'TR'                     and
             u.uid = o.uid                   and
             u.name = USER)
DROP TRIGGER ATUALIZA_NRSEQ_ROTFABRICA
GO

CREATE TRIGGER ATUALIZA_NRSEQ_ROTFABRICA
ON ROTFABRICA
INSTEAD OF INSERT
AS

DECLARE @V_SEQUENCIAL  VARCHAR(20);
DECLARE @V_CHAVE       VARCHAR(40);
DECLARE @V_NRSEQROTFAB VARCHAR(10);

BEGIN
   SELECT @V_CHAVE = 'ROTFABRICA'+INSERTED.CDPRODUTO+INSERTED.CDSUBPRODUTO
     FROM INSERTED;

   EXEC NOVO_CODIGO @V_CHAVE, @P_SEQUENCIAL = @V_SEQUENCIAL OUTPUT, @P_QTDE = 1;
   SET @V_NRSEQROTFAB = RIGHT(REPLICATE('0', 10) + SUBSTRING(@V_SEQUENCIAL, 11, 10), 10);

   INSERT INTO ROTFABRICA
      (CDPRODUTO, CDSUBPRODUTO, NRSEQROTFAB, QTSUBPRODROT, NRHRFABPROD, NRSEQPROD, IDIMPPRODROT,
       CDDEPTO, DSAPELIDOKDS, CDGRUPOCOMP, IDGERAPEDORCAEVE, DTINIVGPRODROT, DTFINVGPRODROT)
   SELECT INSERTED.CDPRODUTO, INSERTED.CDSUBPRODUTO, @V_NRSEQROTFAB, INSERTED.QTSUBPRODROT, INSERTED.NRHRFABPROD, INSERTED.NRSEQPROD, INSERTED.IDIMPPRODROT,
          INSERTED.CDDEPTO, INSERTED.DSAPELIDOKDS, INSERTED.CDGRUPOCOMP, INSERTED.IDGERAPEDORCAEVE, INSERTED.DTINIVGPRODROT, INSERTED.DTFINVGPRODROT
     FROM INSERTED;
END;
GO

-- VERSAO --
EXEC ATUVEROBJ 'ATUALIZA_NRSEQ_ROTFABRICA','6.39.030';
GO
