Árvore de páginas

 Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico.                                                             



Informações Gerais

Especificação

Produto

Microsiga Protheus

Módulo

SIGAWMS - Gestão de Armazenagem

Segmento Executor

Supply Chain - Logística

Projeto1

M_DL_WMS002

IRM1

PCREQ-2408

Requisito1

PCREQ-2430

Subtarefa1

PDRDL-195

Chamado2


Release de Entrega Planejada


Réplica


País

(x) Brasil  (  ) Argentina  (  ) México  (  ) Chile  (  ) Paraguai  (  ) Equador (  ) USA  (  ) Colômbia   (  ) Outro _____________.

   Legenda: 1 – Inovação 2 – Manutenção (Os demais campos devem ser preenchidos para ambos os processos). 


Objetivos

Para atender a necessidade de produtos que possuem controle de estoque físico e financeiro, mas os componentes serão movimentados no WMS, será criado um cadastro de Produtos x Componentes que permitirá indicar essa estrutura e a quantidade múltipla referente ao produto principal.

Como a característica BackOffice é controlar os saldos de estoque e custos do produto, esta estrutura de produto x componente não é comportada, devido a necessidade de saldo do produto principal e saldo dos componentes para poder controla-los no WMS.

Será criado também um controle de saldo por endereço no WMS, permitindo que o BackOffice gerencie os saldos e custo do produto principal e, no WMS, tenhamos o controle de saldos por endereço dos componentes, bem como, controlar os produtos que não possuem estruturas. Permitirá que ao desvincular o saldo por endereço do BackOffice o WMS obtenha mais flexibilidade para controlar as movimentações do WMS, hoje restritas pelas regras do BackOffice.

Atualmente as movimentações WMS estão junto com as movimentações de estoque. Além do volume de dados, as movimentações WMS que correspondem a mudança de saldo de endereço, acabam gerando inúmeras movimentações de estoque de transferência. Como o BackOffice gerencia saldos e custos, acaba tendo um trabalho desnecessário calculando custos de movimentações de endereço, sem contar que essas informações não são necessárias para o WMS.

Será desenvolvido um novo processo de transferências entre endereços e entre armazéns para atender o novo WMS. Quando as transferências ocorrem dentro do mesmo armazém, o produto não será valorado e nem o custo calculado para transferências entre armazéns, além do controle de saldo por endereço WMS, o produto sofrerá valoração e recálculo do custo.

Será criado um controle de movimentações WMS separadamente; esta nova estrutura de saldos de estoque por endereço e movimentações WMS, permitirá ganho de performance, pois, não haverá concorrência das movimentações no WMS com o faturamento e o BackOffice também ganhará performance com a diminuição de volume de informações para cálculo de custos.

Desta forma estaremos atendendo o IRMVAR273 – Melhorias Performance e com a necessidade de um novo gerenciamento de saldos por endereço estaremos atendendo o VAR276 - Gerar serviço de endereçamento no estorno de uma movimentação, pois atualmente, quando realizado o estorno das movimentações, o sistema retorna os saldos e elimina o histórico das movimentações, fazendo com que operacionalmente não houvesse uma atividade devolvendo os produtos movimentados e, no sistema, não haja histórico dessas movimentações.

Para manter a integridade dos saldos por endereço e o histórico das movimentações, quando da necessidade de estorno de um movimento WMS finalizado, será gerada uma Ordem de Serviço de transferência da quantidade estornada para o endereço de origem, sendo que Ordem de Serviço original permanecerá com o status pendente de execução, mantendo o histórico da movimentação.

Contudo, por ser uma alteração complexa exigirá, para utilizá-la, que o cliente efetue os ajustes necessários para visualizar os novos controles nos seus programas específicos; será criado o parâmetro MV_WMSNEW que permitirá a utilização atual do sistema sem interferência e assim que todos os específicos do cliente estiverem atualizados e desejar utilizar o novo conceito, ativará o parâmetro. Para garantir a suavização, duplicamos os programas e, de acordo com o parâmetro, chama o programa antigo e vice-versa. A necessidade de duplicação é devido ao volume de alterações e garantir a flexibilidade das versões.

Exemplo de Aplicação

  • O cadastro de Produtos x Componentes se faz necessário para permitir identificar o produto principal que está sendo controlado no BackOffice e os componentes que serão controlados no WMS. 

  • O produto principal não pode ser componente de um dos seus componentes ou sub-componentes; seus componentes ou sub-componentes não podem compor outro produto principal.

  • Tomemos como exemplo o produto 010 – Roupeiro AB:

  • O Roupeiro AB é composto por três volumes que são armazenados em endereços diferentes.


Produtos

Descrição

0010

Roupeiro AB

0010A

Roupeiro AB  - Volume Portas

0010A01

Roupeiro AB – Portas

0010A02

Roupeiro AB – Espelho

0010B

Roupeiro AB - Volume Gavetas

0010B01

Roupeiro AB – Gavetas

0010C

Roupeiro AB - Volume Estrutura

0010C01

Roupeiro AB – Laterais

0010C02

Roupeiro AB – Fundos

0010C03

Roupeiro AB – Divisórias

Produtos x Componente

Qtde

0010



1


0010A


1



0010A01

4



0010A02

2


0010B


1



0010B01

4


0010C


1



0010C01

2



0010C02

2



0010C03

4


  • O produto 0010 – Roupeiro AB controla o estoque físico e financeiro e os componentes 0010A, 0010B e 0010C controlam estoque por endereço, pois os componentes são controlados separadamente no WMS.

  • O processo ocorrerá da seguinte forma: o produto será informado no documento de entrada ou Pedido de Venda, será integrado com o WMS por meio da Ordem de Serviço e nas gerações das movimentações WMS será avaliado se o produto possui componentes. Se não possuir, as movimentações serão geradas no produto informado; caso contrário, serão geradas as movimentações para os componentes do produto informado.

Processo de Entrada de Documentos

  • O produto principal é informado no documento de entrada.

Documento

Qtde

0010

100

  • Ao integrar o documento de entrada com o WMS é gerada a Ordem de Serviço para o item principal e realizada a entrada de saldo no endereço origem dos componentes do produto principal:

Ordem de Serviço (DCF)

Qtde

0010

100

Movimentações de Estoque por Endereço (D13)

Produto

Movto

End. Origem

Tp Movto

0010A

100

DOCA

Entrada

0010B

100

DOCA

Entrada

0010C

100

DOCA

Entrada

Estoque por Endereço (D14)

Endereço

Produto

Estoque

Ent Prev

Sai Prev

Empenho

Bloqueio

Emp Prev

Prod Origem

DOCA

0010A

100

0

100

0

0

0

0010

DOCA

0010B

100

0

100

0

0

0

0010

DOCA

0010C

100

0

100

0

0

0

0010

  • Ao executar a Ordem de Serviço serão geradas as atividades de movimentação WMS do componentes do produto principal e são criados os movimentos de previsão de entrada das quantidades dos componentes nos respectivos endereços de destino:

Movimentos WMS (D12)

Movto WMS

Quantidade

End. Origem

End. Destino

0010A

25

DOCA

A0121

0010A

25

DOCA

A0121

0010A

25

DOCA

A0122

0010A

25

DOCA

A0122

0010B

25

DOCA

A0123

0010B

25

DOCA

A0123

0010B

25

DOCA

A0124

0010B

25

DOCA

A0124

0010C

25

DOCA

A0125

0010C

25

DOCA

A0125

0010C

25

DOCA

A0126

0010C

25

DOCA

A0126

Estoque por Endereço (D14)

Endereço

Produto

Estoque

Ent Prev

Sai Prev

Empenho

Bloqueio

Emp Prev

Prod Origem

DOCA

0010A

100

0

100

0

0

0

0010

DOCA

0010B

100

0

100

0

0

0

0010

DOCA

0010C

100

0

100

0

0

0

0010

A0121

0010A

0

50

0

0

0

0

0010

A0122

0010A

0

50

0

0

0

0

0010

A0123

0010B

0

50

0

0

0

0

0010

A0124

0010B

0

50

0

0

0

0

0010

A0125

0010C

0

50

0

0

0

0

0010

A0126

0010C

0

50

0

0

0

0

0010

  • Ao confirmar o endereçamento de cada movimentação WMS serão realizadas as movimentações de entrada e saída do estoque e a atualização do saldo por endereço do estoque e da quantidade entrada prevista e saída prevista.

Movimentos WMS (D12)

Movto WMS

Qtde.

End. Origem

End. Destino

0010A

25

DOCA

A0121

0010A

25

DOCA

A0121

0010A

25

DOCA

A0122

0010A

25

DOCA

A0122

0010B

25

DOCA

A0123

0010B

25

DOCA

A0123

0010B

25

DOCA

A0124

0010B

25

DOCA

A0124

0010C

25

DOCA

A0125

0010C

25

DOCA

A0125

0010C

25

DOCA

A0126

0010C

25

DOCA

A0126

Movimentações de Estoque por Endereço (D13)

Produto

Movto

End. Origem

Tp Movto

0010A

100

DOCA

Entrada

0010B

100

DOCA

Entrada

0010C

100

DOCA

Entrada

0010A

25

DOCA

Saída

0010A

25

A0121

Entrada

Estoque por Endereço(D14)

Endereço

Produto

Estoque

Ent Prev

Sai Prev

Empenho

Bloqueio

Emp Prev

Prod Origem

DOCA

0010A

75

0

75

0

0

0

0010

DOCA

0010B

100

0

0

0

0

0

0010

DOCA

0010C

100

0

0

0

0

0

0010

A0121

0010A

25

25

0

0

0

0

0010

A0122

0010A

0

50

0

0

0

0

0010

A0123

0010B

0

50

0

0

0

0

0010

A0124

0010B

0

50

0

0

0

0

0010

A0125

0010C

0

50

0

0

0

0

0010

A0126

0010C

0

50

0

0

0

0

0010


Processo de Pedido de Venda

  • O produto é informado no Pedido de Venda.

Pedido de Venda

Qtde.

0010

5

  • Ao integrar o Pedido de Venda com o WMS é gerada a Ordem de Serviço para o item principal e realizado o empenho da quantidade pedida no estoque físico e financeiro.
  • Consideremos para o exemplo, que todo o endereçamento foi realizado:

Ordem de Serviço (DCF)

Qtde.

0010

5

  • Ao executar a Ordem de Serviço serão geradas as atividades de movimentação WMS do componentes do produto principal e serão realizados os movimentos de previsão de saída e empenho previsto das quantidades dos componentes nos respectivos endereços de origem:

Movimentos WMS (D12)

Movto WMS

Qtde.

End. Origem

End. Destino

0010A

5

A0121

DOCA

0010B

5

A0123

DOCA

0010C

5

A0125

DOCA

Estoque Por Endereço (D14)

Endereço

Produto

Estoque

Ent Prev

Sai Prev

Empenho

Bloqueio

Emp Prev

Prod Origem

DOCA

0010A

0

5

0

0

0

0

0010

DOCA

0010B

0

5

0

0

0

0

0010

DOCA

0010C

0

5

0

0

0

0

0010

A0121

0010A

50

0

5

0

0

5

0010

A0122

0010A

50

0

0

0

0

0

0010

A0123

0010B

50

0

5

0

0

5

0010

A0124

0010B

50

0

0

0

0

0

0010

A0125

0010C

50

0

5

0

0

5

0010

A0126

0010C

50

0

0

0

0

0

0010

  • Ao confirmar o separação de cada movimentação WMS serão realizadas as movimentações de entrada e saída do estoque e a atualização do saldo por endereço do estoque, da quantidade saída prevista, da quantidade empenho previsto e geração do empenho no endereço destino:

Movimentos WMS (D12)

Movto WMS

Quantidade

End. Origem

End. Destino

0010A

5

A0121

DOCA

0010B

5

A0123

DOCA

0010C

5

A0125

DOCA

Movimentações de Estoque por Endereço (D13)

Produto

Movto

End. Origem

Tp Movto

0010A

100

DOCA

Entrada

0010B

100

DOCA

Entrada

0010C

100

DOCA

Entrada

0010A

25

DOCA

Saída

0010A

25

A0121

Entrada

0010A

25

DOCA

Saída

0010A

25

A0121

Entrada

0010A

25

DOCA

Saída

0010A

25

A0122

Entrada

0010A

25

DOCA

Saída

0010A

25

A0122

Entrada

0010B

25

DOCA

Saída

0010B

25

A0123

Entrada

0010B

25

DOCA

Saída

0010B

25

A0123

Entrada

0010B

25

DOCA

Saída

0010B

25

A0124

Entrada

0010B

25

DOCA

Saída

0010B

25

A0124

Entrada

0010C

25

DOCA

Saída

0010C

25

A0125

Entrada

0010C

25

DOCA

Saída

0010C

25

A0125

Entrada

0010C

25

DOCA

Saída

0010C

25

A0126

Entrada

0010C

25

DOCA

Saída

0010C

25

A0126

Entrada

0010A

5

A0121

Saída

0010A

5

DOCA

Entrada

Estoque por Endereço (D14)

Endereço

Produto

Estoque

Ent Prev

Sai Prev

Empenho

Bloqueio

Emp Prev

Prod Origem

DOCA

0010A

5

0

0

5

0

0

0010

DOCA

0010B

0

5

0

0

0

0

0010

DOCA

0010C

0

5

0

0

0

0

0010

A0121

0010A

45

0

0

0

0

0

0010

A0122

0010A

50

0

0

0

0

0

0010

A0123

0010B

50

0

5

0

0

5

0010

A0124

0010B

50

0

0

0

0

0

0010

A0125

0010C

50

0

5

0

0

5

0010

A0126

0010C

50

0

0

0

0

0

0010


  • Nos processos internos (transferência, reabastecimento, requisição) seguirá o mesmo processo da separação, única diferença é que não realizará o empenho.

  • Quando informado o endereço origem no Pedido de Venda deverá, na integração, gerar a quantidade prevista de saída no endereço

  • Ao executar a Ordem de Serviço gerará a quantidade prevista de entrada no endereço destino.

Observação.: Os produtos que controlam WMS terão obrigatoriamente que passar pelo controle de movimentação WMS.


Definição da Regra de Negócio

Produtos x Componentes

Criar a tabela D11 Produtos x Componentes, está tabela armazenará as informações de filial, produto principal, componentes e quantidade múltipla do componente em relação a um produto principal.

MATA180 - Complementos do Produto

Deverá incluir na pasta WMS o campo Controla WMS (B5_CTRWMS), que trabalhará em conjunto com o campo Controle Endereçamento (B1_LOCALIZ), onde:

  • Deverá habilitar somente se o controle de endereçamento estiver ativo (B1_LOCALIZ == “1’).
  • Deverá permitir a alteração do controle de endereçamento e controle WMS, se não houver saldo por endereço (SBF) e saldo por endereço WMS (D14).
  • Uma vez o controle de endereçamento desativado (B1_LOCALIZ == “2”) deverá desativar também o controle WMS (B5_CTRWMS == “2”).

Deverá ser incluído nas ações relacionadas  a opção Estrutura de Armazenamento, onde:

  • Deverá ser validado se o módulo é o WMS, código 42-SIGAWMS;
  • Deverá ser validado se o produto possui controle de endereço e controla WMS (B5_CTRWMS);

WMSA335 - Cadastro de Produtos x Componentes

Esta tela deverá apresentar uma tree com as informações dos Produtos x Componentes (D11):

  • Deverá utilizar o conceito MVC;
  • Deverá permitir a manipulação das informações;
  • Deverá ter as opção “Incluir”, “Alterar” e “Excluir” nas ações relacionadas. 

Quando a opção da ação relacionada no programa de Produtos x Componentes (WMSA335) for “Incluir”:

  • Trata-se da inclusão de um novo componente na estrutura, criando um novo registro nos Produtos x Componentes (D11), deverá validar se o componente ainda não possui cadastro como produto principal, havendo apresentara mensagem e não permitir a inclusão;
  • Ao incluir os componentes deverá validar se não está associando a outro produto principal, havendo  deverá apresentar mensagem e não permitir a inclusão;
  • Deverá validar se o componente do produto principal não é produto principal o mesmo, deverá apresentar mensagem e não permitir a inclusão.

Quando a opção da ação relacionada no programa de Produtos x Componentes (WMSA335) for “Alterar”:

  • Trata-se de alteração da quantidade múltipla.

Quando a opção da ação relacionada no programa de Produtos x Componentes (WMSA335) for “Excluir”:

  • Trata-se da exclusão do componente na estrutura, se houverem componentes do componente deveram ser excluídos também.

Observação: Qualquer ação deverá validar se não há saldo de estoque por endereço WMS (D12), caso haja saldo não deverá permitir a ação;

WMSC015 - Saldo Produto WMS

Deverá basear-se na consulta de produtos x WMS (WMSC010) e tratar somente os produto que possuem controle WMS B5_CTRWMS e havendo configuração de indicadores que possua controle WMS no indicador BZ_CTRWMS.

Revisar os folders para tratar somente informações de saldo por endereço e kardex por endereço com base na nova tabela de saldos por endereço D14.

Novo Conceito WMS

Aproveitando o novo direcionamento de estrutura de produtos, movimentos e estoque, bem como necessidade de duplicação dos programas, os processos de geração de ordem de serviço, geração de atividades de movimentação (através da execução dos serviço) e confirmações das movimentações serão tratados usando o conceito de desenvolvimentos de Classes, utilizando métodos para cada processo.

Classes Desenvolvidas

Classe

Definição

WMSDTCServicoTarefa

Corresponde as propriedades e métodos da tabela DC5

WMSDTCTarefaAtividade

Corresponde as propriedades e métodos da tabela DC6

WMSDTCEndereço

Corresponde as propriedades e métodos da tabela SBE

WMSDTCEstruturaFisica

Corresponde as propriedades e métodos da tabela DC8

WMSDTCSequenciaAbastecimento

Corresponde as propriedades e métodos da tabela DC3

WMSDTCNormaPaletizacao

Corresponde as propriedades e métodos da tabela DC2

WMSDTCProdutoZona

Corresponde as propriedades e métodos da tabela DCH

WMSDTCPercentualOcupacaoNorma

Corresponde as propriedades e métodos da tabela DCP

WMSDTCProdutoDadosGenericos

Corresponde as propriedades e métodos da tabela SB1

WMSDTCProdutoDadosAdicionais

Corresponde as propriedades e métodos da tabela SB5

WMSDTCProdutoComponente

Corresponde as propriedades e métodos da tabela D11

WMSDTCClienteEnderecoBlocado

Corresponde as propriedades e métodos da tabela D10

WMSDTCProdutoLote

Corresponde as propriedades e métodos da tabela SB8 que herda:

  • Classe WMSDTCDadosGenericosProduto;
  • Classe WMSDTCComponenteProduto;
  • Classe WMSDTCDadosAdicionaisProduto.

WMSDTCEstoqueEndereco

Corresponde as propriedades e métodos da tabela D14

WMSDTCMovimentosEstoqueEndereco

Corresponde as propriedades e métodos da tabela D13

WMSDTCMovimentosServicoArmazem

Corresponde as propriedades e métodos da tabela D12

WMSDTCRelaciomentoMovimentosServicoArmazem

Corresponde as propriedades e métodos da tabela DCR

WMSDTCOrdemServico

Corresponde as propriedades e métodos da tabela DCF

WMSDTCOrdemServicoCreate

Corresponde aos métodos relacionados a criação da DCF herda:

  • Classe WMSDTCOrdemServico.

WMSDTCOrdemServicoExecute

Corresponde aos métodos relacionados a execução da DCF herda:

  • Classe WMSDTCOrdemServico.

WMSDTCOrdemServicoReverse

Corresponde aos métodos relacionados ao estorno da DCF herda:

  • Classe WMSDTCOrdemServico.

WMSDTCOrdemServicoDelete

Corresponde aos métodos relacionados a exclusão da DCF herda:

  • Classe WMSDTCOrdemServico.

WMSBCCEnderecamento

Corresponde aos métodos relacionados as regras de endereçamento herda:

  • Classe WMSDTCMovimentosServicoArmazem.

WMSBCCAbastecimento

Corresponte aos métodos relacionados as regras de reabastecimento herda:

  • Classe WMSDTCMovimentosServicoArmazem.

WMSBCCTransferencia

Corresponde aos métodos relacionados as regras de transferencia herda:

  • Classe WMSDTCMovimentosServicoArmazem.

WMSBCCSeparacao

Corresponde aos métodos relacionados as regras de separação herda:

  • Classe WMSDTCMovimentosServicoArmazem.

WMSBCCRegraConvocacao

Corresponde aos métodos relacionados as regras de convocação.

Novo Conceito de Estoque Por Endereço WMS

O estoque por endereço no WMS será separado do estoque materiais (SBF);  para que isso ocorra será necessário trazer o parâmetro MV_INTDL para a configuração do produto, permitindo que haja produtos que não controlem endereço, controlem endereço no materiais utilizando o saldo por endereços (SBF) e os produtos que controlem WMS que utilizam o novo conceito de estoque por endereço (D14).

Será mantido o parâmetro para atender a necessidade de suavização, para o funcionamento do WMS atual, até o cliente atualizar seus programas específicos para nova estrutura de saldo e movimentações WMS.

Pelo parâmetro MV_WMSNEW, que indicará que o módulo WMS utiliza novo conceito, serão utilizados os programas para ter o controle de saldo por endereço e movimentações WMS, considerando a configuração do produto.

WMSDTCEstoqueEndereco - Classe Estoque por Endereço

Criar a tabela D14 Estoque por Endereço WMS. Esta tabela armazenará as informações de filial, armazém, produto, lote, sub-lote data de validade, data de fabricação, número de série, estrutura física, prioridade, quantidade estoque, quantidade estoque 2UM, quantidade prevista entrada RF, quantidade prevista entrada 2UM, quantidade prevista saída RF, quantidade prevista saída 2UM, quantidade empenho, quantidade empenho 2UM, código do volume, identificador de volume, identificador de unitizador, produto origem do estoque do componente.

Criar a classe WMSDTCEstoqueEndereco, que deverá conter as propriedades da tabela D14 e os principais métodos são:

Classe WMSDTCEstoqueEndereco (D14)

Método

Definição

LoadData()

Será responsável pela busca das informações na D14 com base no índice informado, default índice 1 (D14_FILIAL + D14_LOCAL + D14_ENDER + D14_PRDORI + D14_PRODUT + D14_LOTECT + D14_NUMLOT + D14_NUMSER)

Set*([parâmetro])

Método de atribuição de valor, onde (*) é o nome do método associando a propriedade. Exemplo: SetArmazem([parâmetro]) e [parâmetro] corresponde ao valor a ser atribuído.

Get*()

Método de obtenção do valor da propriedade, onde (*) é o nome do método associando a propriedade. Exemplo: GetArmazem().

GetErro()

Método de obtenção de mensagem de erro tratado na classe na propriedade cErro

UpdSaldo(cTipo, lEstoque, lEntPrev, lSaiPrev, lEmpenho, lBloqueio)

Método para permitir os processos de atualização de saldo de estoque, de acordo com o cTipo (Entrada 499 e saída 999). Os demais parâmetros Indicarão se haverá o acréscimo ou decréscimo nos respectivos saldos (estoque, entrada prevista, saída prevista, empenho e bloqueado).

ConsultSld(lEntrPrev, lSaidaPrev, lEmpenho, lBloqueio)

Método para permitir a consulta de saldos do endereço. Ao instanciar a classe será possível atribuir valores as propriedades que serão utilizados nos filtros que retornam o saldo, bem como se informado os parâmetros calculará o saldo utilizando a regra: estoque + entrada prevista – (saída prevista + empenho + bloqueado), default é considerar somente o saldo estoque.


WMSDTCMovimentosEstoqueEndereco - Classe Movimentos Estoque por Endereço WMS

Criar a tabela D13 Movto Estoque por Endereço WMS. Esta tabela armazenará as informações de filial, local, endereço, produto, lote, sub-lote, numero de série, documento, serie do documento, cliente/fornecedor, loja, tipo movimento, quantidade movimento estoque, quantidade movimento 2UM, data movimento estoque,  hora movimento estoque, origem movimento, identificador DCF, identificador movimento, identificador sequencial, identificador de controle série.

Criar a classe WMSDTCMovimentosEstoqueEndereco, que deverá conter as propriedades da tabela D13 e os principais métodos são:

Classe WMSDTCMovimentosEstoqueEndereco (D13)

Método

Definição

LoadData()

Será responsável pela busca das informações na D13 com base no índice informado. Padrão índice 1 (D13_FILIAL + D13_IDDCF + D13_IDMOV + D13_IDOPER)

Set*([parâmetro])

Método de atribuição de valor, onde (*) é o nome do método associando a propriedade, exemplo: SetIdMovto ([parâmetro]) e [parâmetro] corresponde ao valor a ser atribuído.

Get*()

Método de obtenção do valor da propriedade, onde (*) é o nome do método associando a propriedade. Exemplo: GetIdMovto ().

GetErro()

Método de obtenção de mensagem de erro tratado na classe na propriedade cErro

RecordD13()

Método de criação ou alteração das informações da tabela D13 com base nos valores das propriedades da classe.


WMSDTCMovimentosServicoArmazem - Classe Movimentos de serviços de armazém

Criar a tabela D12 Movimentos WMS, que armazenará as informações de filial, produto, descrição do produto, lote, sub-lote, código unitizador do volume, indicador do volume, indicador do unitizador, documento, serie, cliente/fornecedor, loja, numero de série, código da carga, situação da movimentação, data geração da movimentação, hora geração da movimentação, sequencia de execução, prioridade de convocação, código do serviço, descrição do serviço, código da tarefa, descrição da tarefa, ordem da tarefa, código da atividade, descrição da atividade, ordem da atividade, código da movimentações de estoque, quantidade origem da movimentação, quantidade da movimentação, quantidade da movimentação 2ª UM, quantidade lida, armazém origem, endereço origem, armazém destino, endereço destino, data inicio da movimentação, hora inicio da movimentação, data fim da movimentação, hora fim da movimentação, tempo duração, recurso humano, nome do recurso, recurso físico, identificador sequencial, identificador da ordem de serviço, identificador da ordem de movimentação, origem do documento, ocorrência, mapa de separação, mapa de separação consolidado, tipo do mapa, ,recurso conferencia, recurso embalador, endereço conferencia, quantidade ocorrências de erro conferencia.

Criar a classe WMSDTCMovimentosServicoArmazem, que deverá conter as propriedades da tabela D12 e os principais métodos são:

Classe WMSDTCMovimentosServicoArmazem (D12)

Método

Definição

LoadData()

Será responsável pela busca das informações na D12 com base no índice informado. Padrão índice 4 (D12_FILIAL + D12_IDDCF + D12_IDMOV + D12_IDOPER)

Set*([parâmetro])

Método de atribuição de valor, onde (*) é o nome do método associando a propriedade. Exemplo: SetIdMovto ([parâmetro]) e [parâmetro] corresponde ao valor a ser atribuído.

Get*()

Método de obtenção do valor da propriedade, onde (*) é o nome do método associando a propriedade. Exemplo: GetIdMovto ().

GetErro()

Método de obtenção de mensagem de erro tratado na classe na propriedade cErro.

RecordD12()

Método de criação ou alteração das informações da tabela D12 com base nos valores das propriedades da classe.

WMSBCCEnderecamento - Classe Regras Endereçamento

Deverá se basear na função DLEndereca(), herando a classe WMSDTCMovimentosServicoArmazem para permitir a gravação dos movimentos de atividades do WMS (D12).

WMSBCCSeparacao - Classe Regras Separação

Deverá se basear na função DLApanhe(), herdando a classe WMSDTCMovimentosServicoArmazem para permitir a gravação dos movimentos de atividades do WMS (D12).

WMSBCCTransferencia - Classe Regras Transferência

Deverá se basear na função DLTransfer(),herdando a classe WMSDTCMovimentosServicoArmazem para permitir a gravação dos movimentos de atividades do WMS (D12)

WMSBCCAbastecimento - Classe Regras Abastecimento

Deverá se basear na função WmsReabPkg(), herdando a classe WMSDTCMovimentosServicoArmazem para permitir a gravação dos movimentos de atividades do WMS (D12)

WMSDTCOrdemServico - Classe Ordem de Serviço

Deverá conter as principais propriedade e métodos relacionados às ordens de serviço, tais como GoToDCF(), LoadData(), RecordDCF().

WMSDTCOrdemServicoCreate - Classe Regras Criação Ordem Serviço

Deverá se basear na função WmsCriaDCF(), herdando a classe WMSDTCOrdemServico.

Deverá conter os principais métodos relacionados à criação da ordem de serviço como CreateDCF(), AssignSD1(), AssignSD2(), AssingSD3(),AssignSC9(), AssignDCF().

WMSDTCOrdemServicoExecute - Regras Execução Ordem de Serviço

Deverá se basear na função DLXExecAti(), herdando a classe WMSDTCOrdemServico.

Deverá conter os principais métodos relacionados à execução da ordem de serviço, tais como ChecaPrior(), ExecuteDCF(), ExecutePrd().

WMSDTCOrdemServicoReverse - Regras Estorno Ordem de Serviço

Deverá se basear na função WmsEstDCF(), herdando a classe WMSDTCOrdemServico,.

Deverá conter os principais métodos relacionados ao estorno da ordem de serviço, tais como CanReverse(), ReverseDCF().

WMSDTCOrdemServicoDelete - Regras Exclusão Ordem de Serviço

Deverá se basear na função WmsDelDCF(), herdando a classe WMSDTCOrdemServico.

Deverá conter os principais métodos relacionados a exclusão da ordem de serviço como CanDelete(), DeleteDCF().

Novo WMS

Para atender o novo WMS e padronizar as nomenclaturas do módulo, os programas foram duplicados e os que tinham suas iniciais em DLG* passarão a iniciar com WMS*.

Todos os programas deverão ser analisados; o novo WMS substitui a utilização da tabela de movimentos de distribuição (SDB) pela tabela de movimentações de serviços de amazem (D12), que corresponde as informações da SDB->DB_ATUEST = “N” e a tabela de movimentações estoque por endereço (D13), que corresponde as informações da SDB->DB_ATUEST = “S”. Também deverão ser analisados os programas que utilizam o estoque por endereço (SBF), que será substituído pela tabela de estoque por endereço WMS (D14).

Abaixo segue a lista de/para dos programas:

Adequação da nomenclatura modulo SIGAWMS

Programa Atual

Novo Programa

Renomeado

Duplicado

Descontinuado

DLGA010

WMSA010

Renomeado

DLGA020

WMSA020

Renomeado

DLGA030

WMSA030

Renomeado

DLGA040

WMSA040

Renomeado

DLGA050

WMSA050

Renomeado

DLGA060

WMSA060

Renomeado

DLGA070

WMSA070

Renomeado

DLGA080

WMSA080

Renomeado

DLGA100

WMSA090

Renomeado

WMSA100

WMSA101

Duplicado

DLGA120

WMSA120

Renomeado

DLGA130

WMSA130

Renomeado

DLGA150

WMSA150

Duplicado

DLGA160

WMSA160

Renomeado

DLGA170

WMSA170

Renomeado

DLGA190

WMSA190

Duplicado

DLGA200

WMSA200

Duplicado

DLGA220

WMSA221

Duplicado

DLGA230

WMSA230

Renomeado

DLGA250

WNSA250

Renomeado

DLGA260

WMSA260

Renomeado

DLGA280

WMSA280

Renomeado

DLGA290

WMSA290

Renomeado

DLGA300

WMSA300

Renomeado

DLGA310

WMSA310

Renomeado

DLGA320

WMSA320

Renomeado

DLGA321

WMSA321

Renomeado

DLGA322

WMSA322

Renomeado

WMSA331

WMSA332

Duplicado

WMSA331A

WMSA332A

Duplicado

WMSA360

WMSA361

Duplicado

WMSA380

WMSA381

Duplicado

WMSA420

WMSA421

Duplicado

WMSA420A

WMSA421A

Duplicado

WMSA430

WMSA431

Duplicado

WMSC010

WMSC015

Duplicado

WMSC011

WMSC015A, WMSC015B, WMSC015C

Duplicado

WMSC011A

WMSC015D

Duplicado

WMSC030

WMSC031

Duplicado

DLGM020

WMSM020

Duplicado

WMSQ331

WMSQ332

Duplicado

DLGR220

WMSR220

Duplicado

DLGR230

WMSR230

Duplicado

DLGR280

WMSR280

Duplicado

DLGR290

WMSR290

Duplicado

DLGR300

WMSR300

Duplicado

DLGR320

WMSR325

Renomeado

WMSR310

WMSR311

Duplicado

WMSR340

WMSR341

Duplicado

WMSR360

WMSR361

Duplicado

WMSR370

WMSR371

Duplicado

WMSR380

WMSR381

Duplicado

WMSR390

WMSR391

Duplicado

WMSR400

WMSR401

Duplicado

DLGV001

WMSV001

Duplicado

DLGV030

WMSV030

Duplicado

WMSV070

-

Descontinuado

DLGV080

WMSV085

Duplicado

DLGV090

WMSV090

Renomeado


Solicitamos a sugestão de ordem e programas e chegamos ao novo menu que será utilizado a partir da versão 12. Quem utilizar o novo WMS na versão 11.80 atualizará o menu e update para ajuste de dicionário.

Os programas atuais e os novos serão preparados para verificar o parâmetro MV_WMSNEW e direcionar para a versão do programa correspondente, mantendo assim a suavização, onde o WMS atual continua funcionando sem qualquer intervenção.

Observação:

O cliente deverá, por meio de boletim e outros dispositivos, estar ciente que a alteração do parâmetro caracteriza a mudança de conceito WMS que implica, devido as alterações mencionadas de estrutura de estoque e movimentos de serviços WMS, na necessidade de alteração dos específicos do cliente e pontos de entradas para que não haja impacto nas atividades da empresa. 

WMSA225 - Transferência de Produtos

Deverá ser desenvolvida uma nova tela para permitir a criação de documento de transferência com origem ‘DCF’ de um ou múltiplos produtos, onde deverá realizar as seguintes validações:

  • Permitir a transferência de produtos com controle de WMS.
  • Validar se o produto não é um produto com controle de partes (Somente as partes podem ser transferidas).
  • Será obrigatório a informação do armazém origem e destino.
  • Quando realizada transferência no mesmo armazém:
    1. Será obrigatória a informação do endereço origem.
    2. Quando realizada transferência entre armazéns diferentes:
      1. Será obrigatória a informação do endereço origem e endereço destino.
      2. Deverá gerar as informações necessárias para cálculo de custo e valorização (será implementado pela Equipe de Materiais).
      3. Deverá atualizar as informações de quantidades de entrada e saída prevista do saldo de estoque endereço WMS.
      4. Será obrigatória a informação do serviço de tipo transferência, sugerindo o definido para o produto no Cadastro de Complementos.

Montagem e Desmontagem de Estrutura/Produtos e Lote

Deverá ser desenvolvida uma nova tela para permitir a criação de documento de montagem ou desmontagem com origem “D0A”, permitindo realizar os processos de montagem e desmontagem de estrutura (produto x componente), produtos e lote/sub-lote.

WMSA510 - Montagem / Desmontagem  de Estruturas

Deverá identificar os saldos nos endereços dos componentes com reserva para o produto principal onde, por meio da estrutura e quantidade múltipla, se obtêm a quantidade do produto principal que poderá ser desmontada, bem como quando da montagem identificar os saldos nos endereços dos componentes sem reserva para o produto principal onde, por meio da estrutura e quantidade múltipla se obtém a quantidade do produto principal, que poderá ser realizada a montagem.

Após determinar a quantidade que será montada ou desmontada, será possível identificar os endereços e saldos destes produtos, indicando a quantidade desejada para o processo em cada endereço, validando que as quantidade múltipla dos componentes bate com a quantidade que será montada ou desmontada do produto principal.

Uma vez confirmado o processo serão geradas as informações da tabela D0A, D0B  e D0C ,que correspondem às atividades de desmontagem ou montagem, e gerada uma ordem de serviço (DCF), onde ao executar uma ordem de serviço de origem D0A serão geradas a tarefas x atividades do serviço determinado com base nos produtos e endereços indicados na montagem e desmontagem.

Neste processo deverá, a cada confirmação de movimentação de estoque, ajustar no BackOffice da baixa e valorização do item que está sendo desmontado e o incremento e valorização ao produto que está sendo destinado. Como este processo envolve as rotinas de Materiais, será necessária a validação e/ou implementação pela Equipe de Materiais.

WMSA520 - Montagem / Desmontagem  de Produtos

Deverá identificar os saldos nos endereços do produto, onde se obtém a quantidade do produto que poderá ser desmontada, bem como, quando da montagem indicar a quantidade que deseja montar do produto

Após determinar a quantidade que será montada ou desmontada será possível na montagem identificar os endereços e saldos deste produto, indicando a quantidade desejada para o processo em cada endereço e indicando os produtos que o produto desmontado originará. Quando da montagem serão indicados os produtos que serão necessários para formar o produto; assim, serão indicados os endereços e quantidades destes produtos.

Uma vez confirmado o processo será gerada as informações da tabela D0A, D0B  e D0C,que corresponde às atividades de desmontagem ou montagem e gerada um ordem de serviço (DCF), onde ao executar uma ordem de serviço de origem D0A serão geradas a tarefas x atividades do serviço determinado com base nos produtos e endereços indicados na montagem e desmontagem.

Neste processo deverá, a cada confirmação de movimentação de estoque, ajustar o BackOffice da baixa e valorização do item que está sendo desmontado e o incremento e valorização ao produto que está sendo destinado. Como este processo envolve as rotinas de Materiais, será necessária a validação e/ou implementação pela Equipe de Materiais.

WMSA530 - Troca de Lotes

Deverá identificar os saldos nos endereços do produto do lote solicitado ou dos lotes disponíveis, permitindo a indicação da quantidade desejada de cada lote e indicar o lote que será atribuído ou a geração automática de novo lote.

Uma vez confirmado o processo serão geradas as informações da tabela D0A, D0B  e D0C, que correspondem às atividades de desmontagem ou montagem e gerada uma ordem de serviço (DCF), onde ao executar uma ordem de serviço de origem D0A serão geradas a tarefas x atividades do serviço determinado com base nos produtos e endereços indicados na montagem e desmontagem.

Neste processo deverá, a cada confirmação de movimentação de estoque, ajustar no BackOffice da baixa e valorização do item que está sendo desmontado e o incremento e valorização ao produto que está sendo destinado. Como este processo envolve as rotinas de Materiais, será necessária a validação e/ou implementação pela Equipe de Materiais.

WMSV095 - Transferência de Produtos (Coletor)

Deverá ser implementada a possibilidade da geração e execução de processo de transferência pelo Operador no coletor de dados, Neste processo será indicado o endereço origem, produto, lote e sub-lote quando necessário, apresentará o saldo no endereço do produto selecionado e solicitará a quantidade que deverá ser transferida, bem como, a indicação do endereço destino. Caso não seja informado, o endereço destino será indicado pelas regras de endereçamento.

Confirmada a transferência será criada a ordem de serviço WMS de origem DCF, com o serviço de transferência cadastrado no complemento do produto informado e efetuada a validação se as tarefas estão configuradas para utilizar radiofrequência, executando automaticamente o serviço e atribuindo as atividades.

WMSA495 - Distribuir Saldos para Inventário

Deverá ser implementada para permitir a geração de estoque para o novo WMS, gerando a tabela de saldos por endereço WMS (D14), movimentos de estoque por endereço WMS (D13) e saldos iniciais endereço WMS (D15).

WMSA490 - Importação dos Saldos Inicial por Arquivo

Deverá ser implementada para permitir a geração dos saldos iniciais para o novo WMS, gerando a tabela de saldos por endereço WMS (D15).

MATA280 - Refaz Saldos

Deverá ser implementada para analisar os saldos iniciais dos endereços WMS (D15) e, com base nos movimentos estoque por endereço WMS (D13), refazer os saldos por endereço WMS (D14).

Observações:

Para atender a mudança de conceito do novo WMS foram implementadas melhorias e adequações citadas abaixo para registro:

  1. Cadastro de sequência de abastecimento não terá mais obrigatoriamente de conter a ordenação das estruturas para funcionamento da sequência de entrada e saída, pois foram criadas regras para sequenciamento das estruturas que serão utilizadas para cada processo:
    1. Processo de endereçamento:
      1. Conforme acordo com a prioridade de endereçamento, picking ou pulmão serão os primeiros;
      2. Blocado fracionado.
      3. Blocado.
      4. Cross docking.
    2. Processo de separação normal:
      1. Respeitando sempre as regras de separação como quantidade apanhe entre outras;
      2. Blocado.
      3. Blocado fracionado.
      4. Pulmão.
      5. Picking;.
      6. Cross docking.
    3. Processo de separação Cross docking:
      1. Cross docking.
      2. Blocado fracionado.
      3. Blocado.
      4. Pulmão.
      5. Picking.
    4. Processo de reabastecimento:
      1. Pulmão.
    5. Processo de endereçamento Cross docking:
      1. Cross docking.
      2. Conforme acordo com a prioridade de endereçamento, picking ou pulmão serão os primeiros;
      3. Blocado fracionado.
      4. Blocado.
  2. Movimentos da ordem de serviço concluídos: ao realizar o estorno gerarão uma ordem de serviço de devolução, para manter o histórico e gerenciamento de estoque de endereços.
  3. Será permitido o endereçamento com a indicação do endereço destino e a separação com endereço origem.
  4. O sistema realizará o empenho de lote na integração com o WMS quando o lote informado no pedido de venda, permitindo assim a visualização do saldo no BackOffice. Atualmente ocorria somente na confirmação da separação gerando uma discrepância no saldo onde possibilitava a utilização do lote para vários pedidos sem haver saldo do mesmo.
  5. Para pedidos de venda com lote, porém o mesmo não sendo informado, indicará que o WMS selecionará o lote para o pedido, permitirá que o empenho do lote seja realizado na execução da ordem de serviço atendendo a mesma necessidade anterior, pois antecipa o empenho do lote.
  6. Para as movimentações internas de requisição que geram uma ordem de serviço de separação será realizado o empenho na integração ou na execução, conforme exemplificado no processo de pedido de venda, sendo que no encerramento do processo efetuará o consumo do saldo, efetuando a baixa nos empenhos e saldos por endereço.
  7. Melhorias no processo de coletor, unificando o tratamento de unidade de medida, passando a configuração para a sequência de abastecimento, retirando o parâmetro MV_WMSUMI, permitindo determinar a unidade que será utilizada por estrutura.
  8. Melhorias no processo de coletor, unificando a validação do produto e permitindo a utilização de código de barra Code 128, que não é tratado atualmente.
  9. Melhorias no processo de coletor, minimizando a solicitação de telas e as confirmações, otimizando o processo via coletor de dados.
  10. Melhorias no processo de utilização sem radiofrequência. Foram criados mecanismos para finalização de atividades sem radiofrequência, permitindo assim um monitoramento de hora inicio e hora fim para acompanhamento da realização física do processo, não somente sistêmica; atualmente esses processos sem radiofrequência realizavam a movimentações de estoque automaticamente sem esse acompanhamento, assim foi ajustado o relatório de mapa de movimentações, no qual é  gerado um código de movimentação por documento com código de barras e, ao informar esse código na tela de apontamento de movimentação, serão apresentadas as tarefas/atividades correspondentes permitindo a indicação da data e hora inicio e data e hora final, possibilitando ainda o seu ajuste antes da finalização (WMSA332B – Apontamento de movimentações, WMSR311 – Mapa de movimentações). Disponibilizado no monitor e serviço (WMSA332 - Monitor de serviço / WMSDA332C) a Ação Relacionada Alterar endereço, que permite a alteração do endereço de acordo com tipo do serviço da atividade selecionada, onde:
    1. Enquanto for a primeira atividade do movimento.
    2. Quando o tipo de serviço for movimento interno e saída deverá validar se há saldo no endereço.
    3. Quando tipo de serviço for entrada deverá validar se o endereço tem capacidade para armazenamento.
  11. Permitido gerar o romaneio de embarque depois do faturamento, onde:
    1. Separa os pedidos ainda não faturados para romaneio de embarque faturáveis;
    2. Separa os pedidos faturados para montagem de romaneio de embarque, para acompanhamento do que será embarcado
  12. Permitido informar a transportadora no romaneio de embarque, onde:
    1. Deverá solicitar na montagem de romaneio de embarque o código da transportadora e, quando informado, deverá substituir o transportador no pedido.
  13. Permitida a liberação de pedidos de venda com serviço Cross docking de documento de entrada de serviço Cross docking, quando:
    1. Pertence a uma distribuição de produtos.
    2. Pertence a o mesmo pedido de compra associado.
    3. Documento de entrada e pedido de venda não estão associados a pedidos de compra.
  14. Permitido na convocação, ao teclar CTRL + Y, trocar de função para convocação, onde:
    1. Atualmente a cada convocação finalizada é realizada a pesquisa de atividades em todas as funções do Operador logado. Com a nova funcionalidade será realizada a pesquisa das atividades nas funções do Operador e, quando convocado e finalizada a atividade, manterá na mesma função até teclar ESC, para sair da convocação; teclar CTRL + Y e assim selecionar outra função ou não haverem mais atividades na função.


Rotina

Tipo de Operação

Opção de Menu

Regras de Negócio

MATA103 - Pré Documento de Entrada

Alteração



MATA140 - Documento de Entrada

Alteração



MATA175 - Qualidade

Alteração



MATA180 - Complemento ProdutoAlteração

MATA215 - Refaz EmpenhosAlteração

MATA240 - Movimentações SimplesAlteração

MATA241 - Movimentações MúltiplasAlteração

MATA410 - Pedidos de Venda

Alteração

MATA450 - Liberação de Créditos PedidoAlteração

MATA455 - Liberação de EstoqueAlteração

MATA456 - Liberação de Crédito e EstoqueAlteração

MATA521 - Exclusão de Documento de Saída - CargaAlteração

OMSA200 - Montagem de CargaAlteração

SIGACUSA - Regras MateriaisAlteração

SIGACUSB - Regras MateriaisAlteração|

FATXFUN - Regras FaturamentoAlteração

LOCXFUN - Regras LocalizaçãoAlteração

WMSA327 - Cliente x Endereço CrossCriação

WMSA335 - Produto x Componente AcabadoCriação

WMSA370 - Mapa de SeparaçãoAlteração

WMSA490 - Saldos Iniciais WMSAlteração

WMSA495 - Distribuir Saldos para InventárioAlteração

WMSA500 - Requisições EmpenhadasAlteração

WMSA225 - TransferênciaCriação

WMSA510 - Montagem/Desmontagem EstruturasCriação

WMSA520 - Montagem/Desmontagem ProdutoCriação

WMSA530 - Troca de LotesCriação

Tabelas Utilizadas

  • SB1 – Produtos
  • SB2 – Saldo Produtos
  • SB5 – Dados Adicionais do Produto
  • D10 – Cliente x Endereço Blocado
  • D11 – Produto x Componente
  • D12 – Movimentos Serviços WMS
  • D13 – Movto Estoque por Endereço WMS
  • D14 – Estoque por Endereço WMS
  • D15 – Saldos Iniciais por Endereço WMS
  • D0A – Montagem e Desmontagem de produtos
  • D0B – Produtos da Montagem e Desmontagem
  • D0C – Rateio Itens da Montagem e Desmontagem


Protótipo de Tela

Protótipo 01 - Cadastro de Produto x Componente

 

Saldo Produto WMS

Transferência WMS

  


 Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico.