01. DADOS GERAIS
Produto: | TOTVS Backoffice
|
---|---|
Linha de Produto: | Linha Protheus |
Segmento: | Backoffice SP |
Módulo: | AUTOMAÇÃO FISCAL |
Função: | TAFA556 TSIXFUN |
Ticket: | |
Requisito/Story/Issue (informe o requisito relacionado) : | DSERTAF2-17370 |
02. SITUAÇÃO/REQUISITO
Cliente possui cerca de 60.000 mil clientes na tabela SA1 e mais de 110.000 fornecedores na SA2, ao todo são mais de 40 filiais.
Foi identificado que na issue DSERTAF2-16307 foi retirado o EXISTS na SFT (para melhorar desempenho na execução das queries),
porém com as tabelas SA1, SA2 e C1H totalmente compartilhadas e se o cliente possuir V80_ALIAS = 'C1H' em todas as filiais,
o TSI reprocessa novamente as mesma informações, pois o fonte TAFA556 filtra os stamps inferiores que já foram processados na
filial anterior e com isso consome muito mais tempo no processamento.
03. SOLUÇÃO
Quando as tabelas SA1, SA2 e C1H estiverem totalmente compartilhadas, para o TSI não processar novamente os participantes
(que foram atualizados no update fake da filial anterior na próxima filial) ou processar a carga de participantes apenas na primeira filial
e não processar novamente nas próximas, a tabela V80 irá centralizar a data de corte, no registro que possuir o novo campo V80_COMPAR(Compartilhado?) = '1' (Sim).
Para o correto funcionamento dos participantes compartilhados, o schedule não deverá estar configurado para processar as filiais paralelamente e sim no modo sequencial.
Recomendado: Se o agent possuir 2(default) ou mais threads e o cadastro estiver apenas com o grupo marcado, ex: "01" (será sequencial) ou
se o agent possuir 1thread e o cadastro estiver com o grupo / filial(s) separados por ponto e vírgula, ex: 01/01;01/02;01/03 (será sequencial).
Não recomendado: Se o agent possuir 2(default) ou mais threads e o cadastro estiver com o grupo / filial(s) separados por ponto e vírgula,
ex: 01/01;01/02;01/03 (será paralelo) e poderá haver risco das filiais processar os mesmo participantes, já que iniciarão no mesmo momento.
Exemplo de processamento sequencial com nova solução:
Início TAF TSI - filial 01
Entraram 500 notas na filial 01.
Realizado alteração fake de predecessores nos 500 participantes.
Processado os predecessores.
Nesse momento será gravado o V80_COMPAR = "1" (sim) com o V80_STAMP do último participante processado (já que houve mudança na filial 01).
Processado as notas, as apurações e os erros.
Fim TAF TSI - filial 01
As próximas filiais irão considerar a data de corte do V80_COMPAR = '1' (Sim), para processar os participantes se as tabelas SA1, SA2 e C1H estiverem totalmente compartilhadas.
Início TAF TSI - filial 02
Não entraram as notas.
Não tem update fake.
-Verificado se tem participantes superiores ao V80_STAMP do V80_COMPAR = '1' + V80_ALIAS = 'C1H' + V80_ALIERP = 'SA1' ou 'SA2'
não mais o V80_STAMP que consta na V80_FILIAL = '02' + V80_ALIAS = 'C1H' + V80_ALIERP = 'SA1' ou 'SA2'.
- Não tem predecessores (com a nova solução, não haverá processamento novamente dos 500 participantes processados na filial 01).
- Não atualizou o V80_STAMP do V80_COMPAR = '1' + V80_ALIAS = 'C1H' + V80_ALIERP = 'SA1' ou 'SA2' (já que não houve mudança na filial 02).
Não processou as notas, as apurações e os erros.
Fim TAF TSI - filial 02
Início TAF TSI - filial 03
Entraram 100 notas na filial 03.
Realizado alteração fake de predecessores nos 100 participantes.
Verificado se tem participantes superiores ao V80_STAMP do V80_COMPAR = '1' + V80_ALIAS = 'C1H' + V80_ALIERP = 'SA1' ou 'SA2'
Processado os 100 participantes.
Atualiza o V80_STAMP do V80_COMPAR = '1' + V80_ALIAS = 'C1H' + V80_ALIERP = 'SA1' ou 'SA2' (já que houve mudança na filial 03).
Processado as notas, apurações e erros.
Fim TAF TSI - filial 03
04. DEMAIS INFORMAÇÕES
Aplicar patch, pacote, rodar upddistr, acessar o menu da rotina TAFA599 (TSI Data de Corte) e verificar se foram efetivadas as criações compostas no pacote:
SX2
X2_CHAVE | X2_NOME | X2_MODO | X2_MODOUN | X2_MODOEMP | X2_UNICO | X2_PYME | X2_MODULO | X2_SYSOBJ |
V80 | Data De Corte TSI | E | E | E | V80_FILIAL+V80_ALIAS+V80_ALIERP+V80_COMPAR | S | 84 | TAFA599 |
SX3
X3_ARQUIVO | X3_ORDEM | X3_CAMPO | X3_TIPO | X3_TAMANHO | X3_DECIMAL | X3_TITULO | X3_DESCRIC | X3_PICTURE | X3CBOX | X3_NIVEL | X3_RESERV | X3_BROWSE | X3_VISUAL | X3_CONTEXT | X3_OBRIGAT | X3_PYME | X3_POSLGT | X3_MODAL |
V80 | 05 | V80_COMPAR | C | 1 | 0 | Compart? | Compartilhado? | @! | 1=Sim;2=Não | 1 | x | S | A | R | S | 1 | 2 |
SIX
INDICE | ORDEM | CHAVE | DESCRICAO | PROPRI | NICKNAME | SHOWPESQ | IX_VIRTUAL | IX_VIRCUST |
V80 | 1 | V80_FILIAL+V80_ALIAS+V80_ALIERP+V80_COMPAR | Alias + Alias ERP + Compart? | S | S | 2 | 3 |
Caso o pacote esteja aplicado e na tabela V80 existam filiais com registros V80_ALIAS = C1H, o registro que possuir o V80_COMPAR = "1"(Sim),
é o que será considerado para os próximos filtros e atualização dos participantes compartilhados, ex:
05. ASSUNTOS RELACIONADOS