Histórico da Página
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:
...
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
...