Árvore de páginas

Recálculo do Custo Médio - Melhorar Performance

Produto:

Protheus 

Versões:

P12 e superiores

Ambiente:

 SIGAEST - Estoque e Custos.

Descrição

Abaixo segue as configurações e orientações recomendadas para melhorar a performance da rotina de recálculo do custo médio (MATA330)

Instalação dos pacotes de Stored Procedures

Através do módulo "Configurador (SIGACFG)" verificar se as stored procedures da rotina de recalculo do custo médio estão instaladas em seu ambiente, para esta ação acesse a rotina CFGX051 através do caminho "\Base de Dados\Dicionários\Stored Procedures (CFGX051)"
(concordo) Através da consulta certifique-se que os processos 01 (Reprocessamento Contábil) e 19 (Custo Médio) estão instalados corretamente.

IMPORTANTE: A utilização de stored procedures e impresindivel para melhora no desempenho da rotina de custo médio, por este motivo mantenha sempre instaladas em seu ambiente.

OBSERVAÇÃO: Caso esteja utilizando a contabilização do custo médio recomendamos a atualização do pacote de stored procedures

12.1.17: http://tdn.totvs.com/pages/viewpage.action?pageId=384583702


Configurações de parâmetro SX6
 

MV_A330GRV = .F.
Este parâmetro e recomendado para clientes possuem uma quantidade de registros na tabela SB2 superior a 10 mil registros, pois ele evita o processamento desnecessário de produtos/armazém obsoletos que não necessidade de recalculo.
Para uma melhor performance o parâmetro deve estar configurado com o conteúdo igual a .F. (False).
IMPORTANTE: Caso utilize os pacotes de stored procedures para execução da rotina e recomendada a reinstalação das SP's após a alteração deste parâmetro, sem esta ação o objetivo de melhora no desempenho não será atingido.

MV_A330DRV
Caso base de dados seja ainda em CTREE é aconselhado o uso do parâmetro, saiba mais

MV_CUSTEXC = N
Define se a rotina de custo médio sera executada de forma compartilhada.
IMPORTANTE: Recomendo que utilize a rotina de forma compartilhada, assim você poderá executar a rotina de duas ou mais filiais em paralelo.

MV_M330THR (Limite de 30 threads)
Quantidade Threads para execução da rotina.
Define o numero de threads que serão utilizadas na rotina de recalculo do custo médio (informar os números de 1 a 30 threads).
IMPORTANTE: Ao aumentar o numero de threads o administrador de infraestrutura devera verificar durante a execução da rotina se a quantidade de threads esta de acordo com a capacidade de seu ambiente.

MV_MOEDACM
Moedas a serem consideradas no processo de recalculo do custo médio (a moeda 1 sempre sera considerada).
IMPORTANTE: Este configuração depende da regra de negocio do cliente, por isso, o cliente deve verificar se utiliza outras moedas e informa-las no parâmetro. Caso não utilize poderá utilizar a configuração sugerida.
Exemplo de utilização para clientes que controlam somente a moeda 1 | MV_MOEDACM = (BRANCO)

MV_THRSEQ = .F.
Informa se na geração do arquivo TRB da rotina de recalculo do custo médio sera utilizado o controle de Jobs por .T. = Sequencial ou .F. = Paralelo.
IMPORTANTE: Para melhor performance o parâmetro deve estar configurado com .F. = Paralelo.

MV_M330JCM (Jobs para processamento dos movimentos de estoque)
Informa se no processamento da rotina de custo médio os movimentos de estoque (Notas de Entrada, Movimentos Internos e Notas de Saída) serão processados utilizando paralelismo (múltiplas threads) para melhorar a performance da rotina. Define se utiliza threads no processamento dos movimentos de ordem 100/300/500 na rotina de custo médio (MATA330).

IMPORTANTE: Para melhor performance o parâmetro deve estar configurado com 1/3/5, se 1 - Notas de Entrada, 3 - Movimentos Internos e 5 - Notas de Saída
As múltiplas threads no processamentos dos movimentos de estoque somente serão habilitadas quando utilizada a APROPRIAÇÃO MENSAL na rotina de custo médio.

MV_PRODMOD (http://tdn.totvs.com/pages/viewpage.action?pageId=224125910)
Para produtos Mão-de-Obra ou GGF temos disponível no Protheus dois métodos de configuração:

Método A - Para identificar um produto Mão-de-Obra ou GGF no Microsiga Protheus o código do produto (B1_COD - Tabela SB1) e composto pela nomenclatura "MOD" + Centro de Custos, com esta configuração o modulo de Estoque e Custos (SIGAEST) consegue identificar as características de produto diferenciado onde seu saldo de estoque tem origem do centro de custo informado em sua nomenclatura de código.
IMPORTANTE: Caso utilize somente esse tipo de configuração para produtos MOD, recomendamos que configure o parâmetro MV_PRODMOD = .F. (mais performática)

Método B - Para identificar um produto Mão-de-Obra ou GGF no Microsiga Protheus podemos utilizar os campos B1_CCCUSTO (para informar o centro de custo) e B1_GCCUSTO (para Informar o Grupo do Centro de Custos), neste método o código do produto (B1_COD) fica livre para que o usuário defina seu próprio modelo de codificação e também consegue quebrar o saldo de um determinado centro de custos por grupos.
IMPORTANTE: Caso utilize somente esse tipo de configuração para produtos MOD, recomendamos que configure o parâmetro MV_PRODMOD = T. (Sempre que utilizar os campos B1_CCCUSTO e/ou B1_GCCUSTO deve Obrigatoriamente utilizar o parametro MV_PRODMOD = .T.)


Configurações de Perguntas de Tela SX1

Pergunta: Gera Lancto Contábil = Mantem Lançamentos

Caso o cliente 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 Mantem Lançamento para que internamente não seja executada as funções de verificação e limpeza de possíveis lançamentos contábeis gerados no período de processamento para o lote 8840.

 

Pergunta: Apaga Estornos = Não
Na lista de perguntas da rotina de recálculo do custo médio configure o parâmetro Apagar Estornos? com o conteúdo igual a Não, com esta configuração a rotina não irá executar a limpeza de registros estornando gerando uma melhora na performance da rotina.

(aviso) Importante: O uso da pergunta "Apaga Estornos = Sim" com o uso de procedures, irá excluir fisicamente os itens estornados nos movimentos internos da tabela SD3, nos movimentos de requisições por lote da tabela SD5 e nos movimentos de distribuição da tabela SDB, no período executado, afim de diminuir o volume de dados a serem tratados visando melhor performance. Já o uso sem procedures, estes itens estornados são marcados como deletados permanecendo na base. O maior motivo de serem marcados com delete é que nas versões antigas do Protheus não era possível no ADVPL excluir fisicamente os registros estornados, apenas marca-los como o delete.    



Pergunta: Calcula Mão-de-Obra = Não

Caso o cliente não utilize o calculo de mão-de-obra com a integração via módulo contábil (SIGACTB), é possivel desabilitar o cálculo atraves da pergunta "Calcula Mão-de-Obra = Não". Desta forma haverá uma melhora no desempenho devido a diminuição de ações que serão executadas no processamento da rotina.


Pontos de Entrada para melhorar a performance

Caso o cliente não utilize o processo de transferência de materiais entre filiais (MATA310) pode-se desligar o processamento através do ponto de entrada MA330PRC (http://tdn.totvs.com/pages/viewpage.action?pageId=6087640)

 
Tabelas Envolvidas no processo de Recalculo do Custo médio

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, CQ1, CQ2, CQ3, CQ4, CQ5, CQ6, CQ7, CQ8, CQ9, SM2, SM0, STL, SWN.


Atualização do Ambiente

Recentemente foram realizadas melhorias de performance nos Binarios , Dbaccess e no pacote da rotina de Custo Médio, por este motivo recomendamos a atualização. Abaixo segue os link's:

Atualização da Rotina de Custo Médio

http://tdn.totvs.com/pages/viewpage.action?pageId=384583702

Atualização dos Binarios e Dbaccess

Acesse o portal do cliente suporte.totvs.com.br e abra a sessão Downloads.



Importante

Caso mesmo utilizando todos os procedimentos descritos nesta FAQ não tenha melhoras significativas no processamento na rotina de custo médio, segue as ações para avaliação:

a. Solicitar o apoio de um DBA para acompanhar a execução da rotina e verificar os possiveis pontos de manutenção no database para otimizar o processamento.

b. Habilitar o mecanismo de LogProfiler para gerar uma auditoria dos tempos de processamento. Deve ser criada a chave ConsoleMaxsize com 100000 no appserver.ini, vide ConsoleMaxSize, reduzindo o risco do logprofiler ficar incompleto. Para saber como habilitar e gerar o LogProfiler veja a documentação disponibilizada no link http://tdn.totvs.com/pages/viewpage.action?pageId=243638663

IMPORTANTE: Não acionar por <SHIFT>+<F6>, pois sua apresentação envolve somente a thread corrente. A rotina faz uso de varias threads que serão apresentadas somente no console.log/console.bak, sendo acionado através da chave LogProfiler=1 inserido no appserver.ini

c. Após a geração do LogProfiler realizar a abertura de um novo ticket para equipe de Suporte Técnico atraves do portal do cliente ( www.suporte.totvs.com.br ), anexando os seguintes itens:

  • Uma evidencia em vídeo com todas as configurações utilizadas em seu ambiente
  • Arquivo de console.log
  • Arquivo de console.bak
  • Arquivo de error.log
  • Arquivo de dbaccess.log
  • Arquivo de dbconsole.log
  • Uma cópia completa da tabela CV8, de preferencia no formato CTREE(.DTC)

Possa lhe interessar

Página com os principais pacotes de correção do módulo de Estoque e Custos
http://tdn.totvs.com/pages/viewpage.action?pageId=384583702

Principais FAQs (dúvidas e respostas) sobre Custo Médio
http://tdn.totvs.com/pages/viewpage.action?pageId=331851336

Documento com dicas sobre como melhorar a performance de seu ambiente
http://tdn.totvs.com/pages/viewpage.action?pageId=274854325

Apresentação dos principais procedimento para melhorar a performance das rotinas de Fechamento de Estoque (Manual Completo)
http://tdn.totvs.com/download/attachments/336404235/Performance%20Rotinas%20Fechamento%20de%20Estoque%20-%202014%20v01.pdf?api=v2

WorkShop sobre como melhorar a performance das rotinas de processamento
http://tdn.totvs.com/download/attachments/336404235/Performance%20Rotinas%20Fechamento%20de%20Estoque%20-%202014%20v01.pdf?api=v2