Adaptar estratégia new sync com a expressa

De GeoSales
Ir para navegação Ir para pesquisar

ALTERAÇÃO PARA EXPRESSA UTILIZAR A ESTRUTURA TAMOJUNTO

TABELA LISTA_PRODUTO E LISTA_PRODUTO_LOTE

1. CRIAR ESTRUTURA TAMO JUNTO

1.1-CRIAR AS TABELAS "LISTA_PRODUTO_001" E "LISTA_PRODUTO_LOTE_001"
1.2-COLOCAR ESSAS TABELAS PARA NO CAMPO DATA DE INSERÇÃO RECEBER GETDATA() COMO DEFAULT
1.3-POVOAR AS DUAS TABELAS COM OS DADOS DAS TABELAS REAIS (LEMBRANDO QUE O DEFAULT DE INSERÇÃO SERÁ A DATA DO MOMENTO QUE INSERIR)
1.4-RENOMEAR AS DUAS TABELAS PARA "LISTA_PRODUTO_OLD" E "LISTA_PRODUTO_LOTE_OLD"
1.5-CRIAR AS VIEWS DE TJ QUE É POPULADA A PARTIR DOS DADOS DAS 001 COM DATA_DELETE NULL
1.6-CRIAR AS VIEWS LISTA_PRODUTO E LISTA_PRODUTO_LOTE CONSULTANDO DAS VIEWS TJ SEM ID E PORTALVIEW_LISTA_PRODUTO_LOTE (UNIÃO DAS DUAS COM (-1) NA INFORMAÇÃO DE LOTE PARA LISTA_PRODUTO)
1.7-GERAR ESTRUTURA DE TRIGGERS PARA MANTER A COERENCIA DOS DADOS ENTRE A OLD E A 001
PODEMOS REALIZAR ESSE PROCESSO ATRAVÉS DO AUTOMATIZADOR:

(dar um git checkout nesse projeto: http://homolog1.softsitemobile.com:1232/flsobral/tamojunto importar no eclipse como projeto maven rodar a classe Main dentro do subprojeto tamojunto/script generator) dentro da classe Main, variável tabelas :

um array das tabelas que se deseja trabalhar (no caso, "LISTA_PRODUTO_LOTE", "LISTA_PRODUTO", "FAIXA_PRECO_PRODUTO", etc)


2. ALTERAR CONSULTA NO XML DO SYNC SERVER PARA A VERSÃO 3.35.23

;with tp_operacao as (
 select 'I' as op
)
select
 T.CD_TAB_PRECO,
 T.CD_PRODUTO,
 RTRIM(T.CD_ORG_VENDA) AS CD_ORG_VENDA,
 T.CD_SEQUENCIAL,
 'CD_ORG_VENDA=' + cd_org_venda + ';CD_TAB_PRECO=' + convert(varchar, cd_tab_preco) + ';CD_PRODUTO=' + convert(varchar, cd_produto) as id_key,
 id as CD_SINC_USUARIO
from
 lista_produto_001 t,
 log_sync_strategy lss,
 tp_operacao tp
where
 lss.nm_tabela = 'LISTA_PRODUTO' AND
 lss.cd_usuario = 1 AND
 ( (tp.op = 'I' and lss.dt_last_sync < t.data_insert AND t.data_update is null and t.data_delete is null) OR
  (tp.op = 'U' and lss.dt_last_sync < t.data_update and t.data_delete is null) OR
  (tp.op = 'D' and lss.dt_last_sync < t.data_delete and t.data_delete is not null)
 )


VIEW PORTALVIEW_LISTA_PRODUTO_LOTE