Histórico da Página
...
Produto: | TOTVS Backoffice
| ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Linha de Produto: | Linha Protheus | ||||||||||||||||
Segmento: | Backoffice SP | ||||||||||||||||
Módulo: | AUTOMAÇÃO FISCAL | ||||||||||||||||
Função: | APURAÇÃO DOS EVENTOS R-2010 E R-2020 (CONTRIBUIÇÃO PREVIDENCIÁRIA SERVIÇOS TOMADOS E PRESTADOS) TAFXREINF.PRW | ||||||||||||||||
Ticket: | Não há | ||||||||||||||||
Requisito/Story/Issue (informe o requisito relacionado) : | DSERTAF2-14752 |
...
Conforme apoio realizado na issue, foi verificado que nas queries que utilizam o comando SUBSTR (C20_DTDOC,1,6) = 'AAAAMM' na cláusula WHERE, são menos performáticas que se utilizasse o campo C20_DTDOC between 'datade' and 'dataate',
pois alguns bancos não reconhecem qual índice utilizar quando possui SUBSTR.
Rever as queries realizadas para o evento R-2010 e R-2020 retirando o uso do SUBSTR.
Avaliar todas as queries do 2010/2020 - Verificar se os relacionamentos INNER JOIN possui todos os campos de relacionamento entre pai e filha utilizados na query,
exemplo de gap: nos relacionamentos da C30 com a C35 está somente o CHVNF e NUMITE, não está utilizando o CODITE.Funções com problemas de queries:
Conforme apoio realizado na issue, verificamos que nas queries que utilizam o comando SUBSTR (C20_DTDOC,1,6) = 'AAAAMM' na cláusula WHERE, são menos performáticas que se utilizasse o campo C20_DTDOC between 'datade' and 'dataate', pois alguns bancos não reconhecem qual índice utilizar quando possui SUBSTR.
Rever as queries realizadas para o evento R-2010 e R-2020 retirando o uso do SUBSTR.
Avaliar todas as queries do 2010/2020 - Verificar se os relacionamentos INNER JOIN possui todos os campos de relacionamento entre pai e filha utilizados na query, exemplo de gap que pegamos, nos relacionamentos da C30 com a C35 está somente o CHVNF e NUMITE, não está utilizando o CODITE.
Funções com problemas de queries: TafxReinf(RetSt2000) e Tafaprcp(Apur1020), TAFRCP.
03. SOLUÇÃO
Trocado o Substituição do SubStr por Between nas queries que fazem parte da rotina de apuração e relatório do R-2010 e R-2020. <p style='margin-left: 30.0px;'>Inserido
Inserido o CODITE nos joins.</p><p style='margin-left: 30.0px;'>Modificação
Modificação no Índice 5 da C20 .</p>( + C1H_PPES+C1H_INDDES )
Modificação no Índice 3 da C1H .( +C20_CODSIT+C20_PROCID )
INDICE | ORDEM | CHAVE |
C1H | 3 | C1H_FILIAL+C1H_CNPJ+C1H_PPES+C1H_INDDES |
C20 | 5 | C20_FILIAL+C20_INDOPE+C20_CODMOD+C20_SERIE+C20_SUBSER+C20_NUMDOC+DTOS(C20_DTDOC)+C20_CODPAR+C20_CODSIT+C20_PROCID |
04. DEMAIS INFORMAÇÕES
Atualizar o sdfra.txt, rodar o upddistr para atualizar os índices.
...
Acessar o MVC do Documento de Entrada (TAFA062E) e o MVC do cadastro de participantes (TAFA053) e clicar em incluir em ambos. O ,
o índice do SIX, será efetivado no banco de dados.
...