Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

Tempo aproximado para leitura: 02 min


01. DADOS GERAIS

Linha de Produto:Microsiga Protheus
Segmento:Recursos Humanos
Módulo:SIGAGPE
Função:Gpexusua.prx
Ticket:
Requisito/Story/Issue :DRHGFP-2873
Pacote:12.1.17:https://suporte.totvs.com/portal/p/10098/download?e=735416 ;


02. SITUAÇÃO/REQUISITO

A performance do calculo foi impactada apos alteração na função fgetcalcrot()

CALL               FGETCALCROT (   GPEXUSUA.PRX) C    31303 T  *1921.03*1 M     0.327
CALL               FGETCALCROT (   GPEXUSUA.PRX) C    31301 T    13.727 M     0.045

Onde usa:


If ( nPos := aScan(__aRotCalc,{|x| x[1] == cFilSRY .And. x[2] == cTipo .And. x[3] $ cTpmod  }) ) > 0
Deve ser alterado para:
If ( nPos := aScan(__aRotCalc,{|x| x[1] == cFilSRY .And. x[2] == cTipo .And. x[4] $ cTpmod  }) ) > 0

03. SOLUÇÃO

Ajuste na função fGetCalcRot() para que retorne o roteiro solicitado na primeira busca sem que seja necessário passar por toda a tabela de roteiros de calculo, impactando na performance das rotinas.