Páginas filhas
  • 13568814 DMANSMARTSQUAD1-23474 DT MAN10533 - Performance Rateio Bloco K


01. DADOS GERAIS

Produto:

TOTVS Manufatura

Linha de Produto:

Linha Logix

Segmento:

Manufatura

Módulo:

TOTVS Manufatura (Linha Logix) - Chão de Fábrica

Função:MAN10533 - Rateio Bloco K
País:Brasil
Ticket:13568814 
Issue:DMANSMARTSQUAD1-23474


02. SITUAÇÃO/REQUISITO

Devido ao alto volume de informações, ao processar o rateio do Bloco K está derrubando o AppServer sem finalizar o processamento.

03. SOLUÇÃO

Foram realizadas três melhorias na rotina de Rateio do Bloco K para não sobrecarregar o AppServer e melhorar a performance.


Alteração 1:

No inicio do rateio são realizadas movimentações de estoque para o agrupamento dessas movimentações com documento zero. Ou seja, se existir mais de um movimento com documento zero para o mesmo item, local, lote, dimensional.. esses movimentos são agrupados em um único movimento para reduzir o cálculo do rateio.

Essas movimentações de agrupamento eram realizadas independente se existir somente um movimento para o mesmo item, local, lote, dimensional... ou não. Foi alterado o programa para realizar a movimentação de agrupamento somente se possuir mais de um movimento.


Alteração 2:

Ao realizar o processamento são rateados todos os movimentos com documento 0 entre as ordens de produção e todos os apontamentos dessas ordens, que possuem esse componente na sua estrutura.
Para diminuir o volume de rateio e consequentemente melhorar a performance, foi realizada uma alteração para ratear a quantidade total da OP apenas em um apontamento da OP e não entre todos os apontamentos realizados na OP.

Não haverá problema para o Bloco K, pois a quantidade total rateada será apresentada entre todas as OPs.


Para isso foi criado o parâmetro: man_rateio_op_apon_bloco_k - Indica se o processamento do rateio do Bloco K será por OP

Indica se o processamento do rateio do Bloco K será por OP. 

Valores aceitos:
S - Sim. O rateio do Bloco K será feito por OP. Ou seja, se existir mais de um apontamento para a OP no período, o rateio da quantidade total para a OP será feito somente para um dos apontamento da OP.
N - Não. O rateio do Bloco K será feito por Apontamento. Ou seja, se existir mais de um apontamento para a OP no período, o rateio da quantidade total para a OP será feito entre todos os apontamentos da OP.

É indicado ativar a utilização do rateio por OP, quando existir muitos apontamentos parciais e o tempo do processamento está muito elevado.


Alteração 3:

Ao realizar o rateio, todo o seu processamento era executado em uma única thread. Porém, quando existe um volume muito alto de informações para processar estava derrubando o AppServer.
Para não sobrecarregar o AppServer e permitir processar o rateio, foi alterado o rateio para processar em diversas threads.


Para isso foi criado o parâmetro: man_thread_rateio_bloco_k - Indica se o rateio do Bloco K será por múltiplas threads

Indica se o processamento do rateio do Bloco K será por múltiplas threads.

Valores aceitos:
S - Sim. O rateio será executado por múltiplas threads. Ou seja, durante o processamento serão abertas e fechadas diversas threads para não sobrecarregar o AppServer.
N - Não. O rateio será executado em uma única thread.

É indicado ativar a utilização de múltiplas threads quando o volume de dados para processamento for grande e estiver estourando o limite de memória do AppServer.

Ao ativar o processamento utilizando múltiplas threads não é indicado possuir triggers nas tabelas: estoque, estoque_lote, estoque_lote_ender, estoque_trans, estoque_trans_end, estoque_auditoria e man_comp_consumido.

04. DEMAIS INFORMAÇÕES

Para criação dos parâmetros man_rateio_op_apon_bloco_k e man_thread_rateio_bloco_k é preciso executar o conversor MAN01217.CNV pelo LOG00086 - Administração de Parâmetros Logix.

05. ASSUNTOS RELACIONADOS

  • Não se aplica.