Páginas filhas
  • PROCESSO DE MIGRAÇÃO NIMBVS PARA T-CLOUD (SQL SERVER)

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

Bloco de código
languagesql
themeEclipse
USE [TOTVS]
GO  

DROP VIEW [dbo].[EVENTO_EMBALAGEM];
GO

CREATE VIEW [dbo].[EVENTO_EMBALAGEM]
AS

SELECT EM.ID_UNIDADEADM, EVT.ID_APEMBALAGEM,EVT.DT_EVENTO, EM.ID_INSUMO, EVT.ID_EVENTO_EMB, 
INS.ID_GRPINSUMO, INS.ID_PRINCATIVO, EVT.ID_PERIODOSAFRA, PS.ID_SAFRA, 
EQ.ID_EQUIPE, EQ.CD_EQUIPE, 
APOS.ID_APORDSERVICO,
CC.ID_CCUSTO, OP.ID_OPERACAO, EVT.ID_APEMBALAGEM_EVT
FROM dbo.APEMBALAGEM_EVT  EVT 
JOIN dbo.APEMBALAGEM      EM      ON (EVT.ID_APEMBALAGEM = EM.ID_APEMBALAGEM)
JOIN dbo.EVENTO_EMB       EVTEMB  ON (EVT.ID_EVENTO_EMB  = EVTEMB.ID_EVENTO_EMB)
JOIN dbo.INSUMO           INS     ON (EM.ID_INSUMO       = INS.ID_INSUMO)
JOIN dbo.GRPINSUMO        GRP     ON (INS.ID_GRPINSUMO   = GRP.ID_GRPINSUMO)
LEFT JOIN dbo.PRINCATIVO  PATIV   ON (INS.ID_PRINCATIVO  = PATIV.ID_PRINCATIVO)

LEFT JOIN 
( SELECT DISTINCT D.ID_PERIODOSAFRA, D.ID_APEMBALAGEM  
FROM dbo.APEMBALAGEM_EVT D
  JOIN
    (SELECT  D1.ID_APEMBALAGEM, MAX(D1.DT_EVENTO) DT_EVENTO 
    FROM dbo.APEMBALAGEM_EVT D1 
    WHERE D1.ID_PERIODOSAFRA IS NOT NULL 
    GROUP BY D1.ID_APEMBALAGEM
    ) D1 ON (D.ID_APEMBALAGEM = D1.ID_APEMBALAGEM AND D.DT_EVENTO = D1.DT_EVENTO) 
) EVT_PERIODOSAFRA  ON (EVT_PERIODOSAFRA.ID_APEMBALAGEM = EVT.ID_APEMBALAGEM)

LEFT JOIN dbo.PERIODOSAFRA PS     ON (EVT_PERIODOSAFRA.ID_PERIODOSAFRA= PS.ID_PERIODOSAFRA)
LEFT JOIN dbo.SAFRA        S      ON (PS.ID_SAFRA        = S.ID_SAFRA)


LEFT JOIN 
( SELECT DISTINCT D.ID_APORDSERVICO, D.ID_APEMBALAGEM  FROM dbo.APEMBALAGEM_EVT D
  JOIN
    (SELECT  D1.ID_APEMBALAGEM, MAX(D1.DT_EVENTO) DT_EVENTO 
    FROM dbo.APEMBALAGEM_EVT D1 
    WHERE D1.ID_APORDSERVICO IS NOT NULL 
    GROUP BY D1.ID_APEMBALAGEM
    ) D1 ON (D.ID_APEMBALAGEM = D1.ID_APEMBALAGEM AND D.DT_EVENTO = D1.DT_EVENTO) 
) EVT_APOS  ON (EVT_APOS.ID_APEMBALAGEM = EVT.ID_APEMBALAGEM)
LEFT JOIN dbo.APORDSERVICO APOS   ON (EVT_APOS.ID_APORDSERVICO= APOS.ID_APORDSERVICO)


LEFT JOIN 
( SELECT DISTINCT D.ID_CCUSTO, D.ID_APEMBALAGEM  FROM dbo.APEMBALAGEM_EVT D
  JOIN
    (SELECT  D1.ID_APEMBALAGEM, MAX(D1.DT_EVENTO) DT_EVENTO 
    FROM dbo.APEMBALAGEM_EVT D1 
    WHERE D1.ID_CCUSTO IS NOT NULL 
    GROUP BY D1.ID_APEMBALAGEM
    ) D1 ON (D.ID_APEMBALAGEM = D1.ID_APEMBALAGEM AND D.DT_EVENTO = D1.DT_EVENTO) 
) EVT_CCUSTO  ON (EVT_CCUSTO.ID_APEMBALAGEM = EVT.ID_APEMBALAGEM)

LEFT JOIN dbo.CCUSTO       CC     ON (ISNULL(EVT_CCUSTO.ID_CCUSTO, APOS.ID_CCUSTO)     = CC.ID_CCUSTO)

LEFT JOIN 
( SELECT DISTINCT D.ID_OPERACAO, D.ID_APEMBALAGEM  FROM dbo.APEMBALAGEM_EVT D
  JOIN
    (SELECT  D1.ID_APEMBALAGEM, MAX(D1.DT_EVENTO) DT_EVENTO 
    FROM dbo.APEMBALAGEM_EVT D1 
    WHERE D1.ID_OPERACAO IS NOT NULL 
    GROUP BY D1.ID_APEMBALAGEM
    ) D1 ON (D.ID_APEMBALAGEM = D1.ID_APEMBALAGEM AND D.DT_EVENTO = D1.DT_EVENTO) 
) EVT_OPERACAO  ON (EVT_OPERACAO.ID_APEMBALAGEM = EVT.ID_APEMBALAGEM)

LEFT JOIN dbo.OPERACAO     OP     ON (ISNULL(EVT_OPERACAO.ID_OPERACAO, APOS.ID_OPERACAO) = OP.ID_OPERACAO)


LEFT JOIN 
( SELECT DISTINCT D.ID_EQUIPE, D.ID_APEMBALAGEM  FROM dbo.APEMBALAGEM_EVT D
  JOIN
    (SELECT  D1.ID_APEMBALAGEM, MAX(D1.DT_EVENTO) DT_EVENTO 
    FROM dbo.APEMBALAGEM_EVT D1 
    WHERE D1.ID_EQUIPE IS NOT NULL 
    GROUP BY D1.ID_APEMBALAGEM
    ) D1 ON (D.ID_APEMBALAGEM = D1.ID_APEMBALAGEM AND D.DT_EVENTO = D1.DT_EVENTO) 
) EQ_EVT  ON (EQ_EVT.ID_APEMBALAGEM = EVT.ID_APEMBALAGEM)
LEFT JOIN dbo.EQUIPE       EQ     ON (EQ.ID_EQUIPE=  ISNULL(EQ_EVT.ID_EQUIPE,APOS.ID_EQUIPE) );

GO


Na etapa a seguir precisaremos identificar se existe a referencia da sequencia na tabela APABASTEC_TMP para isso execute o Select a seguir, e caso retorne informações será necessário executar o proximo comando para remover a Seguencia . Ponto de atenção :  Após o processo de migração será necessário voltar a referencia  a sequencia, portanto nas etapas seguintes iremos retornar a referencia que foi removida;  


Bloco de código
languagesql
themeEclipse
DECLARE @ConstraintName NVARCHAR(255);

SELECT @ConstraintName = c.name
FROM sys.default_constraints c
JOIN sys.objects o ON o.object_id = c.parent_object_id
WHERE o.name = 'APABASTEC_TMP';

IF @ConstraintName IS NOT NULL
BEGIN
    EXEC('ALTER TABLE dbo.APABASTEC_TMP DROP CONSTRAINT ' + @ConstraintName);
END

ALTER TABLE dbo.APABASTEC_TMP SET (LOCK_ESCALATION = TABLE)
GO
Bloco de código
languagesql
themeEclipse

...