Integrazioni / ERP / Microsoft Dynamics 365 Supply Chain Management
Guida all’integrazione di Dynamics 365 Supply Chain Management per la schedulazione della produzione con SkyPlanner APS
Questa guida all’integrazione di Dynamics 365 Supply Chain Management spiega a partner e team IT come collegare Microsoft Dynamics 365 Supply Chain Management a SkyPlanner APS. L’integrazione tra SkyPlanner e Dynamics 365 Supply Chain Management è bidirezionale e utilizza le entità di dati standard di quest’ultimo:
- SkyPlanner riceve ordini di produzione, operazioni e attività dei cicli, righe di distinta base, risorse produttive, calendari, prodotti rilasciati, giacenze e righe degli ordini di acquisto.
- Le date e gli orari di inizio e fine schedulati e la risorsa produttiva scelta vengono riscritti nell’ordine di produzione e nelle relative operazioni del ciclo.
- Le ore degli operatori e le quantità vengono riportate in SCM tramite il giornale di registrazione schede ciclo.
- I webhook di SkyPlanner inviano le modifiche alla schedulazione non appena avvengono.
Durante l’avviamento, il team SkyPlanner configura l’integrazione in base al vostro ambiente Supply Chain Management e ne assicura l’assistenza dopo la messa in produzione. Questa guida si rivolge ai partner e agli sviluppatori che vogliono partecipare al progetto o sviluppare autonomamente sulla REST API documentata di SkyPlanner (riferimento API).
Opzioni di integrazione con Dynamics 365 SCM
Supply Chain Management espone i propri dati tramite entità di dati. Per la schedulazione sono rilevanti quattro opzioni:
- Endpoint REST OData v4.
[Your organization's root URL]/dataespone tutte le entità di dati contrassegnate come IsPublic, con pieno supporto delle operazioni di creazione, lettura, aggiornamento ed eliminazione. Supporta$filter,$count,$orderby,$skip,$top,$selecte$expanddi primo livello. La paginazione è gestita dal server, con un massimo di 10.000 record, e le richieste batch possono raggruppare le scritture in changeset. OData è sincrono. (fonte) - Batch data API. La Data management package REST API e le integrazioni ricorrenti trasferiscono grandi volumi di dati in modo asincrono. Microsoft afferma: “If the volume is more than a few hundred thousand records, use the batch data API.” (Se il volume supera alcune centinaia di migliaia di record, usare la batch data API.) È anche l’API supportata nelle installazioni on-premises. (fonte)
- Eventi aziendali. Le app Finance and operations pubblicano eventi aziendali su Azure Service Bus, Event Grid, endpoint HTTPS o Power Automate. (fonte)
- Servizi personalizzati e azioni OData. I servizi personalizzati X++ e le azioni OData associate eseguono la logica di business su richiesta.
L’integrazione SkyPlanner utilizza l’endpoint OData per gli scambi quotidiani e la batch data API per un caricamento iniziale di grandi dimensioni. Non viene installato nulla in Supply Chain Management.
Autenticazione
Registrate un’applicazione in Microsoft Entra ID (service principal). In Supply Chain Management, associatela a un utente con i ruoli di sicurezza necessari all’integrazione. L’integrazione legge i dati di produzione, delle risorse produttive e delle giacenze, e scrive i dati di schedulazione degli ordini di produzione e i giornali di registrazione. I token vengono richiesti a Entra ID con le credenziali client.
Due regole determinano quali dati sono visibili all’integrazione:
- Persone giuridiche. OData restituisce i dati della società predefinita, a meno che la richiesta non includa
?cross-company=true. Negli ambienti con più siti produttivi, i dati vengono filtrati tramitedataAreaId. - Nomi pubblici. I nomi delle entità riportati di seguito sono quelli usati nella gestione dati. I nomi pubblici delle raccolte OData possono essere diversi: ricavateli quindi da
/data/$metadatadel vostro ambiente.
Sul lato SkyPlanner, l’accesso alla REST API avviene tramite un token API (SkyPlanner Settings > API). L’API è documentata in Swagger/OpenAPI. Il tutorial di integrazione illustra le prime chiamate.
Mappatura dei dati
| Entità D365 SCM | Oggetto SkyPlanner | Direzione | Frequenza |
|---|---|---|---|
| Prodotti rilasciati (ItemNumber) | Prodotti e materiali | SCM → SkyPlanner | Caricamento iniziale, poi aggiornamenti incrementali |
| Righe della distinta base di produzione (ProdProductionOrderBillOfMaterialsLineEntity), righe della distinta base | Struttura del prodotto, materiali per ordine | SCM → SkyPlanner | A ogni sincronizzazione degli ordini |
| Ciclo, versioni del ciclo, operazioni del ciclo, proprietà delle operazioni (RouteOperationPropertiesV2Entity) | Fasi del processo con tempi di attrezzaggio e lavorazione | SCM → SkyPlanner | Caricamento iniziale, poi a ogni modifica |
| Risorse produttive (OpResOperationsResourceEntity), gruppi di risorse produttive, capacità operative | Centri di lavoro, gruppi di centri di lavoro, efficienze | SCM → SkyPlanner | Caricamento iniziale, poi raramente |
| Calendari di lavoro, giorni e intervalli orari dei calendari, assegnazioni dei calendari | Turni | SCM → SkyPlanner | Ogni giorno, oppure turni gestiti in SkyPlanner |
| Testate degli ordini di produzione (ProdProductionOrderHeaderEntity) | Ordini con date di consegna e stato | SCM → SkyPlanner | Ogni pochi minuti o al verificarsi di un evento aziendale |
| Operazioni del ciclo (ProdProductionOrderRouteOperationEntity), attività del ciclo (ProdProductionOrderRouteJobEntity) | Operazioni con durate e requisiti in termini di risorse produttive | SCM → SkyPlanner | A ogni sincronizzazione degli ordini |
| Giacenze disponibili | Giacenze di magazzino | SCM → SkyPlanner | Ogni ora o a ogni esecuzione della schedulazione |
| Righe degli ordini di acquisto con data di consegna | Materiale in arrivo; aggiornamento delle giacenze quando l’ordine di acquisto passa allo stato Delivered | SCM → SkyPlanner | Ogni ora o a ogni esecuzione della schedulazione |
| Data e ora di inizio e fine schedulate e risorsa produttiva di ciascuna operazione del ciclo | Inizio, fine e centro di lavoro pianificati per ogni operazione | SkyPlanner → SCM | A ogni modifica della schedulazione, tramite webhook SkyPlanner |
| Giornale di registrazione schede ciclo (ProdRouteCardProductionJournalEntryEntity: RegisteredHours, ReportedGoodInventoryQuantity) | Registrazioni dei tempi e quantità | SkyPlanner → SCM | A ogni conferma o per turno, se previsto |
| Configurazione dei vincoli in SkyPlanner | Matrice dei tempi di attrezzaggio, utensili come risorse a capacità finita, numero di operatori, risorse produttive alternative | Gestiti in SkyPlanner | Configurati durante l’avviamento |
Schemi di integrazione
1. Caricamento iniziale delle anagrafiche. Caricate risorse produttive, gruppi di risorse produttive, calendari, prodotti rilasciati, cicli e distinte base. Per volumi nell’ordine delle centinaia di migliaia di record usate la batch data API; negli altri casi, la paginazione OData. Associate ogni risorsa produttiva SCM a un centro di lavoro SkyPlanner. Non limitatevi ad associare i gruppi: la schedulazione delle operazioni prenota i gruppi, ma in reparto il lavoro viene svolto dalle singole risorse produttive.
2. Sincronizzazione degli ordini. Leggete gli ordini di produzione consolidati negli stati gestiti da SkyPlanner, in genere Scheduled e Released, insieme alle relative operazioni e attività del ciclo e alle righe della distinta base. Leggete anche le righe aperte degli ordini di acquisto. SkyPlanner considera il materiale ordinato disponibile alla data di consegna dell’ordine di acquisto e aggiorna le giacenze quando l’ordine passa allo stato Delivered.
Escludete gli ordini di produzione pianificati, salvo che siano esplicitamente inclusi nel perimetro del progetto. Planning Optimization li rigenera a ogni esecuzione.
3. Scrittura della schedulazione in SCM. Per ogni operazione collocata o spostata dal motore, SkyPlanner scrive nell’operazione del ciclo la data e l’ora di inizio e fine schedulate e la risorsa produttiva, usando i nomi dei campi presenti in /data/$metadata del vostro ambiente. Le modifiche vengono inviate in changeset batch OData, così che ogni esecuzione della schedulazione produca un unico aggiornamento coerente.
4. Conferme dal reparto. Gli operatori registrano il lavoro con SkyPlanner Mobile Confirmations o Production Timer e le registrazioni dei tempi mantengono aggiornata la schedulazione. Le ore e le quantità conformi possono essere riportate in SCM come righe del giornale di registrazione schede ciclo. La dichiarazione di finito resta nel sistema in cui la eseguite oggi, in SCM o in Production floor execution.
Scegliete un solo canale per ogni registrazione. Registrare le stesse ore sia da SkyPlanner sia da Production floor execution le duplica.
5. Responsabilità dei sistemi e regole sui conflitti. Mettetele per iscritto prima della messa in produzione:
| Dati | Sistema responsabile |
|---|---|
| Prodotti, distinte base, cicli, quantità, stato degli ordini, calcolo dei costi | Supply Chain Management |
| Ordini di produzione pianificati | Planning Optimization |
| Sequenza delle operazioni, inizio e fine schedulati, assegnazione delle risorse produttive | SkyPlanner |
| Matrice dei tempi di attrezzaggio, utensili, numero di operatori, risorse produttive alternative | SkyPlanner |
| Turni e assenze | Un solo sistema, scelto durante la definizione del perimetro |
| Registrazione delle ore e delle quantità prodotte | Supply Chain Management, a partire dalle registrazioni dei tempi di SkyPlanner se previsto |
La principale fonte di conflitto è la schedulazione dei processi di SCM. Se un pianificatore rischedula un ordine in SCM, le date di SkyPlanner vengono sovrascritte. Per gli ordini gestiti da SkyPlanner, usate IsProductionOrderSchedulingLocked nella testata dell’ordine di produzione. Considerate ogni ordine modificato in SCM come una nuova versione e sincronizzatelo di nuovo: Autopilot rischedula automaticamente quando la produzione cambia.
Cosa comprende il progetto
L’implementazione viene normalmente completata nel giro di settimane dall’inizio dell’onboarding. Prima puoi usare la prova gratuita di 30 giorni con i tuoi dati. Esporta risorse produttive, cicli e ordini di produzione aperti con un progetto di esportazione di gestione dati o con il componente aggiuntivo di Excel, importali in formato CSV o Excel e verifica la schedulazione.
- Definizione del perimetro. Definisci la tabella di mappatura, gli stati gestiti da SkyPlanner, le frequenze di sincronizzazione e il canale di registrazione.
- Accesso. Registra l’applicazione Entra ID, associala a un utente SCM con ruoli che concedano solo i privilegi necessari e verifica i nomi delle entità pubbliche in
/data/$metadata. Prima nell’ambiente sandbox, poi in produzione. - Caricamento iniziale. Risorse produttive, calendari, prodotti rilasciati, cicli e distinte base.
- Sincronizzazione degli ordini e degli ordini di acquisto. Polling dei record modificati con
$filter, affiancato dagli eventi aziendali disponibili nel tuo catalogo. - Configurazione dei vincoli in SkyPlanner. Matrice dei tempi di attrezzaggio, utensili, numero di operatori e macchine o personale alternativi.
- Scrittura della schedulazione in SCM. Aggiornamenti batch delle operazioni del ciclo e blocco della schedulazione sugli ordini gestiti da SkyPlanner.
- Test in parallelo. Esegui SkyPlanner in parallelo al piano attuale, confronta le date e correggi le anagrafiche.
- Avvio in produzione. Attiva la scrittura in SCM quando i dati corrispondono.
Cosa considerare nell’integrazione con Dynamics 365 SCM
- Evita di applicare due volte l’efficienza. SCM calcola i tempi secondo la formula “Scheduling time = Time x 100 / Efficiency percentage.” (Il tempo di schedulazione si ottiene dividendo il tempo per l’efficienza espressa come frazione dell’unità.) Applica l’efficienza al centro di lavoro di SkyPlanner una sola volta, senza applicarla a tempi già corretti.
- I calendari sono associati ai gruppi di risorse produttive. Leggi l’assegnazione del calendario per ogni gruppo e per ogni risorsa produttiva, altrimenti la capacità non corrisponderà.
- Schedulazione delle operazioni e schedulazione dei processi. Gli ordini schedulati a livello di operazioni non hanno orari di inizio e fine né una risorsa produttiva specifica. Sincronizza le operazioni del ciclo e i requisiti delle risorse produttive, non solo le date.
- Impostazioni della capacità finita. Le risorse produttive con il campo Finite capacity impostato su No possono essere sovraccaricate in SCM. In SkyPlanner, rappresenta ogni vincolo reale come un limite di capacità finita.
- 32 risorse produttive per operazione. SCM limita la schedulazione dei processi a 32 risorse produttive per operazione. In SkyPlanner, le alternative si definiscono tramite gruppi di centri di lavoro e centri di lavoro alternativi.
- Paginazione e volumi. OData restituisce pagine di 10.000 record e consente l’espansione fino a un livello di profondità. Per i caricamenti iniziali di grandi dimensioni va usata l’API dati batch.
- Persone giuridiche. Senza
cross-company=truee i filtridataAreaId, uno stabilimento che opera su più società sincronizza solo la società predefinita.
Chi configura l’integrazione
Il lavoro comprende la mappatura dei tuoi cicli, delle risorse produttive e della configurazione SCM, oltre alla configurazione dei vincoli in SkyPlanner: matrice dei tempi di attrezzaggio, utensili, numero di operatori e risorse produttive alternative.
- Il team SkyPlanner configura l’integrazione durante l’onboarding e fornisce assistenza dopo l’avvio in produzione, occupandosi del lato SkyPlanner e delle entità dati SCM concordate. Ogni stabilimento usa D365 SCM in modo diverso: è qui che entra in gioco la conoscenza di queste specificità.
- Il tuo partner Dynamics può partecipare. Conosce la tua configurazione, le estensioni e i ruoli di sicurezza e può configurare l’applicazione Entra ID e l’accesso alle entità. SkyPlanner mette a disposizione la REST API, la documentazione Swagger/OpenAPI e i webhook.
- I tuoi sviluppatori possono sviluppare l’integrazione usando la stessa REST API documentata e un token API. Per iniziare basta un token API e il team SkyPlanner offre assistenza quando serve.
Una volta attivato il collegamento, il motore Arcturus esegue la schedulazione sulla base degli ordini di produzione aggiornati di SCM e le date schedulate vengono riportate nelle operazioni del ciclo. SkyPlanner parte da 199 € al mese, con 5 centri di lavoro inclusi e fatturazione mensile. Il preventivo dell’integrazione viene preparato in anticipo in base ai tuoi processi e alle tue esigenze, insieme a quello del piano, così conosci il costo complessivo prima di iniziare.
Scopri il confronto con la pianificazione nativa di SCM nella pagina Schedulazione della produzione a capacità finita in Dynamics 365 SCM. Trovi una panoramica nella pagina dedicata a Dynamics 365 SCM e gli altri ERP nella sezione sulle integrazioni ERP.
Le recensioni delle aziende manifatturiere su SkyPlanner
2 hrisparmiate ogni settimana
“Con SkyPlanner, la nostra pianificazione della produzione è passata dai fogli Excel all’ottimizzazione della produzione in tempo reale.”
Kalle Kalliomäki, specialista della supply chain
UTU · Quadri elettrici e apparecchiature di manovra
La pianificazione della produzione fa risparmiare 2 ore di lavoro ogni settimana e una nuova coda di lavoro arriva alla linea in pochi secondi.
+90%di efficienza produttiva
“L’efficienza in produzione è aumentata del 90%.”
Abdul Rucyinga, responsabile IT
Laboratory & Allied · Produzione farmaceutica
L’efficienza produttiva è aumentata del 90% e per creare un piano ottimizzato di tre mesi su tutti i centri di lavoro servono meno di 30 minuti.
100%di affidabilità delle consegne dal 2021
“SkyPlanner ci dà visibilità sulla capacità e rende prevedibile la pianificazione.”
Dan Berglund, COO/CFO
Opes Corporation · Produzione chimica e alimentare
L’affidabilità delle consegne è rimasta al 100% per tutto il periodo di utilizzo di SkyPlanner, dal 2021.
1.000 e piùordini di lavoro schedulati automaticamente
“Il nostro modo di tenere sotto controllo la produzione è cambiato e abbiamo raggiunto un livello completamente diverso di conoscenza della capacità produttiva.”
Hannu Ryynänen, amministratore delegato
Mamec · Miscelatori industriali, pompe e produzione conto terzi ad alta tecnologia
Migliaia di ordini di lavoro vengono schedulati automaticamente, con una visione della produzione in tempo reale per tutta l’organizzazione.
Domande frequenti
Quale API di D365 SCM usa l’integrazione?
L’endpoint REST OData v4 all’indirizzo /data, che espone tutte le entità dati pubbliche con supporto completo per creazione, lettura, aggiornamento ed eliminazione. I caricamenti iniziali di grandi dimensioni usano l’API dati batch. Gli eventi aziendali aggiungono trigger quasi in tempo reale, dove disponibili nel tuo catalogo.
Bisogna installare qualcosa in Supply Chain Management?
No. L’integrazione usa le entità dati standard tramite OData. Il tuo amministratore registra un’applicazione Microsoft Entra ID e la associa a un utente SCM con i ruoli necessari.
Come vengono riportate le date schedulate in Supply Chain Management?
SkyPlanner scrive le date e gli orari di inizio e fine schedulati e la risorsa produttiva assegnata nelle operazioni del ciclo dell’ordine di produzione, tramite changeset batch OData. Gli ordini gestiti da SkyPlanner sono protetti con IsProductionOrderSchedulingLocked.
Perché collegare SkyPlanner invece di perfezionare la schedulazione dei processi di SCM?
Planning Optimization considera la capacità finita solo entro il relativo orizzonte temporale e pianifica a capacità infinita oltre tale limite (fonte). La schedulazione dei processi di SCM colloca un ordine di produzione alla volta negli spazi lasciati liberi dalla capacità già prenotata, trattando l’attrezzaggio come un tempo dell’operazione (fonte), e Microsoft sconsiglia la pianificazione generale a capacità finita quando i turni modificano la capacità (fonte). SkyPlanner schedula insieme tutti gli ordini stabilizzati usando una matrice dei tempi di attrezzaggio, mentre Autopilot ripianifica automaticamente a ogni cambiamento significativo. Il team SkyPlanner configura l’integrazione bidirezionale e fornisce assistenza, mentre il tuo partner Dynamics può assumere la responsabilità del lato SCM.
SkyPlanner dovrebbe schedulare gli ordini di produzione pianificati?
Normalmente no. Planning Optimization rigenera gli ordini di produzione pianificati a ogni esecuzione. SkyPlanner schedula gli ordini di produzione stabilizzati negli stati concordati durante la definizione del perimetro.
L’integrazione funziona con Supply Chain Management in locale?
Nelle installazioni in locale, l’integrazione usa l’API dati batch, supportata da Microsoft in questi ambienti. Sul lato SkyPlanner si usa in entrambi i casi la stessa REST API; la modalità di integrazione viene confermata durante la definizione del perimetro.
Possiamo provare SkyPlanner prima di realizzare l’integrazione?
Sì. La prova gratuita di 30 giorni supporta fino a 20 centri di lavoro con importazioni CSV o Excel da Supply Chain Management, senza carta di credito. Inizia la prova oppure contatta il team commerciale per definire il perimetro dell’integrazione.