Integrationer / ERP / Sage X3

Guide til integration af Sage X3 med SkyPlanner APS til detailplanlægning

Denne guide viser Sage-partnere og IT-teams, hvordan Sage X3 forbindes med SkyPlanner APS. Den gennemgår, hvilke X3-grænseflader I skal bruge, hvilke objekter der indeholder dataene, og hvor projekter går galt. SkyPlanner integrerer med Sage X3 i begge retninger, både i skyen og lokalt:

  • Produktionsordrer, operationer, ruter, arbejdscentre, kalendere, lagerbeholdninger og åbne indkøbsordrer overføres til SkyPlanner.
  • Planlagte operationsdatoer og arbejdscentre skrives tilbage til produktionsordrerne (GESMFG).
  • Operatørernes tidsregistreringer bogføres som produktionsregistreringer (GESMTK).
  • SkyPlanner-webhooks sender ændringer i planen, så snart de sker.
Gantt-tidslinje i SkyPlanner APS med opgaver fordelt på arbejdsstationer og en ordreliste nedenunder.

SkyPlanner-teamet konfigurerer integrationen til jeres X3-opsætning under opstarten og yder support efter idriftsættelsen.

Hvis I stadig overvejer, om X3 overhovedet har brug for et værktøj til produktionsplanlægning, der tager hensyn til maskinernes og medarbejdernes faktiske kapacitet, så læs først Har Sage X3 produktionsplanlægning? Se produktoversigten på SkyPlanner APS til Sage X3 og andre ERP-systemer i oversigten over ERP-integrationer.

SkyPlanners rolle i et X3-systemlandskab

Standardplanlægningen i Sage X3 (FUNMAUTJ) fastlægger rækkefølgen af operationer ud fra rutedata, men planlægger hver produktionsordre uafhængigt af de øvrige. En supportvejledning fra Sage UK siger det klart: Funktionen “does not delay or stagger work orders based on overall resource load.” (udskyder eller forskyder ikke produktionsordrer ud fra den samlede ressourcebelastning). Produktionsplanlægning, der tager hensyn til den tilgængelige ressourcekapacitet, ligger i et separat lag, og Sage tilbyder to muligheder:

  • Production Scheduler (aktivitetskode POPS), kun til lokale installationer.
  • Det generiske Finite scheduler interface (aktivitetskode GFS), som forbinder X3 i skyen eller lokalt med Sage X3 Web Scheduling eller et planlægningsværktøj fra en uafhængig softwareleverandør.

SkyPlanner udfylder denne rolle som et eksternt, cloudbaseret planlægningsværktøj via X3’s standard-API’er. Derfor fungerer det på samme måde med X3 i skyen og lokalt. MRP (FUNMRP) opretter fortsat forslag til produktionsordrer og indkøbsordrer. SkyPlanner planlægger rækkefølgen af fastlagte og planlagte produktionsordrer ud fra den faktiske kapacitet.

Integrationsmuligheder i Sage X3

Driftsformen afgør integrationsvejen. Sage X3 i skyen giver hverken tredjepartsapplikationer adgang til applikationens filsystem eller databasen, så integrationen foregår via API’er eller en hostet filoverførselstjeneste. Med en lokal installation kan I også bruge direkte filimport og staging-tabeller i X3-databasen.

MulighedBeskrivelseAutentificeringAnvendelse
GraphQL API (Sage X3 Web API)Sages “technology of choice” (foretrukne teknologi) til X3-API’er; videreudvikles uden versionerJWT (HS256) signeret med Secret fra en Connected application, Client ID som iss, URL som aud, dedikeret Syracuse-brugerProdukter, lokationer, indkøb og lager; produktionsnoder, hvor de er tilgængelige
REST api1REST baseret på repræsentationer: .../api1/x3/$$prod/<FOLDER>.<ENTITY>?representation=<REP>.$querySyracuse-autentificeringEntiteter, som GraphQL ikke dækker
SOAP-webtjenester til objekterObjekter publiceret i Web services (GESAWE); felterne svarer til objektets skærmfelter; læsning, lagring og ændringOAuth2 på Syracuse-forbindelsespuljerTilbageskrivning til Work order (GESMFG) og Production tracking (GESMTK)
SOAP Template ServicesImport-/eksportskabeloner over SOAP via AOWSIMPORT og AOWSEXPORTOAuth2; X3 tillader ikke Basic-autentificering til SOAPSkabeloner, der køres fra middleware
Import-/eksportskabelonerSkabelonstyrede batchfilerFilsystem (lokal installation) eller hostet filoverførsel (cloud)Indledende dataindlæsning og natlig massesynkronisering
Sync API (Cloud BI)Kun til cloud og kun til læsning: inkrementelt dataudtræk samt NDJSON-stream; fås på anmodning via din Sage ISV-repræsentantBearer-token samt X-API-KEY pr. tenantLæsning af store mængder ændringer i cloud

Ved lokal installation kræver GraphQL, at "bearer" føjes til arrayet session.auth i nodelocal.js. På Sage X3 SaaS er autentificering af tilknyttede apps aktiveret som standard. På Sage X3 Cloud kan den tilknyttede app ikke bruge admin-brugeren: Opret i stedet en Syracuse-bruger med Standard-autentificering.

Hvilke grænseflader bruges til hvilke dataflow?

  • Produkter, lokationer, indkøb og lager: GraphQL, som i Sages officielle eksempler.
  • Produktionsordrer, operationer, ruter og arbejdscentre: REST api1-repræsentationer eller eksportskabeloner, der køres via AOWSEXPORT. I versioner, hvor GraphQL-skemaet giver adgang til produktionsdomænet (xtremX3Manufacturing), læser integrationen de samme data derfra.
  • Operationsdatoer og arbejdscentre tilbage til X3: SOAP-webservicen Work order (GESMFG), operationen modify. Alternativ: importskabelon via AOWSIMPORT.
  • Produktionsregistrering: SOAP-webservicen Production tracking (GESMTK), operationen save.

Samme løsning fungerer med X3 i skyen og lokalt, fordi ingen af delene kræver direkte adgang til filsystemet eller databasen. Der installeres intet i X3: Integrationen bruger en tilsluttet applikation, en Syracuse-bruger og webservices publiceret i GESAWE.

Hændelser: Regn med polling

Sages offentlige udviklerdokumentation til X3 beskriver ingen funktion til udgående webhooks eller forretningshændelser. Indstillingen “Callback URL”, som blev tilføjet i 2024 R1, bruges af Mobile Automation og Web Scheduling, når de kalder SOAP-webservices. Det er ikke et generelt hændelsessystem. Registrér ændringer ved at læse data med faste intervaller: via GraphQL-forespørgsler, Sync API’s tidsstempelmarkør i skyen eller periodiske eksporter med skabeloner.

Datamapping: Sage X3 til SkyPlanner

Sage X3-objekt (tabel, funktion)SkyPlanner-objektRetningHyppighed
Product, ITMMASTERProductX3 → SkyPlannerVed opstart, derefter med faste intervaller
Production BOM (GESBODP)Produktstruktur i flere niveauer, materialerX3 → SkyPlannerVed opstart, derefter ved ændringer
Routing (GESROU): OPENUM, arbejdscenter WST, SETTIM, OPETIM, tidsenhed TIMUOMCODProcestrin med opstillings- og køretiderX3 → SkyPlannerVed opstart, derefter ved ændringer
Work center (GESMWS, WORKSTATIO): WST, WSTTYP, WSTNBR, EFF, SHR, alternativer med prioritetArbejdsstation, effektivitet, alternativerX3 → SkyPlannerVed opstart, sjældent derefter
Work center group (WCR)Grupper af arbejdsstationerX3 → SkyPlannerVed opstart
Ugestruktur (TWD), arbejdstidsskemaer, tabel over kapacitetsvariationer, DEFDIHSkift, overtidsskift, fraværX3 → SkyPlannerVed opstart, derefter ved ændringer
Produktionsordrer: MFGHEAD, MFGOPE, med produkter og materialerOrdre, materialer, procestrinX3 → SkyPlannerPolling, 5 til 15 min
Lagerbeholdning pr. lokationLagerbeholdningerX3 → SkyPlannerPolling
Indkøbsordrer (POH): åbne linjer, forventet modtagelsesdatoIndgående materialer med forventet leveringsdatoX3 → SkyPlannerPolling, 5 til 15 min
Fanen Operations i GESMFG: Start OPESTR, End OPEEND, arbejdscenterPlanlagt start, slut og valgt arbejdsstationSkyPlanner → X3Ved ændringer i planen (webhook)
Production tracking (GESMTK): operationstider, mængder, materialeregistrering, produktionsrapporteringTidsregistreringer, mængder, materialeforbrugSkyPlanner → X3Ved hver tilbagemelding (webhook)

Hent altid fastlagte produktionsordrer. Hent også de planlagte, hvis planlæggerne vil se dem i Gantt-diagrammet som foreløbig belastning. Forslag bliver i MRP, indtil de omdannes til produktionsordrer.

Integrationsmønstre

1. Første indlæsning af stamdata. Indlæs først arbejdscentre og kalendere, derefter produkter, styklister og ruter, fordi ruterne refererer til arbejdscentre.

2. Synkronisering af ordrer. Brug polling af MFGHEAD og MFGOPE til at hente nye og ændrede produktionsordrer. Map hver MFGOPE-linje til et procestrin i SkyPlanner på den arbejdsstation, som WST-koden angiver. Synkronisér åbne indkøbsordrer med samme interval. SkyPlanner regner bestilte materialer som tilgængelige på indkøbsordrens leveringsdato og opdaterer lagerbeholdningen, når indkøbsordren markeres som Delivered. Materialekontrollen omfatter dermed både lagerbeholdning og indgående leverancer.

3. Tilbageskrivning af planen. SkyPlanners webhook udløses, når planen ændres. Integrationen kalder operationen modify på objektet Work order (GESMFG), der er publiceret som en SOAP-webservice i GESAWE. Den opdaterer Start (OPESTR), End (OPEEND) og arbejdscentret på hver ændret operation. Ved batchopdateringer overføres de samme felter via en importskabelon til produktionsordrer gennem AOWSIMPORT. Skriv kun datoer og arbejdscentre tilbage, aldrig mængder, styklistelinjer eller ruter.

4. Maskinvalget tilbage til X3. Når arbejdscentre mappes én til én, skrives den maskine, som motoren vælger blandt alternativerne, tilbage som operationens arbejdscenter. Dermed registrerer X3 den maskine, der faktisk udfører opgaven. Når et arbejdscenter i X3 repræsenterer en gruppe maskiner, viser operatørens opgavekø den enkelte maskine. X3 modtager gruppens arbejdscenter sammen med de planlagte datoer.

5. Tilbagemeldinger fra produktionsgulvet. Operatørerne registrerer arbejdet med Mobile Confirmations eller Production Timer. Integrationen bogfører hver tilbagemelding med operationen save på objektet Production tracking (GESMTK): operationstid og mængde i operationsregistreringen samt materialeforbrug, hvis I registrerer det der. X3 accepterer kun registreringer på produktionsordrer med status Firm, og komponenterne skal være tilgængelige, medmindre Release if shortage (MFGSHTCOD) er valgt for produktet på den pågældende lokation.

6. Pålidelig synkronisering. Brug ID’et fra SkyPlanners tidsregistrering som nøgle for hver produktionsregistrering, og gem det registreringsnummer, der oprettes i X3. Så bliver en gentaget webhook aldrig bogført to gange. Fjern produktionsordrer, der er lukket eller annulleret i X3, fra planen ved næste polling. Log afviste kald med fejlmeddelelsen fra X3 i stedet for at prøve igen i blinde. Sæt ændringer i kø, mens X3 ikke kan nås, så de bogføres i rækkefølge, når forbindelsen er tilbage.

7. Regler for dataansvar. X3 bestemmer, hvad der fremstilles: produkt, mængde, stykliste, rute og lokation. SkyPlanner bestemmer hvornår og hvor: rækkefølge, arbejdsstation samt start- og sluttider. Aftal, at planlæggerne ikke længere omplanlægger i Planning workbench eller kører FUNMAUTJ på ordrer, der styres af SkyPlanner. Ellers overskrives deres ændringer ved næste tilbageskrivning.

Typiske trin i projektet

Implementeringen afsluttes normalt i løbet af uger efter opstarten. Et Sage X3-projekt omfatter:

  1. Afprøvning med jeres egne data. Eksportér arbejdscentre, ruter og et øjebliksbillede af åbne produktionsordrer med X3-eksportskabeloner eller Excel, og importér dem som CSV. Tilpas skift, effektivitetsgrader og prioriteter, indtil Gantt-diagrammet stemmer med virkeligheden.
  2. Mapping af stamdata. Map GESMWS-arbejdscentre til arbejdsstationer, GESROU-operationer til procestrin samt tidsenheder og ugestrukturer til skift. Ret undervejs ruteoperationer uden arbejdscentre, dage uden arbejdstidsskemaer og forkerte tidsenheder.
  3. Første indlæsning. Produkter, produktionsstyklister, ruter og arbejdscentre, derefter kalendere.
  4. Synkronisering af ordrer og indkøbsordrer. Tilsluttet applikation, Syracuse-bruger, GraphQL-forespørgsler eller skabeloneksporter samt en pollingopgave til produktionsordrer, lagerbeholdning og åbne indkøbsordrer.
  5. Tilbageskrivning af planen. SOAP-webservicen Work order publiceret i GESAWE med fejlhåndtering og logning.
  6. Tilbagemeldinger fra produktionsgulvet. Mobile Confirmations overføres til X3 via webservicen Production tracking (GESMTK).
  7. Test parallelt med den nuværende plan. Planlæggerne sammenligner de to planer, før de skifter.
  8. Idriftsættelse. Deaktivér manuel omplanlægning i X3 for ordrer, der styres af SkyPlanner.

Faldgruber i Sage X3

  • Forslag er ikke produktionsordrer. MRP-forslag har ingen MFGOPE-operationslinjer, før de konverteres til planlagte eller fastlagte produktionsordrer. Planlæg derfor de konverterede ordrer, ikke forslagene.
  • Huller i kalenderen. For en arbejdsdag uden en tidsplan bruges standardskemaet DEFDIH. En tom dag uden et standardskema giver forkerte datoer og belastninger. Tildel hver arbejdsdag i hver ugestruktur en tidsplan, før du eksporterer kalenderne.
  • Forældede belastningsperioder. Når kapaciteten eller kalenderen ændres, opdateres de eksisterende belastningsperioder i X3 først, når du omplanlægger og kører Recalculate loads (FUNMIWL). Validér ikke SkyPlanner op mod en forældet Loads inquiry (CONSMWK).
  • No. of resources angiver bemandingen. WSTNBR er det antal ressourcer, en operation kræver på arbejdscentret, for eksempel tre personer på et arbejdscenter for manuel arbejdskraft. Knyt det til antallet af operatører på arbejdsstationen i SkyPlanner, som kan planlægge flere personer på samme opgave samtidig. På fabrikker, der har brugt GFS advanced interface, er værdien sat til 1, som Sage kræver. Kontrollér derfor, hvor den faktiske bemanding er registreret.
  • Ruteoperationer uden et arbejdscenter kan ikke placeres på en arbejdsstation. De markeres under datamappingen.
  • Tidsenheder og alternative arbejdscentre. Rutetider har deres egen tidsenhed (TIMUOMCOD), og alternative arbejdscentre har en prioritet. Map begge dele eksplicit, og kør kontrollen af datamappingen igen efter hver X3-opgradering.
  • Låste ordrer. Hvis fabrikken også har brugt Production Scheduler, har ordrer, der er sendt dertil, status Being optimized. De kan ikke ændres, før de fjernes fra planlægningen (PSOPTFREE). Frigiv dem før overgangen.

Hvem konfigurerer integrationen med Sage X3?

Arbejdet omfatter mapping af jeres mapper, rutepraksis, arbejdscenterstrukturer og specialudviklede løsninger til SkyPlanner. Det omfatter også de begrænsninger, som X3 ikke gemmer som data til detailplanlægning: omstillingstidsmatrix, værktøjer, antal operatører og alternative ressourcer.

  1. SkyPlanner-teamet konfigurerer integrationen under opstarten og yder support efter idriftsættelsen. Hver fabrik bruger X3 på sin egen måde, og den viden indgår i arbejdet. Teamet tilslutter jeres X3-endpoint, i skyen eller lokalt, validerer jeres stamdata under datamappingen og logger afvisninger fra X3 til opfølgning. Fra dag ét er det klart, hvem der har ansvaret for integrationen, og I behøver ikke en intern integrationsudvikler.
  2. Jeres Sage-partner kan deltage. Partneren kender jeres mapper, aktivitetskoder og specialudviklede løsninger og kan gennemgå den tilsluttede applikation, Syracuse-brugeren og GESAWE-publiceringerne sammen med teamet.
  3. Jeres egne udviklere kan bygge videre på integrationen. SkyPlanners REST API læser og skriver ordrer, produkter, materialer, procestrin og tidsregistreringer med JWT-autentificering og Swagger/OpenAPI-dokumentation (API-reference). En API-nøgle er nok til at komme i gang, og integrationsvejledningen gennemgår de første kald. SkyPlanner-teamet hjælper efter behov. SkyPlanner-dokumentationen dækker produkter og materialer samt indkøbsordrer. Hos Laboratory & Allied forbandt det interne IT-team stort set selv SkyPlanner med SAP Business One med hjælp fra SkyPlanner.

Derfor vælger X3-teams SkyPlanner til detailplanlægning

Vælg SkyPlanner, når I vil i drift på få uger, ikke efter et APS-projekt, der varer flere måneder.

Vælg SkyPlanner, når I vil have detailplanlægningen i gang, før integrationen er færdig.

I prøveperioden planlægger planlæggerne ud fra CSV-filer, mens læsning fra og tilbageskrivning til X3 konfigureres. Når integrationen kører, overtager den filimportens rolle.

Vælg SkyPlanner, når I vil holde integrationen enkel.

Webhooks sender plan- og statusændringer i realtid, så middleware kun behøver at polle X3. Arcturus AI-motoren udarbejder planen på få sekunder, og Autopilot omplanlægger automatisk, når produktionen ændrer sig.

Vælg SkyPlanner, når jeres X3-data skal bruges i en model, der tager højde for de reelle begrænsninger.

Bemandingen omsættes til flere operatører på én arbejdsstation, og alternative arbejdscentre bliver til alternative maskiner. Omstillingstidsmatrixen tilføjer rækkefølgeafhængige omstillinger mellem produkter. Værktøjer er ressourcer med begrænset kapacitet, så et fikstur, der er i brug på én maskine, bliver aldrig booket på en anden.

Vælg SkyPlanner, når produktionsregistreringen skal begynde på produktionsgulvet.

Operatørerne registrerer arbejdet på telefon eller tablet med Mobile Confirmations, Production Timer og Quick Log Mode. De samme tidsregistreringer overføres til X3 som produktionsregistreringer.

Prisen starter fra 199 € pr. måned med 5 arbejdsstationer inkluderet og månedlig fakturering. I får på forhånd et tilbud på integrationen ud fra jeres proces og behov sammen med jeres abonnement, så I kender den samlede pris, før I starter. Se priser og funktioner, eller start den gratis prøveperiode på 30 dage med op til 20 arbejdsstationer uden kreditkort.

Produktionsvirksomheders erfaringer med SkyPlanner

Kalle Kalliomäki, forsyningskædespecialist hos UTU, i eltavleproduktionen i Ulvila

2 hsparet hver uge

“SkyPlanner har flyttet vores produktionsplanlægning fra Excel-regneark til optimering af produktionen i realtid.”

Kalle Kalliomäki, forsyningskædespecialist
UTU · Eltavler og koblingsanlæg

Produktionsplanlægningen sparer 2 timers arbejdstid hver uge, og en ny opgavekø når ud til linjen på få sekunder.

Læs om UTU’s erfaringer

Operatører i renrumsdragter ved en flaskepåfyldningslinje på Laboratory & Allieds lægemiddelfabrik i Nairobi

+90%produktionseffektivitet

“Effektiviteten i produktionen er steget med 90%.”

Abdul Rucyinga, IT-chef
Laboratory & Allied · Lægemiddelproduktion

Produktionseffektiviteten er steget med 90%, og det tager under 30 minutter at udarbejde en optimeret plan for tre måneder på tværs af alle arbejdsstationer.

Læs om Laboratory & Allieds erfaringer

En svejser hos KJH-Comp sliber en svejst stålkonstruktion på fabrikken i Alahärmä

98%leveringssikkerhed, steget fra cirka 50%

“SkyPlanner spiller en afgørende rolle i at fastholde vores leveringssikkerhed.”

Hannu Lahtinen, administrerende direktør
KJH-Comp · Pladebearbejdning og kontraktproduktion

Leveringssikkerheden steg fra omkring 50% til helt op på 98%, og detailplanlægningen kræver nu én arbejdsleder i stedet for to.

Læs om KJH-Comps erfaringer

Luftfoto af Piristeels fabrik for tagsikkerhedsprodukter i Kauhava

99,2%leveringssikkerhed

“SkyPlanner har givet os overblik, så vi kan identificere flaskehalse, og gjort produktionsstyringen mere overskuelig.”

Toni Tuori, produktionschef
Piristeel · Tagsikkerhed og regnvandssystemer

Leveringssikkerheden nåede op på 99,2% i år, og detailplanlægningen sparer op til fire timers arbejdstid om dagen.

Læs om Piristeels erfaringer

Ofte stillede spørgsmål

Hvordan integreres SkyPlanner APS med Sage X3?

I begge retninger via GraphQL, REST api1, SOAP-webservices og skabeloner. Produktionsordrer, ruter og arbejdscentre læses ind. Planlagte operationsdatoer og registrerede timer sendes tilbage via webhooks, når planen ændres. SkyPlanner-teamet konfigurerer integrationen under opstarten, eller jeres Sage X3-partner eller udviklere bygger den ved hjælp af SkyPlanners REST API.

Hvordan skrives operationsdatoer tilbage til Sage X3?

Via objektet Work order (GESMFG), der publiceres som en SOAP-webservice i funktionen Web services (GESAWE). Dets modify-operation opdaterer Start (OPESTR), End (OPEEND) og arbejdscentret på hver operation. Ved batchopdateringer køres en importskabelon til produktionsordrer via AOWSIMPORT. Timer og mængder overføres via objektet Production tracking (GESMTK).

Skal vi bruge GraphQL eller SOAP-webservices?

Begge dele, dér hvor de hver især er stærkest. GraphQL er det API, Sage anbefaler, og læser produkter, lokationer, indkøb og lagerbeholdning både i skyen og i lokale installationer. SOAP-objektwebservices skriver planen og produktionsregistreringerne, og SOAP Template Services kører import- og eksportskabeloner til masseindlæsning.

Hvordan undgår vi dobbeltregistreringer eller mistede ændringer?

Brug SkyPlanners tidsregistrerings-ID som nøgle for hver overførsel til Production tracking, og gem det registreringsnummer, X3 returnerer, så en gentaget webhook genkendes og springes over. Sæt ændringer i kø, mens X3 ikke kan nås, og overfør dem i rækkefølge, når forbindelsen er tilbage. Log afvisninger sammen med X3’s fejlmeddelelse, for eksempel en registrering på en produktionsordre, der ikke har status Firm.

Har vi brug for aktivitetskoderne POPS eller GFS til SkyPlanner?

Nej. De aktiverer Sages egen Production Scheduler og den generiske grænseflade til Web Scheduling. SkyPlanner læser produktionsordrer via GraphQL, REST api1 eller skabeloner og skriver tilbage via SOAP-webservicerne Work order og Production tracking.

Hvordan henter SkyPlanner nye produktionsordrer fra Sage X3?

Integrationen henter data fra X3 med korte intervaller via GraphQL, REST api1 eller skabeloneksporter, eller via Sync API i cloudmiljøer. I den modsatte retning sender SkyPlanners webhooks ændringer i produktionsplanen, så snart de sker.

Kan vi teste med data fra Sage X3, før vi bygger noget?

Ja. Importér CSV-eksporter med arbejdscentre, ruter og åbne produktionsordrer i løbet af prøveperioden på 30 dage. Kontakt salg for at afklare omfanget af selve X3-integrationen.