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.