Integrações / ERP / Microsoft Dynamics 365 Supply Chain Management

Guia de integração do Dynamics 365 Supply Chain Management para programação da produção com o SkyPlanner APS

Este guia de integração do Dynamics 365 Supply Chain Management mostra aos parceiros e às equipas de TI como ligar o Microsoft Dynamics 365 Supply Chain Management ao SkyPlanner APS. O SkyPlanner integra-se com o Dynamics 365 Supply Chain Management nos dois sentidos, através das entidades de dados padrão:

  • São importadas ordens de produção, operações e tarefas dos roteiros, linhas de BOM, recursos, calendários, produtos lançados, existências em armazém e linhas de ordens de compra.
  • As horas de início e fim programadas e o recurso escolhido são gravados na ordem de produção e nas respetivas operações do roteiro.
  • As horas dos operadores e as quantidades são devolvidas através do diário de fichas de roteiro.
  • Os webhooks do SkyPlanner enviam as alterações à programação assim que ocorrem.
Cronograma de Gantt do SkyPlanner APS com tarefas programadas por centro de trabalho e uma lista de ordens em baixo.

Durante a implementação, a equipa do SkyPlanner configura a integração de acordo com a sua configuração do Supply Chain Management e presta apoio após a entrada em produção. Este guia destina-se a parceiros e programadores que queiram participar ou desenvolver, por conta própria, soluções com base na REST API documentada do SkyPlanner (referência da API).

Opções de integração com o Dynamics 365 SCM

O Supply Chain Management disponibiliza os seus dados através de entidades de dados. Há quatro opções relevantes para a programação:

  1. Endpoint REST OData v4. [Your organization's root URL]/data disponibiliza todas as entidades de dados marcadas como IsPublic, com suporte completo para criação, leitura, atualização e eliminação. Suporta $filter, $count, $orderby, $skip, $top, $select e $expand de primeiro nível. A paginação é controlada pelo servidor, com um máximo de 10.000 registos, e os pedidos em lote podem agrupar escritas em conjuntos de alterações. O OData é síncrono. (fonte)
  2. API de dados em lote. A Data management package REST API e as integrações recorrentes transferem grandes volumes de forma assíncrona. A Microsoft indica: “If the volume is more than a few hundred thousand records, use the batch data API.” (Se o volume ultrapassar algumas centenas de milhares de registos, utilize a API de dados em lote.) Esta é também a API suportada em instalações locais. (fonte)
  3. Eventos de negócio. As aplicações de finanças e operações publicam eventos de negócio no Azure Service Bus, no Event Grid, em endpoints HTTPS ou no Power Automate. (fonte)
  4. Serviços personalizados e ações OData. Os serviços personalizados em X++ e as ações OData associadas executam lógica de negócio a pedido.

A integração do SkyPlanner utiliza o endpoint OData para as transferências diárias e a API de dados em lote para um carregamento inicial de grande volume. Não é instalado nada no Supply Chain Management.

Autenticação

Registe uma aplicação no Microsoft Entra ID (principal de serviço). No Supply Chain Management, associe essa aplicação a um utilizador com as funções de segurança necessárias à integração. A integração lê dados de produção, recursos e inventário e grava a programação das ordens de produção e os diários. Os tokens são pedidos ao Entra ID com as credenciais de cliente.

Duas regras determinam os dados a que a integração tem acesso:

  • Entidades legais. O OData devolve os dados da empresa predefinida, exceto se o pedido incluir ?cross-company=true. As fábricas com várias instalações filtram os dados por dataAreaId.
  • Nomes públicos. Os nomes das entidades indicados abaixo são os nomes utilizados na gestão de dados. Os nomes públicos das coleções OData podem ser diferentes, pelo que deve consultá-los em /data/$metadata no seu ambiente.

No SkyPlanner, a REST API utiliza um token de API para autenticação (SkyPlanner Settings > API) e está documentada em Swagger/OpenAPI. O tutorial de integração explica passo a passo as primeiras chamadas.

Mapeamento de dados

Entidade do D365 SCMObjeto do SkyPlannerSentidoFrequência
Produtos lançados (ItemNumber)Produtos e materiaisSCM → SkyPlannerCarregamento inicial, seguido de atualizações incrementais
Linhas de BOM de produção (ProdProductionOrderBillOfMaterialsLineEntity), linhas de BOMEstrutura do produto, materiais por ordemSCM → SkyPlannerA cada sincronização de ordens
Roteiro, versões do roteiro, operações do roteiro, propriedades das operações (RouteOperationPropertiesV2Entity)Etapas do processo com tempos de preparação e execuçãoSCM → SkyPlannerCarregamento inicial e, depois, sempre que houver alterações
Recursos (OpResOperationsResourceEntity), grupos de recursos, capacidadesCentros de trabalho, grupos de centros de trabalho, eficiênciasSCM → SkyPlannerCarregamento inicial e, depois, apenas pontualmente
Calendários de trabalho, dias e intervalos horários dos calendários, atribuições de calendáriosTurnosSCM → SkyPlannerDiariamente, ou turnos geridos no SkyPlanner
Cabeçalhos de ordens de produção (ProdProductionOrderHeaderEntity)Ordens com datas de entrega e estadoSCM → SkyPlannerA intervalos de poucos minutos ou quando ocorre um evento de negócio
Operações do roteiro (ProdProductionOrderRouteOperationEntity), tarefas do roteiro (ProdProductionOrderRouteJobEntity)Tarefas com durações e requisitos de recursosSCM → SkyPlannerA cada sincronização de ordens
Existências em armazémSaldos de stockSCM → SkyPlannerDe hora a hora ou a cada execução da programação
Linhas de ordens de compra com data de entregaMaterial a receber; o stock é atualizado quando a ordem de compra é marcada como DeliveredSCM → SkyPlannerDe hora a hora ou a cada execução da programação
Datas e horas de início e fim programadas e recurso atribuído a cada operação do roteiroInício, fim e centro de trabalho planeados por operaçãoSkyPlanner → SCMQuando a programação muda, através de um webhook do SkyPlanner
Diário de fichas de roteiro (ProdRouteCardProductionJournalEntryEntity: RegisteredHours, ReportedGoodInventoryQuantity)Registos de tempo e quantidadesSkyPlanner → SCMPor confirmação ou por turno, se essa opção for escolhida
Configuração de restrições no SkyPlannerMatriz de tempos de preparação, ferramentas como recursos de capacidade limitada, número de operadores, recursos alternativosGerido no SkyPlannerConfigurado durante a implementação

Padrões de integração

1. Carregamento inicial de dados mestre. Carregue recursos, grupos de recursos, calendários, produtos lançados, roteiros e BOMs. Utilize a API de dados em lote quando o volume atingir centenas de milhares de registos; nos restantes casos, utilize a paginação OData. Associe cada recurso do SCM a um centro de trabalho do SkyPlanner. Não mapeie apenas os grupos de recursos: a programação de operações reserva grupos, mas a produção no chão de fábrica utiliza recursos.

2. Sincronização de ordens. Leia as ordens de produção firmadas nos estados sob responsabilidade do SkyPlanner, normalmente Scheduled e Released, com as respetivas operações e tarefas dos roteiros e linhas de BOM. Leia também as linhas de ordens de compra em aberto. O SkyPlanner considera o material encomendado disponível na data de entrega da ordem de compra e atualiza o stock quando esta é marcada como Delivered.

Exclua as ordens de produção planeadas, a menos que estejam explicitamente incluídas no âmbito. O Planning Optimization volta a gerá-las a cada execução.

3. Gravação da programação no SCM. Para cada operação que o motor programou ou deslocou, o SkyPlanner grava as datas e horas de início e fim programadas e o recurso de operações na operação do roteiro, utilizando os nomes de campo indicados em /data/$metadata no seu ambiente. As alterações são enviadas em conjuntos de alterações de pedidos OData em lote, para que cada execução da programação seja aplicada como uma única atualização consistente.

4. Confirmações no chão de fábrica. Os operadores registam o trabalho com o SkyPlanner Mobile Confirmations ou o Production Timer, e os registos de tempo mantêm a programação atualizada. As horas e as quantidades conformes podem ser devolvidas como linhas do diário de fichas de roteiro. A função Report as finished continua a ser executada onde já a utiliza, no SCM ou no Production floor execution.

Escolha um único canal para cada lançamento. Registar as mesmas horas a partir do SkyPlanner e do Production floor execution duplica-as.

5. Responsabilidades e regras para resolver conflitos. Documente-as antes da entrada em produção:

DadosSistema responsável
Produtos, BOMs, roteiros, quantidades, estado das ordens, cálculo de custosSupply Chain Management
Ordens de produção planeadasPlanning Optimization
Sequência das operações, início e fim programados, atribuição de recursosSkyPlanner
Matriz de tempos de preparação, ferramentas, número de operadores, recursos alternativosSkyPlanner
Turnos e ausênciasUm único sistema, escolhido na definição do âmbito
Lançamento de horas e quantidades produzidasSupply Chain Management, a partir dos registos de tempo do SkyPlanner, se essa opção for escolhida

A principal fonte de conflitos é a própria programação de tarefas do SCM. Se um planeador reprogramar uma ordem no SCM, as datas do SkyPlanner são substituídas. Utilize IsProductionOrderSchedulingLocked no cabeçalho das ordens de produção geridas pelo SkyPlanner. Trate qualquer ordem alterada no SCM como uma nova versão e volte a sincronizá-la. O Autopilot reprograma automaticamente quando há alterações na produção.

O que inclui o projeto

A implementação fica normalmente concluída em poucas semanas após o início do acompanhamento inicial. Antes disso, pode utilizar os seus próprios dados na avaliação gratuita de 30 dias. Exporte recursos, gamas operatórias e ordens de produção em aberto através de um projeto de exportação de gestão de dados ou do suplemento do Excel. Importe-os em CSV ou Excel e valide a programação.

  1. Definição do âmbito. Defina a tabela de correspondências, os estados geridos pelo SkyPlanner, as frequências de sincronização e o canal de registo.
  2. Acesso. Registe a aplicação Entra ID, associe-a a um utilizador do SCM com funções limitadas aos privilégios mínimos necessários e confirme os nomes públicos das entidades em /data/$metadata. Primeiro no ambiente de testes, depois em produção.
  3. Carregamento inicial. Recursos, calendários, produtos disponibilizados, gamas operatórias e listas de materiais.
  4. Sincronização de ordens e encomendas de compra. Consulta periódica dos registos alterados com $filter, complementada por eventos de negócio quando disponíveis no seu catálogo.
  5. Configuração de restrições no SkyPlanner. Matriz de tempos de preparação, ferramentas, número de operadores e máquinas ou pessoal alternativos.
  6. Gravação da programação no SCM. Atualizações em lote das operações das gamas operatórias e bloqueio da programação nas ordens geridas pelo SkyPlanner.
  7. Testes em paralelo. Utilize o SkyPlanner em paralelo com o plano atual, compare datas e corrija os dados mestre.
  8. Entrada em produção. Ative a gravação no SCM assim que os dados coincidirem.

O que prever numa integração com o Dynamics 365 SCM

  • A eficiência pode ser aplicada duas vezes. O SCM calcula “Scheduling time = Time x 100 / Efficiency percentage.” (O tempo de programação é calculado ajustando o tempo pela percentagem de eficiência.) Mapeie a eficiência para a eficiência do centro de trabalho no SkyPlanner uma única vez, sem a aplicar a tempos já ajustados.
  • Os calendários estão associados aos grupos de recursos. Leia a atribuição de calendário de cada grupo de recursos e de cada recurso; caso contrário, a capacidade ficará incorreta.
  • Programação de operações ou de tarefas. As ordens programadas através da programação de operações não têm horas de início e de fim nem um recurso específico. Sincronize as operações das gamas operatórias e os requisitos de recursos, não apenas as datas.
  • Indicadores de capacidade finita. Os recursos com Finite capacity definido como No podem ficar sobrecarregados no SCM. No SkyPlanner, represente cada limitação real como uma restrição de capacidade limitada.
  • 32 recursos por operação. O SCM limita a programação de tarefas a 32 recursos por operação. No SkyPlanner, as alternativas são definidas em grupos de centros de trabalho e centros de trabalho alternativos.
  • Paginação e volume. O OData utiliza páginas de 10.000 registos e permite a expansão até um nível de profundidade. Utilize a API de dados em lote para carregamentos iniciais de grande volume.
  • Entidades legais. Sem cross-company=true e filtros de dataAreaId, uma fábrica que trabalhe com várias empresas sincroniza apenas a empresa predefinida.

Quem configura a integração

O trabalho abrange o mapeamento das suas gamas operatórias, recursos e configuração do SCM, bem como a configuração de restrições no SkyPlanner: matriz de tempos de preparação, ferramentas, número de operadores e recursos alternativos.

  1. A equipa do SkyPlanner configura a integração durante o acompanhamento inicial e presta suporte após a entrada em produção, tanto do lado do SkyPlanner como para as entidades de dados do SCM acordadas. Cada fábrica utiliza o D365 SCM de forma diferente, e é aqui que esse conhecimento é aplicado.
  2. O seu parceiro Dynamics pode participar. O parceiro conhece a sua configuração, extensões e funções de segurança, e pode configurar a aplicação Entra ID e o acesso às entidades. O SkyPlanner disponibiliza a REST API, a documentação Swagger/OpenAPI e webhooks.
  3. Os seus próprios programadores podem desenvolver a partir desta base, utilizando a mesma REST API documentada com um token de API. Um token de API é suficiente para começar, e a equipa do SkyPlanner presta apoio quando necessário.

Uma vez estabelecida a ligação, o motor Arcturus programa a produção com base nas ordens de produção atualizadas do SCM, e as datas programadas são gravadas nas operações das gamas operatórias. O SkyPlanner está disponível a partir de 199 € por mês, com 5 centros de trabalho incluídos e faturação mensal. O orçamento da integração é apresentado antecipadamente, de acordo com o seu processo e as suas necessidades, juntamente com o plano escolhido, para que conheça o custo total antes de começar.

Compare o planeamento do próprio SCM em Programação da produção no Dynamics 365 SCM, que aborda o respeito pela capacidade real das máquinas e do pessoal. Encontra uma visão geral na página do Dynamics 365 SCM e outros ERP na área de integrações com ERP.

Iniciar avaliação gratuita Falar com a equipa comercial

Opiniões de fabricantes sobre o SkyPlanner

Kalle Kalliomäki, especialista em cadeia de abastecimento na UTU, na área de produção de quadros elétricos em Ulvila

2 hpoupadas por semana

“Com o SkyPlanner, passámos do planeamento da produção em folhas de cálculo Excel para a otimização da produção em tempo real.”

Kalle Kalliomäki, especialista em cadeia de abastecimento
UTU · Quadros elétricos e aparelhagem de manobra

O planeamento da produção permite poupar 2 horas de trabalho por semana, e uma nova fila de tarefas chega à linha em segundos.

Ler o testemunho da UTU

Operadores com fatos de sala limpa numa linha de enchimento de frascos na fábrica farmacêutica da Laboratory & Allied, em Nairobi

+90%de eficiência na produção

“A eficiência na produção aumentou 90%.”

Abdul Rucyinga, responsável de TI
Laboratory & Allied · Produção farmacêutica

A eficiência na produção aumentou 90%, e a criação de um plano otimizado para três meses, abrangendo todos os centros de trabalho, demora menos de 30 minutos.

Ler o testemunho da Laboratory & Allied

100%de fiabilidade das entregas desde 2021

“O SkyPlanner dá-nos visibilidade sobre a capacidade e torna o planeamento previsível.”

Dan Berglund, COO/CFO
Opes Corporation · Produção química e alimentar

A fiabilidade das entregas manteve-se nos 100% durante todo o período de utilização do SkyPlanner, desde 2021.

Ler o testemunho da Opes Corporation

Hannu Ryynänen, diretor executivo da Mamec, no pavilhão de produção da empresa em Lohja

Milhares (1.000)de ordens de trabalho programadas automaticamente

“Temos um controlo diferente sobre a produção, e a nossa compreensão da capacidade está num nível completamente diferente.”

Hannu Ryynänen, diretor executivo
Mamec · Misturadores industriais, bombas e fabrico por contrato de alta tecnologia

Milhares de ordens de trabalho são programadas automaticamente, com uma visão da produção em tempo real para toda a organização.

Ler o testemunho da Mamec

Perguntas frequentes

Que API do D365 SCM é utilizada na integração?

O endpoint REST OData v4 em /data, que disponibiliza todas as entidades de dados públicas com suporte completo para criação, leitura, atualização e eliminação. Os carregamentos iniciais de grande volume utilizam a API de dados em lote. Os eventos de negócio permitem acionar a integração quase em tempo real, quando disponíveis no seu catálogo.

É necessário instalar algo no Supply Chain Management?

Não. A integração utiliza entidades de dados padrão através de OData. O seu administrador regista uma aplicação Microsoft Entra ID e associa-a a um utilizador do SCM com as funções necessárias.

Como são gravadas as datas programadas no Supply Chain Management?

O SkyPlanner grava as datas e horas de início e de fim programadas e o recurso das operações nas operações da gama operatória da ordem de produção, através de conjuntos de alterações em lote do OData. As ordens geridas pelo SkyPlanner são protegidas com IsProductionOrderSchedulingLocked.

Porquê ligar o SkyPlanner em vez de ajustar a programação de tarefas do SCM?

O Planning Optimization só respeita a capacidade finita dentro do horizonte definido para esse efeito; para além desse horizonte, planeia com capacidade infinita (fonte). A programação de tarefas do SCM posiciona uma ordem de produção de cada vez, tendo em conta a capacidade já reservada e tratando a preparação como tempo da operação (fonte). A Microsoft desaconselha o planeamento mestre com capacidade finita quando os turnos alteram a capacidade (fonte). O SkyPlanner programa todas as ordens confirmadas em conjunto, com uma matriz de tempos de preparação, e o Autopilot reprograma automaticamente a cada alteração relevante. A equipa do SkyPlanner configura a integração bidirecional e presta suporte, e o seu parceiro Dynamics pode assumir a responsabilidade pelo lado do SCM.

O SkyPlanner deve programar ordens de produção planeadas?

Normalmente, não. O Planning Optimization volta a gerar as ordens de produção planeadas em cada execução. O SkyPlanner programa ordens de produção confirmadas nos estados acordados durante a definição do âmbito.

A integração funciona com o Supply Chain Management instalado localmente?

Nas instalações locais, a integração utiliza a API de dados em lote, que a Microsoft suporta nesses ambientes. Do lado do SkyPlanner, a REST API é a mesma em ambos os casos, e a via de integração é confirmada durante a definição do âmbito.

Podemos testar o SkyPlanner antes de desenvolver a integração?

Sim. A avaliação gratuita de 30 dias permite utilizar até 20 centros de trabalho, com importações em CSV ou Excel a partir do Supply Chain Management, sem necessidade de cartão de crédito. Inicie a avaliação ou fale com a equipa comercial para definir o âmbito da integração.