01. DADOS GERAIS
Produto: | |
---|
Linha de Produto: | |
---|
Segmento: | |
---|
Módulo: | |
---|
Função: | WMSA225 - Transferência WMS |
---|
País: | Todos Países |
---|
Ticket: | - |
---|
Requisito/Story/Issue (informe o requisito relacionado) : | DLOGWMSMSP-13608 |
---|
02. SITUAÇÃO/REQUISITO
Está ocorrendo lentidão e travamento de processos do Protheus, na execução de serviço de transferência de unitizadores efetuadas ao mesmo tempo.
03. SOLUÇÃO
Efetuada a inclusão de ordenação por Filial, Armazém e Produto, no processo de separação unitizada.
Como o unitizador necessita ser transferido por inteiro, a transferência de todos os itens é tratada numa única transação.
Sem a ordenação, um unitizador pode aguardar a liberação de um produto que está em outro unitizador, que por sua vez está aguardando a liberação de um produto do primeiro unitizador, ocasionando a trava (deadlock).
Com a ordenação, os produtos terão o processamento sempre na mesma ordem.
Unitizador | Produto |
---|
U1 | P1 |
U1 | P2 |
U1 | P3 |
U2 | P1 |
U2 | P2 |
U2 | P3 |
Processo Antes da Alteração
- Processo 1: para Unitizador U1, o sistema separou produtos P1 e P2, faltando P3.
- Processo 2: em paralelo, para Unitizador U2, o sistema separou produto P3.
- A próxima etapa é separar o produto P1 no Processo 2, que está preso no processo 1 do Unitizador U1. Então, essa execução permanece travada até o primeiro processo terminar. Ocorre que o processo 1 está aguardando a liberação do produto P3 do Processo 2, e isso caracteriza o deadlock.
Processo Depois da Alteração
- Processo 1: para Unitizador U1, o sistema separou produtos P1 e P2, faltando P3.
- Processo 2: em paralelo, para Unitizador U2, o sistema tenta separar produto P1, que está sendo utilizado no processo 1.
- O processo 2 aguarda o término do processo 1 para que seja possível separar. Ainda que seja mais demorado que um processo concorrente, a trava é evitada.
Exemplo de Utilização
MATA103 - Inclua uma Nota Fiscal com vários produtos.
WMVS001 - Monte unitizadores com os produtos.
WMSA150 - Execute o serviço de endereçamento.
WMSA332 WMSA225 - Abra duas telas.
- Transfira o unitizador de um armazém para o outro, ao mesmo tempo.
- O processo deve ser finalizado sem travar, existindo a ordenação das separações por Filial, Armazém e Produto.
|
|
04. DEMAIS INFORMAÇÕES
Tabelas Utilizadas
- D14- Saldos por Endereço WMS
05. ASSUNTOS RELACIONADOS
Documento de Referência
06. ANEXO - PDF