quinta-feira, 25 de agosto de 2011

Melhoria na performance da rotina de recalculo do custo médio

Produto: Totvs Protheus Estoque
Processo do Sistema: Melhoria na performance da rotina de recalculo do custo médio  

Sintoma

Procedimentos para melhoria de desempenho na rotina de recalculo do custo médio (MATA330)


Solução


ITEM 1: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), foi implementado o conceito de contabilização por thread que permite ao usuário definir através do novo parâmetro “MV_M330THR”, o número de threads que deverão ser executadas ao mesmo tempo pelo Sistema. Vale ressaltar que se ambiente do cliente já estiver utilizando entre 80% e 90% de sua capacidade de leitura/gravação de disco e processador não e recomendado a utilização de mult-threads. (Verificar o boletim técnico).

ITEM 2: 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 exponencialmente 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 apenas utilizar a rotina de recalculo do custo médio atualizada com stored procedures. (Verificar boletim técnico).

ITEM 3:Reprocessamento contábil – Neste caso foi melhorada a chamada da função CTBA190 (“Reprocessamento contábil”) que era executada uma vez por filial, atualmente a rotina de recalculo 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 e executada menos vezes do que o procedimento anterior a melhoria, neste processo não e necessário a configuração de parâmetros.

ITEM 4:Caso o cliente não utilize a contabilização na rotina de recalculo do custo médio e recomendado que antes de executar a rotina configure a pergunta “Gera Lancto Contábil” com conteúdo igual a “Mantem 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%

ITEM 5: Parâmetro MV_MOEDACM – Foi desenvolvido o parâmetro MV_MOEDACM cujo principal objetivo e informar quais moedas serão utilizados no processo de recalculo 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 e utilizada para ganho de performance na rotina de recalculo do custo médio, para maiores detalhes favor verificar o boletim técnico do parâmetro.

ITEM 6: Criação de Log de monitoramento – Foi desenvolvido o log de monitoramento para a rotina de recalculo do custo médio onde o cliente poderá verificar o que esta acontecendo na rotina passo-a-passo, para maiores detalhes consulte o boletim técnico.

ITEM 7: Na lista de parâmetro da rotina de recalculo do custo médio configurar o parâmetro “Apagar Estornos?” com o conteúdo igual a “Não” com esta configuração a rotina ira ter um ganho de performance de 5%

ITEM 8: Caso o cliente não utilize o processo de transferência de materiais entre filiais (MATA310) poderá desligar o processamento através do ponto de entrada MA330PRC.

 ITEM 9:Através do ponto de entrada MA330TRB e possível manipular o arquivo de trabalho
que será processado pela rotina de recalculo do custo médio. Um exemplo de utilização deste ponto de entrada seria a necessidade de não processar produtos obsoletos, assim melhorando a performance da rotina.

Informações Adicionais

Tabelas envolvidas:
AF9,AFN,CT1,CT2,CT3,CT5,CT6,CT7,CTC,CTT,SB1,SB2,SB6,SB7,SB9,SBD,SC2,SCC,SD1,SD2,
SD3,SD5,SD7,SD8 ,SDB, SF1,SF2,SF4,SF5,SF8,SFB,SFC,SG1,SI1,SI2,SI3,SI5,SI6,SI7,SM2,SM0,
STL,SWN..







Nenhum comentário:

Postar um comentário