Home

Linha Microsiga Protheus

Páginas filhas
  • Dicas de Performance para Rotina de Custo Médio

Documento: Dicas de Performance para Rotina de Custo Médio

Procedimentos para melhoria de performance na rotina de Recálculo do Custo Médio (MATA330)


 

·         Contabilização por Thread - Para ganho de performance no processamento da contabilização de custos, nas rotinas Recálculo de Custo Médio (MATA330) e Contabilização do Custo Médio (MATA331) implementou-se o conceito de contabilização por Thread, que permite definir através do novo parâmetro MV_M330THR o número de Threads que devem ser executadas ao mesmo tempo pelo Sistema. Vale ressaltar que se o ambiente estiver utilizando entre 80% e 90% de sua capacidade de leitura/gravação de disco e processador, não é recomendado a utilização de Mult-threads. (Consulte o Boletim Técnico).

 ·         Processamento Paralelo - Para aumentar a velocidade de processamento da rotina Recálculo de Custo Médio (MATA330), implementou-se melhoria de performance na geração dos arquivos de trabalho TRB e TRT (somente procedures). Essa implementação é aplicada aos processamentos com mais de uma filial selecionada, em que cada filial será convertida em uma Thread, fazendo com que a geração dos arquivos de trabalho seja executada em paralelo, o que aumenta a velocidade de processamento da rotina de recálculo do custo médio. Não existe parâmetro para ativar o processamento em paralelo, é necessário utilizar apenas a rotina de Recálculo do Custo Médio, atualizada com Stored Procedures. (Consulte o Boletim Técnico).
  ·         Reprocessamento Contábil – Neste caso realizou-se melhoria na chamada da função CTBA190 (Reprocessamento contábil) que era executada uma vez por filial, atualmente a rotina de Recálculo do Custo Médio executa a função chamando a função por range de filiais selecionadas, o que faz com que a rotina tenha um ganho de performance muito grande e evita os semáforos nas tabelas de contabilização, pois a função é executada menos vezes do que o procedimento anterior a melhoria, neste processo não e necessário a configuração de parâmetros.
 ·         Caso não utilize a contabilização na rotina de Recálculo do Custo Médio é recomendado que antes de executar a rotina, configure a pergunta Gera Lancto Contábil com conteúdo igual a Mantêm Lançamento para que internamente não seja executada a função CTBA190 (Reprocessamento Contábil) com esse procedimento foi constatado uma ganho de performance de até 15%.
 ·         Parâmetro MV_MOEDACM – Desenvolvido o parâmetro MV_MOEDACM com a finalidade de informar quais moedas são utilizadas no processo de Recálculo do Custo Médio, quando o cliente não utiliza todas as moedas não se faz necessário processar o custo de todas moedas, mas apenas das moedas utilizadas. Esse procedimento é utilizado para ganho de performance na rotina de Recalculo do Custo Médio, para maiores detalhes consulte o Boletim Técnico do parâmetro.
 ·         Criação de Log de monitoramento (Tabela CV8) – Desenvolvido o log de monitoramento para a rotina de Recálculo do Custo Médio, permitindo verificar o que acontece na rotina passo-a-passo, sendo possível verificar em que passo a rotina esta gastando o maior tempo de processamento. Para maiores detalhes consulte o Boletim Técnico.
 ·         Na lista de parâmetros da rotina de Recálculo do Custo Médio, configure o parâmetro Apagar Estornos com o conteúdo igual a Não. Com está configuração a rotina obtém um ganho de performance de 5%.
 ·         Caso o cliente não utilize o processo de transferência de materiais entre filiais (MATA310), é possível desligar o processamento através do Ponto de Entrada MA330PRC.
 ·         Através do Ponto de Entrada MA330TRB é possível manipular o arquivo de trabalho que é processado pela rotina de Recálculo do Custo Médio. Um exemplo de utilização deste Ponto de Entrada, seria a necessidade de não processar produtos obsoletos, viabilizando melhoria na performance da rotina.  
 ·         Caso não tenha necessidade de atualização do custo médio unitário atual (B2_CM1 a B2_CM5), é possível utilizar o parâmetro MV_330ATCM com conteúdo igual a F (False). O processamento do custo médio é realizado nos campos de fechamento B2_CMFIM1 a B2_CMFIM5 e logo após transferido para os campos B2_CM1 a B2_CM5 somente para manter o legado. 
 ·         Implementado o tratamento de Threads para o processamento do Custo Médio (MATA330) para ambientes que possuem um alto volume de documentos de Entrada / Saída, através do parâmetro MV_M330JCM, geralmente clientes que se enquadram no ramo de varejo. Com esta implementação constatamos um ganho de performance de aproximadamente 50% para clientes que se enquadram neste ramo de atividade.  Ao habilitar a implementação o processamento dos documentos de Entrada/ Saída ordenados pelas ordens 100 (Entrada) e 500 (Saída) terão seus custos calculados através de Threads, para aumentar a performance da rotina. Maiores detalhes consulte o boletim técnico referente ao chamado TDQNYH. 

 Importante:

Cada item acima deve ser analisado de acordo com o ambiente  -  Caso  tenha executado todos os passos acima e mesmo assim o problema de performance persistir, deve ser alocado um analista DBA para verificar a base de dados.

                                                                                                            

  • Sem rótulos