Árvore de páginas


01. DADOS GERAIS

Produto:

TOTVS Backoffice

Linha de Produto:

Linha Protheus 

Segmento:

Backoffice SP 

Módulo:AUTOMAÇÃO FISCAL
Função:UPDTAF
Ticket:Não se aplica
Requisito/Story/Issue (informe o requisito relacionado) :DSERTAF2-13361

02. SITUAÇÃO/REQUISITO


Nesta atividade, realizaremos a refatoração dos códigos fonte RUPTAF e UPDTAF, abordando os pontos descritos a seguir:

  • Remover o tratamento #IFDEF TOP.
  • Eliminar a verificação da variável cVersion == "12", considerando que atualmente só existe a versão 12.
  • Excluir a variável aVersao e o laço de repetição relacionado, substituindo por um novo tratamento de versão.
  • Eliminar as variáveis nVerAtu, nVerRUP e nX, que não serão mais necessárias com o novo tratamento de versão.
  • Excluir as funções FAtuTafSX1, FAtuTafSIX, FAtuTafSX2 e FAtuTafHlp, juntamente com suas chamadas em RUPTAF e UPDTAF, com a possibilidade de reintrodução futura conforme demanda.
  • Retirar a chamada da função CH8Unique.
  • Excluir a função FAtualID36 e sua chamada.
  • Eliminar a função ChgOrder.
  • Remover a função OrderTbC30.
  • Revisar os campos que alteram X3_CBOX, X3_CBOXENG, X3_CBOXSPA, X3_F3, X3_INIBRW de acordo com a regra do UPDDISTR, atualizando apenas se o novo dicionário TOTVS não estiver vazio.
  • Verificar a necessidade de manter a atualização do tamanho do campo C30_DCDIPA.
  • Avaliar a necessidade de manter as alterações em X3_CONTEXT.
  • Considerar a necessidade de manter as remoções dos SX7, SXA e SX9.
  • Remover as alterações em X3_TITENG, X3_TITSPA, X3_VALID, X3_DESCSPA, X3_DESCENG, pois UPDDISTR sempre atualiza.
  • Aplicar as condicionais para tratamentos de versão: If cRelStart < "033" .and. cRelFinish >= "033" e If cRelStart < "2210" .and. cRelFinish >= "2210".
  • Utilizar a função MpDicInDB() para verificar se o dicionário já está no banco e realizar a mudança para a operação de atualização.

03. SOLUÇÃO

A refatoração dos fontes UPDTAF e RUPTAF foi realizada, seguindo os itens classificados com atenção especial à utilização da função MpDicInDB() para verificar se o dicionário de dados está presente no banco.
Além disso, foi realizado tratametno para os itens presentes nas atualizações das tabelas SX3, SX7 e SX7. Agora, esses itens serão adicionados em um Array{} para possibilitar a execução de um único update com todas as alterações necessárias. Essa abordagem mantém o RecLock() individual para cada alteração apenas nos releases nos quais o dicionário de dados não está presente no banco de dados.

04. DEMAIS INFORMAÇÕES

Não se aplica

05. ASSUNTOS RELACIONADOS

        TOTVS Automação Fiscal