01. DADOS GERAIS
Produto: | TOTVS Backoffice |
---|---|
Linha de Produto: | Linha Protheus |
Segmento: | Backoffice |
Módulo: | Financeiro |
Função: | FINR150 - Posição de Títulos a Pagar |
Ticket: | |
Requisito/Story/Issue (informe o requisito relacionado) : | DSERFINP-29553 DSERFINP-31866 |
02. SITUAÇÃO/REQUISITO
Melhorar a performance da rotina FINR150, mantendo todos os conceitos envolvidos na rotina atual, como Pontos de Entrada no formato existente, campos impressos e Parâmetros.
Para esta issue teremos foco nos seguintes trechos / conceitos :
- Tratamento do cálculo de abatimentos passando a usar a SumAbatPag()
Converter essa função em query escalar
Retirar as macros da função xSomaAbat()
- Função FRVLCOMPFIL ter melhoria para tratar também através de Query Escalar
Novo parâmetro com o objeto já criado da Query Escalar deve ser passado nesta função.
** Rotinas atuais como FINR130, FINR340 não serão alterados neste momento (implementação futura de performance).
03. SOLUÇÃO
Os testes e implementações previstas com relação a aplicação da Função Escalar não foram performáticas como se esperou.
Assim foram aplicados os seguintes tratamentos:
1 - Na query principal do FINR150 implementada consulta relativa aos movimentos de compensação. Retirado do lado Client a verificação um a um;
2 - Extração dos comandos macro da função FINXFIN:xSomaAbat();
3 - Criado um cache com a última consulta na função FINXFIN:GetFlBxSE5() para atendimento exclusivo das chamadas FINR130 e FINR150.
Ganho médio atingido após implementações: FINR150 - 22% e FINR130 24%
04. DEMAIS INFORMAÇÕES
Não há.
05. ASSUNTOS RELACIONADOS
Não há.