Breadcrumbs

O que fazer quando o cliente realiza separação de lojas e solicita a migração de legado?

Introdução

Em alguns casos o cliente utiliza todas as lojas de um estado em um mesmo concentrador, e decide realizar a separação colocando uma loja em cada concentrador, porém as nomenclaturas e agent ids continuam o mesmo. Como proceder para inserir os documentos de cada loja nos seus futuros concentradores?

Passo a passo

Nestes casos se não houver alteração de agentid e apenas o que for ser alterado é o job aonde os documentos serão exibidos no e-monitor, deve ser usada a seguinte query:

declare @JOBIDATUAL bigint, @JOBIDDESEJADO bigint

set @JOBIDATUAL = set @JOBIDDESEJADO =

—DEVE SER EXECUTADA EM PRIMEIRO LUGAR ESTA QUERY LOGO APÓS A QUERY QUE REALIZA UPDATE NA TBLOGDOCUMENT, CASO SEJA INVERTIDA A ORDEM NÃO SERÁ MAIS POSSÍVEL REALIZAR A MIGRAÇÃO E OS VINCULOS FICARAM ERRÔNEOS

UPDATE TBPROCESS SET JOBID = @JOBIDDESEJADO WHERE LOGDOCID IN (select LOGDOCID FROM TBLOGDOCUMENT WHERE JOBID = @JOBIDATUAL AND AGENTID IN (IDSDOSAGENTES))

UPDATE TBLOGDOCUMENT SET JOBID = @JOBIDDESEJADO WHERE JOBID = @JOBIDATUAL AND AGENTID IN (IDSDOSAGENTES)

OBS: Caso haja alteração de agentid, devem ser identificamos os agents que correspondem aos antigos e substituir apenas na tblogdocument pelas id's dos novos agents, um exemplo de query é este:

por exemplo a nomenclatura de loja foi alterada e o agent que tinha por agentkey LOJA01001 e ID 1, agora será STOR01001 E ID 2. O update que será realizado na TBLOGDOCUMENT É:

declare @AGENTIDATUAL bigint, @AGENTIDDESEJADO bigint,@JOBID bigint

set @AGENTIDATUAL = 1 set @AGENTIDDESEJADO = 2 set @JOBID = ID DO JOB AONDE OS DOCUMENTOS DESTE AGENT ESTÃO VINCULADOS

UPDATE TBLOGDOCUMENT SET AGENTID = @AGENTIDDESEJADO WHERE JOBID = @JOBID AND AGENTID = @AGENTIDATUAL

OBS: Esta ação deve ser realizada após a alteração de JOBID mencionada no início desta resposta.

Outras informações

Fonte: João Vitor Moretto de Azevedo