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
- documento_tecnico
- totvs_backoffice_linha_protheus
- automacao_fiscal
- reinf
- bra
- sigataf
- 12_1_2310
- ifdef_top
- cversion
- aversao
- nveratu
- nverrup
- nx
- fatutafsx1
- fatutafsix
- fatutafsx2
- fatutafhlp
- ruptaf
- updtaf
- ch8unique
- fatualid36
- chgorder
- ordertbc30
- x3_cbox
- x3_cboxeng
- x3_cboxspa
- x3_f3
- x3_inibrw
- upddistr
- c30_dcdipa
- x3_context
- sx7
- sxa
- sx9
- x3_titeng
- x3_titspa
- x3_valid
- x3_descspa
- x3_desceng
- crelstart
- crelfinish
- mpdicindb
- dsertaf2_13361
- refatorar