Integrasjoner / ERP / Microsoft Dynamics 365 Supply Chain Management
Integrasjonsguide for Dynamics 365 Supply Chain Management for produksjonsplanlegging med SkyPlanner APS
Denne integrasjonsguiden for Dynamics 365 Supply Chain Management viser partnere og IT-team hvordan de kobler Microsoft Dynamics 365 Supply Chain Management til SkyPlanner APS. SkyPlanner utveksler data med Dynamics 365 Supply Chain Management i begge retninger via standarddataenhetene i systemet:
- Produksjonsordrer, ruteoperasjoner, rutejobber, stykklisterader, ressurser, kalendere, frigitte produkter, lagerbeholdning og innkjøpsordrelinjer overføres til SkyPlanner.
- Planlagte start- og sluttidspunkter og valgt ressurs skrives tilbake til produksjonsordren og ruteoperasjonene.
- Operatørtimer og antall tilbakeføres via rutekortjournalen.
- SkyPlanners webhooks sender planendringer fortløpende.
SkyPlanner-teamet tilpasser integrasjonen til oppsettet deres i Supply Chain Management under oppstarten og gir støtte etter produksjonssetting. Denne guiden er for partnere og utviklere som vil delta i arbeidet eller selv bygge videre på SkyPlanners dokumenterte REST API (API-referanse).
Integrasjonsmuligheter for Dynamics 365 SCM
Supply Chain Management gjør data tilgjengelige gjennom dataenheter. Fire alternativer er relevante for produksjonsplanlegging:
- OData v4 REST-endepunkt.
[Your organization's root URL]/datagir tilgang til alle dataenheter merket IsPublic, med full støtte for å opprette, lese, oppdatere og slette. Det støtter$filter,$count,$orderby,$skip,$top,$selectog$expandpå første nivå. Sideinndelingen styres av serveren, med maksimalt 10 000 poster, og batchforespørsler kan gruppere skriveoperasjoner i endringssett. OData er synkront. (kilde) - Batch data API. Data management package REST API og gjentakende integrasjoner overfører store datamengder asynkront. Microsoft: «If the volume is more than a few hundred thousand records, use the batch data API.» (Hvis volumet overstiger noen hundre tusen poster, bruk batch data API.) Dette er også API-et som støttes ved lokal drift. (kilde)
- Forretningshendelser. Appene i Finance and operations publiserer forretningshendelser til Azure Service Bus, Event Grid, HTTPS-endepunkter eller Power Automate. (kilde)
- Egendefinerte tjenester og OData-handlinger. Egendefinerte X++-tjenester og bundne OData-handlinger kjører forretningslogikk ved behov.
SkyPlanner-integrasjonen bruker OData-endepunktet til den daglige datautvekslingen og batch data API ved store førstegangsinnlastinger. Ingenting installeres i Supply Chain Management.
Autentisering
Registrer en applikasjon i Microsoft Entra ID (service principal). Knytt applikasjonen til en bruker i Supply Chain Management med sikkerhetsrollene integrasjonen trenger. Integrasjonen leser produksjons-, ressurs- og lagerdata og skriver både planleggingsdata for produksjonsordrer og journaler. Tokener hentes fra Entra ID med klientlegitimasjon.
To regler avgjør hvilke data integrasjonen får tilgang til:
- Juridiske enheter. OData returnerer data fra standardselskapet med mindre forespørselen inneholder
?cross-company=true. Virksomheter med flere produksjonssteder filtrerer pådataAreaId. - Offentlige navn. Enhetsnavnene nedenfor er navnene som brukes i dataadministrasjon. De offentlige navnene på OData-samlingene kan være annerledes. Hent dem derfor fra
/data/$metadatai deres miljø.
På SkyPlanner-siden bruker REST API-et et API-token til autentisering (SkyPlanner Settings > API) og er dokumentert i Swagger/OpenAPI. Integrasjonsveiledningen viser deg de første kallene.
Datakoblinger
| Dataenhet i D365 SCM | Objekt i SkyPlanner | Retning | Hyppighet |
|---|---|---|---|
| Frigitte produkter (ItemNumber) | Produkter og materialer | SCM → SkyPlanner | Førstegangsinnlasting, deretter endringer |
| Produksjonsstykklisterader (ProdProductionOrderBillOfMaterialsLineEntity), stykklisterader | Produktstruktur, materialer per ordre | SCM → SkyPlanner | Ved hver ordresynkronisering |
| Rute, ruteversjoner, ruteoperasjoner, operasjonsegenskaper (RouteOperationPropertiesV2Entity) | Prosesstrinn med omstillings- og kjøretider | SCM → SkyPlanner | Førstegangsinnlasting, deretter ved endringer |
| Ressurser (OpResOperationsResourceEntity), ressursgrupper, kapabiliteter | Arbeidsstasjoner, arbeidsstasjonsgrupper, effektivitetsfaktorer | SCM → SkyPlanner | Førstegangsinnlasting, sjelden deretter |
| Arbeidstidskalendere, kalenderdager og tidsintervaller, kalendertildelinger | Skift | SCM → SkyPlanner | Daglig, eller skift vedlikeholdes i SkyPlanner |
| Produksjonsordrehoder (ProdProductionOrderHeaderEntity) | Ordrer med leveringsfrister og status | SCM → SkyPlanner | Med noen minutters mellomrom eller ved en forretningshendelse |
| Ruteoperasjoner (ProdProductionOrderRouteOperationEntity), rutejobber (ProdProductionOrderRouteJobEntity) | Jobber med varighet og ressurskrav | SCM → SkyPlanner | Ved hver ordresynkronisering |
| Lagerbeholdning | Lagersaldoer | SCM → SkyPlanner | Hver time eller ved plankjøring |
| Innkjøpsordrelinjer med leveringsdato | Innkommende materialer; lageret oppdateres når innkjøpsordren merkes som Delivered | SCM → SkyPlanner | Hver time eller ved plankjøring |
| Planlagt start- og sluttdato med klokkeslett samt operasjonsressurs for hver ruteoperasjon | Planlagt start, slutt og arbeidsstasjon per operasjon | SkyPlanner → SCM | Ved planendringer, via en webhook fra SkyPlanner |
| Rutekortjournal (ProdRouteCardProductionJournalEntryEntity: RegisteredHours, ReportedGoodInventoryQuantity) | Tidsregistreringer og antall | SkyPlanner → SCM | Per bekreftelse eller per skift, hvis valgt |
| Oppsett av begrensninger i SkyPlanner | Omstillingstidsmatrise, verktøy som ressurser med begrenset kapasitet, operatørantall, alternative ressurser | Vedlikeholdes i SkyPlanner | Settes opp under oppstarten |
Integrasjonsmønstre
1. Førstegangsinnlasting av grunndata. Last inn ressurser, ressursgrupper, kalendere, frigitte produkter, ruter og stykklister. Bruk batch data API når datamengden er på flere hundre tusen poster, og ellers OData med sideinndeling. Knytt hver SCM-ressurs til en arbeidsstasjon i SkyPlanner. Ikke koble bare ressursgruppene: operasjonsplanlegging reserverer grupper, men produksjonen utføres på enkeltressurser.
2. Ordresynkronisering. Les produksjonsordrer som er autorisert fra planlagte ordrer, med statusene SkyPlanner har ansvar for, vanligvis Scheduled og Released, sammen med ruteoperasjoner, rutejobber og stykklisterader. Les også åpne innkjøpsordrelinjer. SkyPlanner regner bestilte materialer som tilgjengelige på innkjøpsordrens leveringsdato og oppdaterer lageret når innkjøpsordren merkes som Delivered.
Utelat planlagte produksjonsordrer med mindre de uttrykkelig er omfattet av integrasjonen. Planning Optimization genererer dem på nytt ved hver kjøring.
3. Tilbakeskriving av planen. For hver operasjon motoren har plassert eller flyttet, skriver SkyPlanner planlagt start- og sluttdato med klokkeslett og operasjonsressurs tilbake til ruteoperasjonen. Feltnavnene hentes fra /data/$metadata i deres miljø. Endringene sendes som endringssett i OData-batcher, slik at én plankjøring overføres som én konsistent oppdatering.
4. Tilbakemeldinger fra produksjonsgulvet. Operatørene registrerer arbeid med SkyPlanner Mobile Confirmations eller Production Timer, og tidsregistreringene holder planen oppdatert. Timer og antall godkjente enheter kan tilbakeføres som linjer i rutekortjournalen. Ferdigmelding gjøres fortsatt der dere gjør det i dag, i SCM eller Production floor execution.
Velg én kanal for hver postering. Hvis de samme timene registreres fra både SkyPlanner og Production floor execution, blir de dobbeltført.
5. Regler for eierskap og konflikter. Dokumenter dem før produksjonssetting:
| Data | Eier |
|---|---|
| Produkter, stykklister, ruter, antall, ordrestatus, kostnadsberegning | Supply Chain Management |
| Planlagte produksjonsordrer | Planning Optimization |
| Operasjonsrekkefølge, planlagt start og slutt, ressurstildeling | SkyPlanner |
| Omstillingstidsmatrise, verktøy, operatørantall, alternative ressurser | SkyPlanner |
| Skift og fravær | Ett system, valgt under avklaringen |
| Postering av timer og produsert antall | Supply Chain Management, fra tidsregistreringer i SkyPlanner hvis dette er valgt |
Den viktigste kilden til konflikter er jobbplanleggingen i SCM. Hvis en planlegger omplanlegger en ordre i SCM, overskrives datoene fra SkyPlanner. Bruk IsProductionOrderSchedulingLocked på produksjonsordrehodet for ordrer som SkyPlanner styrer. Behandle alle ordrer som endres i SCM, som nye versjoner, og synkroniser dem på nytt. Autopilot omplanlegger automatisk når produksjonen endres.
Dette inngår i prosjektet
Implementeringen er normalt ferdig i løpet av uker etter at innføringen starter. Før det kan dere bruke egne data i den gratis prøveperioden på 30 dager. Eksporter ressurser, ruter og åpne produksjonsordrer med et eksportprosjekt i dataadministrasjon eller Excel-tillegget. Importer dem som CSV eller Excel, og kontroller planen.
- Avklaring. Fastsett tilordningstabellen, hvilke statuser SkyPlanner styrer, synkroniseringsfrekvensene og kanalen for postering.
- Tilgang. Registrer Entra ID-applikasjonen, knytt den til en SCM-bruker med roller som bare gir nødvendige rettigheter, og kontroller navnene på de offentlige enhetene i
/data/$metadata. Først i sandkassemiljøet, deretter i produksjonsmiljøet. - Førstegangsinnlasting. Ressurser, kalendere, frigitte produkter, ruter og stykklister.
- Synkronisering av ordrer og innkjøpsordrer. Hent endrede poster regelmessig med
$filter, supplert med forretningshendelser der disse finnes i katalogen deres. - Oppsett av begrensninger i SkyPlanner. Matrise for omstillingstid, verktøy, antall operatører og alternative maskiner eller medarbeidere.
- Tilbakeskriving av planen. Satsvise oppdateringer av ruteoperasjoner og planleggingslås på ordrer som SkyPlanner styrer.
- Parallell testing. Kjør SkyPlanner parallelt med dagens planlegging, sammenlign datoer med den gjeldende planen og rett opp grunndata.
- Produksjonssetting. Aktiver tilbakeskriving når dataene stemmer overens.
Dette må dere ta høyde for ved en integrasjon med Dynamics 365 SCM
- Effektivitet kan bli regnet med to ganger. SCM beregner tiden slik: «Scheduling time = Time x 100 / Efficiency percentage.» (Planleggingstiden beregnes ved å dele tiden på effektiviteten uttrykt som desimaltall.) Tilordne effektiviteten til arbeidsstasjonens effektivitet i SkyPlanner én gang, ikke i tillegg til tider som allerede er justert.
- Kalendere er knyttet til ressursgrupper. Les kalendertilordningen for hver ressursgruppe og ressurs, ellers blir kapasiteten feil.
- Operasjonsplanlegging kontra jobbplanlegging. Ordrer som er planlagt med operasjonsplanlegging, har verken start- og sluttidspunkter eller en bestemt ressurs. Synkroniser ruteoperasjoner og ressurskrav, ikke bare datoene.
- Innstillinger for begrenset kapasitet. Ressurser der Finite capacity er satt til No, kan overbookes i SCM. Legg inn alle reelle begrensninger som begrenset kapasitet i SkyPlanner.
- 32 ressurser per operasjon. SCM begrenser jobbplanleggingen til 32 ressurser per operasjon. I SkyPlanner defineres alternativene i arbeidsstasjonsgrupper og alternative arbeidsstasjoner.
- Sideinndeling og datamengder. OData deler resultatene inn i sider på 10 000 poster og utvider relasjoner ett nivå ned. Bruk API-et for satsvis dataoverføring ved store førstegangsinnlastinger.
- Juridiske enheter. Uten
cross-company=trueog filtre pådataAreaIdsynkroniseres bare standardselskapet ved en fabrikk med flere selskaper.
Hvem setter opp integrasjonen?
Arbeidet omfatter tilordning til rutene, ressursene og SCM-oppsettet deres, samt oppsett av begrensninger i SkyPlanner: matrise for omstillingstid, verktøy, antall operatører og alternative ressurser.
- SkyPlanner-teamet setter opp integrasjonen under innføringen og gir støtte etter produksjonssetting. Dette dekker SkyPlanner-siden og de avtalte dataenhetene i SCM. Hver fabrikk bruker D365 SCM på sin måte, og det er her denne kunnskapen kommer til nytte.
- Dynamics-partneren deres kan delta. Partneren kjenner konfigurasjonen, utvidelsene og sikkerhetsrollene deres og kan sette opp Entra ID-applikasjonen og tilgangen til dataenhetene. SkyPlanner leverer REST API, Swagger/OpenAPI-dokumentasjon og webhooks.
- Deres egne utviklere kan bygge videre på integrasjonen med det samme dokumenterte REST API-et og et API-token. Et API-token er nok til å komme i gang, og SkyPlanner-teamet hjelper til ved behov.
Når tilkoblingen er på plass, planlegger Arcturus-motoren ut fra oppdaterte produksjonsordrer i SCM, og de planlagte datoene skrives til ruteoperasjonene. SkyPlanner koster fra 199 € per måned med 5 arbeidsstasjoner inkludert og faktureres månedlig. Dere får et pristilbud på integrasjonen tilpasset prosessen og behovene deres, sammen med abonnementet, slik at dere ser hele kostnaden før dere starter.
Se hvordan SCMs egen planlegging står seg i sammenligningen i produksjonsplanlegging med begrenset kapasitet i Dynamics 365 SCM. Oversikten finner dere på siden om Dynamics 365 SCM, og andre ERP-systemer finner dere i oversikten over ERP-integrasjoner.
Produsentenes erfaringer med SkyPlanner
2 hspart hver uke
«SkyPlanner har tatt produksjonsplanleggingen vår fra Excel-regneark til produksjonsoptimalisering i sanntid.»
Kalle Kalliomäki, spesialist på forsyningskjeder
UTU · Elektrotavler og koblingsanlegg
Produksjonsplanleggingen sparer 2 timers arbeidstid hver uke, og en ny jobbkø når produksjonslinjen i løpet av sekunder.
+90%produksjonseffektivitet
«Effektiviteten i produksjonen har økt med 90%.»
Abdul Rucyinga, IT-sjef
Laboratory & Allied · Legemiddelproduksjon
Produksjonseffektiviteten har økt med 90%, og det tar under 30 minutter å lage en optimalisert plan for tre måneder på tvers av alle arbeidsstasjoner.
100%leveringspålitelighet siden 2021
«SkyPlanner gir oss oversikt over kapasiteten og gjør planleggingen forutsigbar.»
Dan Berglund, COO/CFO
Opes Corporation · Kjemikalie- og næringsmiddelproduksjon
Leveringspåliteligheten har vært 100% hele tiden SkyPlanner har vært i bruk, siden 2021.
1 000-vis avarbeidsordrer planlagt automatisk
«Vi har kontroll på produksjonen på en helt annen måte, og forståelsen vår av kapasiteten er på et helt annet nivå.»
Hannu Ryynänen, administrerende direktør
Mamec · Industrimiksere, pumper og høyteknologisk kontraktsproduksjon
Tusenvis av arbeidsordrer planlegges automatisk, og hele organisasjonen har oversikt over produksjonen i sanntid.
Ofte stilte spørsmål
Hvilket API i D365 SCM bruker integrasjonen?
REST-endepunktet for OData v4 på /data, som gir full tilgang til å opprette, lese, oppdatere og slette alle offentlige dataenheter. Store førstegangsinnlastinger bruker API-et for satsvis dataoverføring. Forretningshendelser gir utløsere i tilnærmet sanntid der disse finnes i katalogen deres.
Må vi installere noe i Supply Chain Management?
Nei. Integrasjonen bruker standard dataenheter via OData. Administratoren deres registrerer en Microsoft Entra ID-applikasjon og knytter den til en SCM-bruker med de nødvendige rollene.
Hvordan skrives planlagte datoer tilbake til Supply Chain Management?
SkyPlanner skriver planlagt start- og sluttdato med klokkeslett samt operasjonens ressurs til produksjonsordrens ruteoperasjoner via satsvise endringssett i OData. Ordrer som SkyPlanner styrer, beskyttes med IsProductionOrderSchedulingLocked.
Hvorfor koble til SkyPlanner i stedet for å justere jobbplanleggingen i SCM?
Planning Optimization tar bare hensyn til begrenset kapasitet innenfor tidshorisonten for dette og planlegger med ubegrenset kapasitet utenfor den (kilde). Jobbplanleggingen i SCM planlegger én produksjonsordre om gangen og tar hensyn til kapasitet som allerede er reservert. Omstillingstiden inngår i tiden for operasjonen (kilde). Microsoft fraråder dessuten hovedplanlegging med begrenset kapasitet når skift endrer kapasiteten (kilde). SkyPlanner planlegger alle autoriserte ordrer samlet med en matrise for omstillingstid, og Autopilot omplanlegger automatisk ved hver vesentlige endring. SkyPlanner-teamet setter opp og støtter toveisintegrasjonen, og Dynamics-partneren deres kan ha ansvaret for SCM-siden.
Bør SkyPlanner planlegge planlagte produksjonsordrer?
Normalt ikke. Planning Optimization genererer planlagte produksjonsordrer på nytt ved hver kjøring. SkyPlanner planlegger autoriserte produksjonsordrer med statusene som avtales under avklaringen.
Fungerer integrasjonen med lokalt installert Supply Chain Management?
Ved lokale installasjoner kjører integrasjonen via API-et for satsvis dataoverføring, som Microsoft støtter der. På SkyPlanner-siden brukes det samme REST API-et uansett, og fremgangsmåten bekreftes under avklaringen.
Kan vi teste SkyPlanner før vi bygger integrasjonen?
Ja. Den gratis prøveperioden på 30 dager støtter opptil 20 arbeidsstasjoner med CSV- eller Excel-import fra Supply Chain Management. Kredittkort er ikke nødvendig. Start prøveperioden, eller kontakt salg for å avklare integrasjonen.