Interface do equipamento de movimentação de materiais (MHAX)
Pode utilizar a interface do equipamento de movimentação de materiais (MHAX) para ligar os sistemas de movimentação de materiais físicos externos (MH) a um armazém que é gerido pelos processos de gestão de armazéns(WMS) no Microsoft Dynamics 365 Supply Chain Management. A interface entre os sistemas WMS e MH consiste em duas filas: uma para eventos de saída (WMS para MH) e outra para eventos de entrada (MH para WMS). O sistema WMS gera eventos de saída baseados em linhas de trabalho que são criadas durante os vários processos de criação e execução de trabalhos. Em seguida, o sistema MH consulta regularmente o sistema WMS à procura de novos eventos e processa as respostas. Depois de o sistema MH concluir o tratamento dos eventos de acordo com as instruções de trabalho, envia eventos de entrada, como a conclusão da linha de trabalho e a recolha reduzida.
Importante
Ao ativar esta funcionalidade, os seus dados poderão ser partilhados com serviços de terceiros que selecionar. Controla quais dados são partilhados com terceiros (se houver). O uso dos serviços de terceiros é da sua responsabilidade e é regulado pelos termos acordados entre si e o terceiro. A sua privacidade é importante para nós. Para saber mais, leia a nossa Política de Privacidade.
A seguinte ilustração mostra os vários elementos e a ordem em que os processos ocorrem quando utiliza a integração do MHAX.
Segue-se uma explicação das interações que são mostradas na ilustração anterior:
- Durante a criação de trabalho ou da execução de trabalho, os eventos de saída são criados na fila de saída.
- O equipamento MH liga-se ao serviço de equipamento MH, consulta para saber se existem novos eventos que sejam relevantes para o mesmo, e processa esses eventos.
- Quando o equipamento MH está pronto para reportar, liga-se novamente ao serviço e envia eventos de entrada. Esses eventos são processados imediatamente pelo processador de fila.
- Com base nos dados do evento de entrada, o processador de fila pode executar o trabalho existente, modificá-lo ou criar um novo trabalho.
Ativar a funcionalidade MHAX
Antes de poder utilizar a funcionalidade MHAX, tem de ativar esta funcionalidade e a respetiva chave de configuração.
- Se estiver a executar o Supply Chain Management versão 10.0.28 ou anterior, execute os seguintes passos:
- Aceda a Administração do sistema > Áreas de trabalho > Gestão de funcionalidades.
- Na área de trabalho Gestão de funcionalidades, ative a funcionalidade denominada Interface do equipamento de movimentação de materiais. (A partir do Supply Chain Management 10.0.29, esta funcionalidade é obrigatória e não pode ser desativada.)
- Coloque o seu sistema em modo de manutenção, conforme descrito na secção Modo de manutenção.
- Vá para Administração do sistema > Configurar > Configuração de licença.
- Expanda Comércio > Gestão de Armazém e Transporte e selecione a caixa de verificação Interface do equipamento de movimentação de materiais.
- Desative o modo de manutenção, conforme descrito na secção Modo de manutenção.
Definir parâmetros MHAX
Tem de definir alguns parâmetros gerais na página Parâmetros da interface do equipamento de movimentação de materiais para configurar a funcionalidade.
Vá para Interface do equipamento de movimentação de materiais > Configurar > Parâmetros da interface do equipamento de movimentação de materiais.
No separador Geral, defina os seguintes campos:
- Mapeamentos de utilizador — Mapeie os utilizadores do sistema para os trabalhadores de armazém relacionados. Os utilizadores do sistema são utilizados para chamar o serviço de fila de entrada. Os trabalhadores selecionados receberão as operações de trabalho (recolhas e colocações) que são processadas através da fila de entrada. As operações de trabalho serão realizadas no armazém predefinido de cada trabalhador.
- Ativar o ID da mensagem de entrada – Quando esta opção estiver definida como Sim, se for recebida uma mensagem de entrada duplicada, a mensagem será rejeitada e uma mensagem de erro indicará que a mensagem já existe. Quando esta opção está definida como Não, serão permitidos IDs de mensagem de entrada duplicados.
- Ativar a criação manual de mensagens de entrada — Quando esta opção estiver definida como Sim, pode simular mensagens de entrada ao criar um registo diretamente a partir da página Fila de entrada.
No separador Sequências numéricas, selecione as sequências numéricas em todo o sistema que devem ser usadas para gerar IDs exclusivos para os itens da fila de entrada, os itens da fila de saída e os pares de linhas de trabalho.
Eventos de saída
Em pontos específicos durante a criação de trabalho ou execução de trabalho, o sistema determina se tem de gerar eventos de saída para enviar para o sistema MH. Se uma subscrição for configurada para um ponto específico durante o processamento do armazém, o sistema gera o evento de acordo com a configuração da subscrição.
Estrutura de eventos de saída
Cada evento de saída é identificado exclusivamente por um ID de fila de saída. O tipo de transação de saída determina o tipo de evento. O armazém e o ID da subscrição que gerou o evento também são registados no evento.
Para transportar dados para o sistema MH, o evento de saída contém 10 campos para dados (de data01 a data10). Estes campos de dados têm um mapeamento de um para um (1:1) para os campos de base de dados existentes. Especificamente, são extraídos de campos na linha de trabalho e das tabelas de cabeçalho de trabalho. Os campos podem ser selecionados livremente. Defina-os quando criar a subscrição.
Além dos 10 campos de dados que têm um mapeamento de 1:1 para os campos de base de dados existentes, o evento pode conter um campo de dados adicional que é conhecido como o payload. O conteúdo deste campo é gerado por um código X++ personalizado que é conhecido como um gerador de payload. Qualquer gerador de payload que deve ser utilizado está configurado na subscrição.
Para assegurar que o sistema MH recebe cada ID de fila de saída apenas uma vez, é utilizado um campo de estado para especificar se um evento está pronto para ser enviado para o sistema externo de processamento de material (estado Pronto) ou se já foi enviado (estado Enviado).
Subscrições da fila de saída
Antes de serem gerados quaisquer eventos, tem de ser configurada uma subscrição para indicar à funcionalidade MHAX se e como são gerados os eventos. Os eventos gerados são marcados pelo identificador de subscrição. Por isso, vários sistemas MH podem ligar-se ao mesmo sistema WMS, mas manter os seus eventos separados. Quando o serviço MHAX é consultado para novos eventos, uma subscrição é uma das opções disponíveis para obter os eventos.
Para criar uma subscrição, vá para Interface do equipamento de movimentação de materiais > Configurar > Subscrições. Para cada subscrição, estão disponíveis os seguintes parâmetros:
- ID da subscrição – Um nome exclusivo que identifica a subscrição.
- Descrição – uma descrição em texto livre da subscrição.
- Armazém – Os armazéns específicos pelos quais os eventos devem ser filtrados.
- Tipo de transação de saída – O tipo de eventos que a subscrição deve conter.
- Gerador de payload – Uma extensão de código opcional que pode introduzir informações adicionais no campo Payload do evento de saída.
Pode ser associada uma consulta a cada subscrição. Esta consulta filtra as linhas de trabalho e os cabeçalhos para limitar ainda mais o trabalho que utilizará a subscrição para gerar eventos. Para adicionar uma consulta a uma subscrição, selecione a caixa de verificação Executar consulta para a subscrição relevante na página Subscrições e, em seguida, selecione Editar consulta no Painel de Ações. É apresentado o editor de consultas padrão do Supply Chain Management.
Além disso, a subscrição inclui um mapa de subscrições que mapeia os campos a partir do cabeçalho de trabalho ou da linha de trabalho para alguns ou todos os 10 campos de dados livres do evento de saída, conforme necessário. Para devolver as informações ao serviço MHAX, normalmente deve incluir o ID de registo da linha de trabalho ou o ID do par de linhas de trabalho. (O ID do par de linhas de trabalho é uma nova propriedade que permite ao sistema usar um único comando de devolução para processar linhas de recolha e colocação.) Os restantes campos dependem do caso de utilização. São fornecidos alguns exemplos mais à frente neste artigo.
Para configurar um mapa de subscrições, selecione a subscrição relevante na página Subscrições e, em seguida, selecione Mapa de subscrições no Painel de Ações. Na caixa de diálogo Mapa de subscrições apresentado, pode atribuir uma tabela e um campo para cada campo de dados disponível, conforme for necessário.
Tipos de eventos de saída
Esta secção descreve os vários tipos de eventos que estão disponíveis. (Os tipos de eventos também são conhecidos como tipos de transações.) Também explica quando cada tipo de evento é criado no sistema WMS.
Eventos de criação de trabalho (WorkCreation)
Os eventos de criação de trabalho são criados depois de o trabalho ser gerado pela aplicação. Este comportamento aplica-se à maioria dos tipos de processos de criação de trabalho, nomeadamente à criação de trabalho de recolha e reaprovisionamento. Regra geral, se o trabalho for criado num estado Aberto, o que indica que o trabalho está pronta para ser executado por um trabalhador, será gerado um evento de criação de trabalho. Além disso, os eventos de criação de trabalho serão gerados para trabalhos básicos de movimento (não o trabalho de movimento pelo modelo), apesar de esse trabalho não ser criado como trabalho aberto.
Uma exceção notável a este comportamento é o trabalho de contagem de ciclos, que atualmente não é suportado. As contagens de stock no sistema MH estão fora do âmbito do MHAX e os resultados das contagens têm de ser importados para um diário de contagem de inventário.
Após a criação do trabalho, o serviço MHAX processa as linhas de trabalho geradas e atribui um ID de par de linhas de trabalho a todas as linhas de trabalho geradas para cada cabeçalho de trabalho. O objetivo é agrupar todas as linhas de trabalho de recolha com as sucessivas colocações sob um ID de par de linhas de trabalho. (Os grupos correspondem a pares de recolha/colocação em modelos de trabalho.) Desta forma, pode ser utilizado um único ID para reportar a conclusão do trabalho para todas as linhas de recolha e colocação relacionadas. O processo de agrupamento começa com a primeira linha e, em seguida, continua com o mesmo ID até encontrar um par sucessivo de linhas de trabalho de colocação/recolha. O ID da execução é atribuído à linha de colocação desse par. Em seguida, é utilizado um novo ID para a linha de recolha do par em diante. Este processo continua até processar todas as linhas que pertencem ao cabeçalho de trabalho.
Como funcionalidade especial dos eventos de criação de trabalho, se a opção Onda bloqueada estiver definida como Sim no cabeçalho de trabalho, os eventos que são gerados terão o estado Bloqueado em vez do estado habitual Pronto que é utilizado para enviá-los para o sistema MH. O sinalizador Onda bloqueada no cabeçalho de trabalho indica que o cabeçalho de trabalho ainda não está pronto para os trabalhadores o executarem, talvez por causa do trabalho de reaprovisionamento inacabado. Quando o sinalizador Onda bloqueada é desmarcado, os eventos que já foram gerados são desbloqueados e estão disponíveis para o sistema MH obter a partir da fila.
Eventos de iniciação de trabalho (WorkInitiation)
Os eventos de iniciação de trabalho são acionados quando o estado do trabalho muda de Aberto para Em curso durante a atualização do trabalho.
Eventos de conclusão de trabalho (WorkCompletion)
Os eventos de conclusão de trabalho são acionados quando o estado do trabalho muda de Em curso para Fechado durante a atualização do trabalho.
Eventos de cancelamento de trabalho (WorkCancel)
Os eventos de cancelamento de trabalho são acionados quando o estado do trabalho muda de qualquer estado exceto Cancelado para Cancelado durante a atualização do trabalho. Além disso, todos os outros eventos relacionados com o cabeçalho de trabalho são eliminados da fila para todas as subscrições. Desta forma, os sistemas externos são impedidos de processar eventos que não sejam necessários.
Eventos de conclusão de recolha/colocação (PickCompletion/PutCompletion)
Os eventos de conclusão de recolha/colocação são acionados quando o estado da linha de recolha/colocação muda de Em curso para Fechado durante a atualização da linha de trabalho.
Monitorizar a fila de saída
Para rever a sua fila de saída, vá para Interface do equipamento de movimentação de materiais > Comum > Fila de saída. A página Fila de saída lista cada item de fila de saída e o respetivo estado. Selecione um item de fila para ver os seus detalhes. Estes detalhes incluem o tipo de transação do item, a subscrição utilizada e os valores para cada campo de dados (de data01 a data10) e o payload.
Limpar a fila de saída
Eventualmente, a sua fila de saída começará a ficar cheia de itens de fila que já foram enviados. Para remover estes itens, vá para Interface do equipamento de movimentação de materiais > Tarefas periódicas > Limpar > Limpeza da fila de saída.
Eventos de entrada
Esta secção descreve os vários tipos de eventos de entrada que o sistema MH pode reportar de volta para o sistema WMS. Também explica que os dados têm de ser fornecidos pelo sistema MH e o que cada evento de entrada faz no sistema WMS.
Estrutura de eventos de entrada
Quando um evento de entrada é submetido, o sistema externo tem de fornecer o tipo de transação de entrada juntamente com até 10 parâmetros (de data01 a data10). A validação opcional pode assegurar que o serviço MHAX não recebeu o mesmo evento de entrada mais de uma vez. Para ativar esta validação, cada evento de entrada tem de ter um ID de mensagem exclusivo. Se for recebido um ID de mensagem duplicado e se a opção Ativar o ID da mensagem de entrada estiver definida como Sim na página Parâmetros da interface do equipamento de movimentação de materiais, a mensagem será rejeitada. Uma mensagem de erro indicará que a mensagem já existe.
Além dos campos de dados de entrada, o sistema atribui um ID de fila de entrada exclusivo ao evento.
Tipos de eventos de entrada
Esta secção descreve os tipos de evento de entrada (tipos de transação) que são suportados e os dados que têm de ser fornecidos para os eventos serem processados.
Eventos de confirmação de trabalho (WorkConfirm)
Os eventos de confirmação de trabalho exigem que os campos de dados de entrada incluam as seguintes informações:
data01 – O ID do par de linhas de trabalho.
data02 – ID de registo da linha de trabalho (valor
RecId
).Nota
Tem de estar presente o campo data01 field ou o campo data02.
data03 – O ID da matrícula a escolher.
data04 – O ID de matrícula de destino do cabeçalho de trabalho.
Se o ID do par de linhas de trabalho for fornecido, todas as linhas de recolha, colocação ou de trabalho personalizadas que estão marcadas pelo ID de par de linhas de trabalho e que tenham o estado Aberto ou Em curso são executadas sequencialmente. Se for fornecida um ID de registo de linha de trabalho (valor RecId
), a linha de trabalho tem de ser uma linha de recolha, colocação ou trabalho personalizado com o estado Aberto ou Em curso.
As linhas de recolha das localizações controladas por matrícula requerem que data03 especifique a matrícula a partir da qual deve ser feita a recolha, independentemente das linhas estarem marcadas pelo ID de registo de linha de trabalho ou do ID de par de linhas de trabalho. O campo data04 tem de especificar a matrícula de destino do cabeçalho de trabalho para a recolha.
As linhas de colocação não aceitam mais informações. São executadas com base apenas na localização da linha de trabalho atual e a matrícula de destino do trabalho. Se a colocação tiver de ser feita para uma localização diferente, altere a localização da linha de trabalho, conforme descrito na secção Substituir eventos mais à frente neste artigo.
As linhas de trabalho personalizadas não requerem nem suportam qualquer informação adicional no evento de entrada.
Eventos de recolha curta (ShortPick)
Os eventos de recolha curta exigem que os campos de dados de entrada incluam as seguintes informações:
-
data02 – ID de registo do trabalho (valor
RecId
). - data03 – O ID da matrícula a escolher.
- data04 – A quantidade a recolher.
- data05 — O código de exceção de recolha reduzida associado a um registo de Exceção de trabalho, onde o valor do Tipo de exceção é Recolha reduzida.
- data06 – O ID de matrícula de destino do cabeçalho de trabalho. Este ID pode ser deixado em branco quando está configurado para ser gerado automaticamente.
Nota
O campo data01 não é utilizado para eventos de recolha reduzida.
Este evento assemelha-se ao evento de confirmação de trabalho, mas aplica-se apenas às linhas de recolha.
Substituir eventos (Override)
Os eventos de substituição exigem que os campos de dados de entrada incluam as seguintes informações:
-
data01 – ID de registo do trabalho (valor
RecId
). - data02 – O novo ID de localização.
A linha de trabalho tem de ter o estado Aberto ou Em curso e a nova localização tem de existir.
Eventos de receção da matrícula (LPReceipt)
Os eventos de receção de matrícula exigem que os campos de dados de entrada incluam as seguintes informações:
- data01 – O ID da matrícula de entrada a receber.
O sistema executa uma operação de receção de matrículas, com base na matrícula placa que é transmitida como o valor do campo data01.
Monitorizar a fila de entrada
Para rever a sua fila de entrada, vá para Interface do equipamento de movimentação de materiais > Comum > Fila de entrada. A página Fila de entrada lista cada item de fila de entrada e o respetivo estado. Selecione um item de fila para ver os seus detalhes. Estes detalhes incluem o tipo de transação do item, o ID da mensagem e os valores para cada campo de dados (de data01 a data10).
Se ocorrer um erro ou outro tipo de item de registo durante o processamento de eventos de entrada, pode inspecionar o registo ao selecionar Registo de erros no Painel de Ações.
Processamento de eventos de entrada
Primeiro, os eventos de entrada são escritos na base de dados e, em seguida, são executados imediatamente (sincronamente). Se ocorrer um erro durante o processamento, o evento continua a ser escrito na fila, mas o estado é definido como Com erro. O serviço MHAX devolve uma mensagem de erro ao sistema MH e armazena o registo de erro no registo de eventos de entrada para posterior investigação.
Os eventos com o estado Com erro podem ser processados novamente mais tarde se a condição de erro for corrigida. Para processá-los novamente, siga um destes passos:
- Vá para Interface do equipamento de movimentação de materiais > Comum > Fila de entrada. Selecione a fila de entrada relevante e, em seguida, selecione Processar novamente no Painel de Ações.
- Vá para Interface do equipamento de movimentação de materiais > Comum > Processar novamente a fila de entrada com erro. Aparece uma caixa de diálogo de trabalho de lote padrão. Aí, pode configurar um filtro de registo e agendar ou executar um trabalho de lote para processar novamente a fila.
Todas as operações de trabalho (recolhas e colocações) são executadas utilizando o trabalhador selecionado no campo ID de utilizador na página Parâmetros da interface do equipamento de movimentação de materiais.
Limpar a fila de entrada
Eventualmente, a sua fila de entrada começará a ficar cheia de itens de fila que já foram processados. Para remover estes itens, vá para Interface do equipamento de movimentação de materiais > Tarefas periódicas > Limpar > Limpeza da fila de entrada.
Obtenha uma descrição geral rápida com o gestor de filas
Para obter uma descrição geral rápida de toda a atividade que está relacionada com as suas filas de entrada e saída, vá para Interface do equipamento de movimentação de materiais > Áreas de trabalho > Gestor de filas. Na página Gestor de filas fornece um conjunto de separadores e mosaicos que pode utilizar para monitorizar e explorar as suas filas. Também fornece ligações úteis para a maioria das outras páginas que são mencionadas neste artigo.
Ligar ao serviço MHAX
O MHAX é implementado como um serviço personalizado. Por isso, está acessível através de chamadas SOAP e REST. Seguem-se os endereços dos pontos finais SOAP e REST:
-
SOAP:
https://base_environment_URL/soap/services/WMHEServices
-
REST:
https://base_environment_URL/api/services/WMHEServices/WMHEService
Obter mensagens a partir da fila de saída
Para obter mensagens da fila de saída, utilize um dos seguintes métodos:
- Utilize
readOutboundSubscriptionQueue
para obter os eventos com base no ID de subscrição. - Utilize
readOutboundWarehouseQueue
para obter os eventos com base no tipo de evento e o ID do armazém em várias subscrições.