Integrationer / ERP / Sage X3
Integrationsguide för Sage X3 och produktionsplanering med SkyPlanner APS
Den här guiden visar Sage-partner och IT-team hur Sage X3 ansluts till SkyPlanner APS. Den går igenom vilka X3-gränssnitt som ska användas, vilka objekt som innehåller uppgifterna och var projekten brukar gå fel. SkyPlanner integreras med Sage X3 i båda riktningarna, både i molnet och vid lokal drift:
- Tillverkningsorder, operationer, operationsföljder, produktionsgrupper, kalendrar, lagersaldon och öppna inköpsorder läses in.
- Planerade operationsdatum och produktionsgrupper skrivs tillbaka till tillverkningsorderna (GESMFG).
- Operatörernas tidsregistreringar förs över som produktionsrapportering (GESMTK).
- SkyPlanners webhooks skickar planändringar direkt när de sker.
SkyPlanner-teamet anpassar integrationen till er X3-konfiguration under införandet och ger support även efter driftstart.
Om du fortfarande funderar på om X3 alls behöver ett verktyg för finplanering som tar hänsyn till maskinernas och personalens faktiska kapacitet, läs först Har Sage X3 stöd för finplanering? En produktöversikt finns på SkyPlanner APS för Sage X3. För andra ERP-system, se översikten över ERP-integrationer.
SkyPlanners roll i en X3-miljö
Standardplaneringen i Sage X3 (FUNMAUTJ) lägger operationer i ordning utifrån operationsföljden, men planerar varje tillverkningsorder oberoende av de andra. En supportguide från Sage UK uttrycker det tydligt: funktionen ”does not delay or stagger work orders based on overall resource load.” (senarelägger eller förskjuter inte tillverkningsorder utifrån den totala resursbelastningen). Finplanering hanteras i ett separat lager, och Sage erbjuder två alternativ:
- Production Scheduler (aktivitetskod POPS), endast för lokal drift.
- Det generella gränssnittet Finite scheduler (aktivitetskod GFS), som ansluter molnbaserad eller lokalt installerad X3 till Sage X3 Web Scheduling eller ett planeringsverktyg från en oberoende programvaruleverantör.
SkyPlanner fyller den rollen som ett externt, molnbaserat planeringsverktyg via X3:s standard-API:er. Det fungerar därför likadant med X3 i molnet som vid lokal drift. MRP (FUNMRP) skapar fortfarande förslag till tillverkningsorder och inköpsorder. SkyPlanner lägger fastställda och planerade tillverkningsorder i ordning utifrån den verkliga kapaciteten.
Integrationsalternativ för Sage X3
Driftformen avgör integrationsvägen. Sage X3 i molnet ger inte tredjepartsprogram åtkomst till vare sig applikationens filsystem eller databasen. Integrationen sker därför via API:er eller en driftad filöverföringstjänst. Vid lokal drift går det även att använda direkt filimport och mellanlagringstabeller i X3-databasen.
| Alternativ | Beskrivning | Autentisering | Användningsområde |
|---|---|---|---|
| GraphQL API (Sage X3 Web API) | Sages ”technology of choice” (rekommenderade teknik) för X3-API:er; utvecklas utan versioner | JWT (HS256) signerat med Secret för en Connected application, Client ID som iss, URL som aud, särskild Syracuse-användare | Produkter, anläggningar, inköp och lager; tillverkningsnoder där de exponeras |
| REST api1 | REST baserat på representationer: .../api1/x3/$$prod/<FOLDER>.<ENTITY>?representation=<REP>.$query | Syracuse-autentisering | Entiteter som inte täcks av GraphQL |
| SOAP-webbtjänster för objekt | Objekt som publiceras i Web services (GESAWE); fälten motsvarar objektets skärmfält; read, save, modify | OAuth2 för Syracuse-anslutningspooler | Återskrivning till Work order (GESMFG) och Production tracking (GESMTK) |
| SOAP Template Services | Import- och exportmallar över SOAP via AOWSIMPORT och AOWSEXPORT | OAuth2; X3 tillåter inte Basic-autentisering för SOAP | Mallar som körs från mellanprogramvara |
| Import- och exportmallar | Mallstyrda filer för batchbearbetning | Filsystem (lokal installation) eller värdbaserad filöverföring (moln) | Initial datainläsning, nattlig synkronisering av stora datamängder |
| Sync API (Cloud BI) | Endast i molnet, inkrementellt datauttag med enbart läsåtkomst samt NDJSON-ström; tillgängligt på begäran via din ISV-kontakt hos Sage | Bearer-token samt X-API-KEY per klientorganisation | Läsning av stora mängder ändringsdata i molnet |
För GraphQL i en lokal installation måste "bearer" läggas till i arrayen session.auth i nodelocal.js. I Sage X3 SaaS är autentisering för anslutna appar aktiverad som standard. I Sage X3 Cloud kan den anslutna appen inte använda användaren admin: skapa i stället en Syracuse-användare med Standard-autentisering.
Gränssnitt för respektive dataflöde
- Produkter, anläggningar, inköp och lager: GraphQL, enligt Sages officiella exempel.
- Tillverkningsorder, operationer, operationsföljder och produktionsgrupper: REST api1-representationer eller exportmallar som körs via AOWSEXPORT. I versioner där GraphQL-schemat exponerar tillverkningsdomänen (
xtremX3Manufacturing) läser integrationen samma data där. - Operationsdatum och produktionsgrupper tillbaka till X3: SOAP-webbtjänsten Work order (GESMFG), med anropet modify. Reservalternativ: importmall via AOWSIMPORT.
- Produktionsrapportering: SOAP-webbtjänsten Production tracking (GESMTK), med anropet save.
Samma lösning fungerar med X3 både i molnet och vid lokal drift, eftersom ingen del kräver direkt åtkomst till filsystem eller databas. Inget installeras i X3: integrationen använder en ansluten applikation, en Syracuse-användare och webbtjänster som publiceras i GESAWE.
Händelser: räkna med polling
Sages offentliga utvecklardokumentation för X3 beskriver ingen funktion för utgående webhooks eller affärshändelser. Inställningen ”Callback URL”, som tillkom i 2024 R1, används av Mobile Automation och Web Scheduling när de anropar SOAP-webbtjänster. Det är inget generellt händelsesystem. Upptäck ändringar genom schemalagda läsningar: GraphQL-frågor, tidsstämpelmarkören i Sync API i molnet eller regelbundna exporter via mallar.
Datamappning från Sage X3 till SkyPlanner
| Objekt i Sage X3 (tabell, funktion) | Objekt i SkyPlanner | Riktning | Frekvens |
|---|---|---|---|
| Produkt, ITMMASTER | Produkt | X3 → SkyPlanner | Vid start, därefter schemalagt |
| Tillverkningsstycklista (GESBODP) | Produktstruktur i flera nivåer, material | X3 → SkyPlanner | Vid start, därefter vid ändring |
| Operationsföljd (GESROU): OPENUM, produktionsgrupp WST, SETTIM, OPETIM, tidsenhet TIMUOMCOD | Processteg med ställ- och körtider | X3 → SkyPlanner | Vid start, därefter vid ändring |
| Produktionsgrupp (GESMWS, WORKSTATIO): WST, WSTTYP, WSTNBR, EFF, SHR, ersättningsresurser med prioritet | Produktionsgrupp, effektivitet, alternativ | X3 → SkyPlanner | Vid start, därefter sällan |
| Gruppering av produktionsgrupper (WCR) | Grupperingar av produktionsgrupper | X3 → SkyPlanner | Vid start |
| Veckostruktur (TWD), tidsscheman, tabell över kapacitetsvariationer, DEFDIH | Skift, övertidsskift, frånvaro | X3 → SkyPlanner | Vid start, därefter vid ändring |
| Tillverkningsorder: MFGHEAD, MFGOPE, med produkter och material | Order, material, processteg | X3 → SkyPlanner | Polling, var 5 till 15 min |
| Lager per anläggning | Lagersaldon | X3 → SkyPlanner | Polling |
| Inköpsorder (POH): öppna rader, förväntat inleveransdatum | Inkommande material med förväntat leveransdatum | X3 → SkyPlanner | Polling, var 5 till 15 min |
| Fliken Operations i GESMFG: Start OPESTR, End OPEEND, produktionsgrupp | Planerad start- och sluttid samt vald produktionsgrupp | SkyPlanner → X3 | Vid ändring av planen (webhook) |
| Produktionsrapportering (GESMTK): operationstider, kvantiteter, materialrapportering, produktionsrapportering | Tidsregistreringar, kvantiteter, materialförbrukning | SkyPlanner → X3 | Vid varje återrapportering (webhook) |
Hämta alltid fastställda tillverkningsorder. Hämta även planerade order om planerarna vill se dem som preliminär belastning i Gantt-diagrammet. Förslagen ligger kvar i MRP tills de omvandlas till tillverkningsorder.
Integrationsmönster
1. Första inläsningen av grunddata. Läs först in produktionsgrupper och kalendrar, därefter produkter, stycklistor och operationsföljder, eftersom operationsföljderna refererar till produktionsgrupperna.
2. Ordersynkronisering. Läs regelbundet av MFGHEAD och MFGOPE för att hitta nya och ändrade tillverkningsorder. Mappa varje MFGOPE-rad till ett processteg i SkyPlanner på den produktionsgrupp som anges av radens WST-kod. Synkronisera öppna inköpsorder med samma intervall. SkyPlanner räknar beställt material som tillgängligt på inköpsorderns leveransdatum och uppdaterar lagersaldot när inköpsordern markeras som Delivered. Materialkontrollerna omfattar då både lager och inkommande leveranser.
3. Återföring av planen. SkyPlanners webhook utlöses när planen ändras. Integrationen anropar modify på objektet Work order (GESMFG), som publiceras som en SOAP-webbtjänst i GESAWE. Anropet uppdaterar Start (OPESTR), End (OPEEND) och produktionsgruppen för varje ändrad operation. Vid batchuppdateringar överförs samma fält med en importmall för tillverkningsorder via AOWSIMPORT. Skriv endast datum och produktionsgrupper, aldrig kvantiteter, stycklisterader eller operationsföljder.
4. Återföring av maskinval. När produktionsgrupperna mappas en till en återförs planeringsmotorns val bland alternativa maskiner som operationens produktionsgrupp. X3 registrerar därmed den maskin som faktiskt kör operationen. Om en produktionsgrupp i X3 representerar flera maskiner visar operatörens kö den enskilda maskinen. Till X3 skickas den gemensamma produktionsgruppen tillsammans med de planerade datumen.
5. Återrapportering från produktionsgolvet. Operatörerna registrerar arbete med Mobile Confirmations eller Production Timer. Integrationen för över varje återrapportering med anropet save på objektet Production tracking (GESMTK): operationstid och kvantitet i operationsrapporteringen samt materialförbrukning, om den rapporteras där. X3 tillåter endast rapportering på tillverkningsorder med status Firm. Komponenterna måste vara tillgängliga, om inte Release if shortage (MFGSHTCOD) är valt för kombinationen produkt och anläggning.
6. Tillförlitlig synkronisering. Använd ID:t för SkyPlanners tidsregistrering som nyckel för varje rapporteringspost och spara det rapporteringsnummer som skapades i X3. Då bokförs en upprepad webhook aldrig två gånger. Ta bort tillverkningsorder som stängts eller annullerats i X3 från planen vid nästa avläsning. Logga avvisade anrop med X3:s felmeddelande i stället för att försöka igen utan kontroll. Lägg ändringar i kö när X3 inte går att nå, så att de förs över i rätt ordning när anslutningen fungerar igen.
7. Ansvar för data. X3 styr vad som tillverkas: produkt, kvantitet, stycklista, operationsföljd och anläggning. SkyPlanner styr när och var: ordningsföljd, produktionsgrupp samt start- och sluttider. Kom överens om att planerarna slutar planera om i Planning workbench och slutar köra FUNMAUTJ för order som hanteras av SkyPlanner. Annars skrivs deras ändringar över vid nästa återföring.
Vanliga projektsteg
Implementeringen är normalt klar inom några veckor efter att införandet har startat. Ett Sage X3-projekt omfattar:
- Test med egna data. Exportera produktionsgrupper, operationsföljder och en ögonblicksbild av öppna tillverkningsorder med X3:s exportmallar eller Excel. Importera dem sedan som CSV. Justera skift, effektivitet och prioriteringar tills Gantt-diagrammet stämmer med verkligheten.
- Mappning av grunddata. Mappa produktionsgrupper i GESMWS till produktionsgrupper i SkyPlanner, operationer i GESROU till processteg samt tidsenheter och veckostrukturer till skift. Rätta samtidigt till operationer som saknar produktionsgrupp, dagar utan tidsscheman och felaktiga tidsenheter.
- Första inläsningen. Produkter, produktionsstycklistor, operationsföljder och produktionsgrupper, därefter kalendrar.
- Synkronisering av order och inköpsorder. Ansluten applikation, Syracuse-användare, GraphQL-frågor eller mallexporter samt ett jobb som regelbundet hämtar tillverkningsorder, lagersaldon och öppna inköpsorder.
- Återskrivning av produktionsplanen. SOAP-webbtjänsten Work order publicerad i GESAWE, med felhantering och loggning.
- Återrapportering från produktionsgolvet. Rapporter från Mobile Confirmations skickas till X3 via webbtjänsten Production tracking (GESMTK).
- Testning parallellt med den befintliga planen. Planerarna jämför båda planerna före övergången.
- Driftsättning. Stäng av manuell omplanering i X3 för order som hanteras av SkyPlanner.
Fallgropar i Sage X3
- Förslag är inte tillverkningsorder. MRP-förslag saknar operationsrader i MFGOPE tills de har omvandlats till planerade eller fastlagda tillverkningsorder. Planera därför omvandlade order, inte förslag.
- Luckor i kalendern. För en arbetsdag utan arbetstidsschema används standardschemat DEFDIH. En tom dag utan standardschema ger felaktiga datum och felaktig beläggning. Tilldela varje arbetsdag i varje veckostruktur ett arbetstidsschema innan du exporterar kalendrarna.
- Inaktuell beläggning per period. När kapaciteten eller kalendern ändras uppdateras inte den befintliga beläggningen per period i X3 förrän du planerar om och kör Recalculate loads (FUNMIWL). Validera inte SkyPlanner mot inaktuella uppgifter i Loads inquiry (CONSMWK).
- No. of resources anger bemanningen. WSTNBR är antalet resurser som en operation behöver i produktionsgruppen, till exempel tre personer i en personalbaserad produktionsgrupp. Mappa det till antalet operatörer i SkyPlanners produktionsgrupp, där flera personer kan planeras in på samma operation samtidigt. På anläggningar som har använt det avancerade GFS-gränssnittet är värdet satt till 1, enligt Sages krav. Kontrollera därför var den faktiska bemanningen anges.
- Operationer utan produktionsgrupp i en operationsföljd kan inte placeras i en produktionsgrupp i SkyPlanner. De flaggas vid mappningen.
- Tidsenheter och ersättande produktionsgrupper. Tiderna i operationsföljden har en egen tidsenhet (TIMUOMCOD), och ersättande produktionsgrupper har en prioritet. Mappa båda uttryckligen och kör mappningskontrollen igen efter varje X3-uppgradering.
- Låsta order. Om anläggningen även har använt Production Scheduler har order som skickats dit statusen Being optimized. De kan inte ändras förrän de har tagits bort från planeringen (PSOPTFREE). Frigör dem före övergången.
Vem konfigurerar integrationen med Sage X3?
Arbetet omfattar att mappa era mappar, principer för operationsföljder, strukturer för produktionsgrupper och kundspecifika anpassningar till SkyPlanner. Det omfattar också begränsningar som X3 inte lagrar som planeringsbara data: ställtidsmatris, verktyg, antal operatörer och alternativa resurser.
- SkyPlanner-teamet konfigurerar integrationen under införandet och ger support efter driftsättningen. Varje fabrik använder X3 på sitt sätt, och här kommer den kunskapen till användning. Teamet ansluter er X3-endpoint, i molnet eller lokalt, validerar era grunddata vid mappningen och loggar avvisade anrop från X3 för uppföljning. Integrationen har en tydlig ansvarig från dag ett, och ni behöver ingen egen integrationsutvecklare.
- Er Sage-partner kan medverka. Partnern känner till era mappar, aktivitetskoder och kundspecifika anpassningar och kan tillsammans med teamet granska den anslutna applikationen, Syracuse-användaren och publiceringarna i GESAWE.
- Era egna utvecklare kan bygga vidare på integrationen. SkyPlanners REST API läser och skriver order, produkter, material, processteg och tidsregistreringar, med JWT-autentisering och Swagger/OpenAPI-dokumentation (API-referens). En API-nyckel räcker för att komma igång, och integrationsguiden går igenom de första anropen. SkyPlanner-teamet hjälper till vid behov. SkyPlanners dokumentation beskriver produkter och material samt inköpsorder. Hos Laboratory & Allied anslöt det interna IT-teamet SkyPlanner till SAP Business One till stor del på egen hand, med hjälp från SkyPlanner.
Därför väljer X3-team SkyPlanner för produktionsplaneringen
Välj SkyPlanner när ni vill vara i drift inom några veckor, inte efter ett APS-projekt som tar flera månader.
Välj SkyPlanner när ni vill ha planeringen igång innan integrationen är klar.
Under provperioden planerar planerarna utifrån CSV-filer medan läsning från och återskrivning till X3 konfigureras. När integrationen är igång ersätter den filimporten.
Välj SkyPlanner när ni vill ha en integration som kräver lite infrastruktur.
Webhooks skickar plan- och statusändringar i realtid, så mellanprogramvaran behöver bara göra periodiska anrop mot X3. Motorn Arcturus AI skapar planen på några sekunder, och Autopilot planerar om automatiskt när produktionen förändras.
Välj SkyPlanner när era X3-data ska ligga till grund för en modell som tar hänsyn till verkliga begränsningar.
Bemanningen omsätts till flera operatörer i samma produktionsgrupp, och ersättande produktionsgrupper blir alternativa maskiner. Ställtidsmatrisen lägger till sekvensberoende omställningstider mellan produkter. Verktyg hanteras som begränsade resurser, så en fixtur som används på en maskin bokas aldrig på en annan samtidigt.
Välj SkyPlanner när produktionsuppföljningen ska börja på produktionsgolvet.
Operatörerna registrerar arbetet på mobil eller surfplatta med Mobile Confirmations, Production Timer och Quick Log Mode. Samma tidsregistreringar skickas till X3 som produktionsåterrapportering.
Priset börjar på 199 € per månad med 5 produktionsgrupper inkluderade och månadsvis fakturering. Ni får en offert på integrationen utifrån era processer och behov, tillsammans med ert abonnemang, så att ni ser hela kostnaden innan ni börjar. Se priser och funktioner, eller starta en kostnadsfri provperiod på 30 dagar med upp till 20 produktionsgrupper och utan kreditkort.
Tillverkningsföretagens omdömen om SkyPlanner
2 hsparas varje vecka
”SkyPlanner har tagit vår produktionsplanering från Excel-kalkylblad till produktionsoptimering i realtid.”
Kalle Kalliomäki, specialist inom försörjningskedjan
UTU · Elcentraler och ställverk
Produktionsplaneringen sparar 2 timmars arbetstid varje vecka, och en ny körplan når produktionslinjen på några sekunder.
+90%produktionseffektivitet
”Effektiviteten i produktionen har ökat med 90%.”
Abdul Rucyinga, IT-chef
Laboratory & Allied · Läkemedelstillverkning
Produktionseffektiviteten har ökat med 90%, och det tar mindre än 30 minuter att skapa en optimerad plan för tre månader som omfattar alla produktionsgrupper.
98%leveransprecision, upp från cirka 50%
”SkyPlanner spelar en avgörande roll för att upprätthålla vår leveransprecision.”
Hannu Lahtinen, vd
KJH-Comp · Tunnplåtsmekanik och kontraktstillverkning
Leveransprecisionen steg från cirka 50% till som mest 98%, och planeringen kräver nu en arbetsledare i stället för två.
99,2%leveransprecision
”SkyPlanner har gjort det lättare att se flaskhalsar och gjort produktionsstyrningen tydligare.”
Toni Tuori, produktionschef
Piristeel · Taksäkerhet och takavvattningssystem
Leveransprecisionen nådde 99,2% i år, och planeringen sparar upp till fyra timmars arbetstid per dag.
Vanliga frågor
Hur integreras SkyPlanner APS med Sage X3?
I båda riktningarna via GraphQL, REST api1, SOAP-webbtjänster och mallar. Tillverkningsorder, operationsföljder och produktionsgrupper läses in. Planerade operationsdatum och registrerade timmar skickas tillbaka via webhooks när planen ändras. SkyPlanner-teamet konfigurerar integrationen under införandet, eller så bygger er Sage X3-partner eller era utvecklare vidare med SkyPlanners REST API.
Hur skrivs operationsdatum tillbaka till Sage X3?
Via objektet Work order (GESMFG), som publiceras som en SOAP-webbtjänst i funktionen Web services (GESAWE). Dess modify-operation uppdaterar Start (OPESTR), End (OPEEND) och produktionsgruppen för varje operation. Vid batchuppdateringar körs en importmall för tillverkningsorder via AOWSIMPORT. Timmar och kvantiteter rapporteras via objektet Production tracking (GESMTK).
Ska vi använda GraphQL eller SOAP-webbtjänster?
Båda, där respektive teknik är starkast. GraphQL är det API som Sage rekommenderar och läser produkter, anläggningar, inköp och lagersaldon både i molnet och lokalt. SOAP-webbtjänster för objekt skriver produktionsplanen och produktionsåterrapporteringen, medan SOAP Template Services kör import- och exportmallar för större datamängder.
Hur undviker vi dubbla registreringar eller förlorade ändringar?
Använd SkyPlanners tidsregistrerings-ID som nyckel för varje registrering i Production tracking och spara det återrapporteringsnummer som X3 returnerar. Då kan upprepade webhook-anrop identifieras och hoppas över. Köa ändringarna medan X3 inte går att nå och skicka dem i ordning när systemet är tillgängligt igen. Logga avvisade registreringar, till exempel återrapportering på en tillverkningsorder som inte har status Firm, tillsammans med felmeddelandet från X3.
Behöver vi aktivitetskoderna POPS eller GFS för SkyPlanner?
Nej. De aktiverar Sages egen Production Scheduler och det generiska gränssnittet till Web Scheduling. SkyPlanner läser tillverkningsorder via GraphQL, REST api1 eller mallar och skriver tillbaka via SOAP-webbtjänsterna Work order och Production tracking.
Hur hämtar SkyPlanner nya tillverkningsorder från Sage X3?
Integrationen läser av X3 med korta intervall via GraphQL, REST api1 eller mallexporter, eller via Sync API i molnet. I andra riktningen skickar SkyPlanners webhooks ändringar i produktionsplanen så snart de sker.
Kan vi testa med data från Sage X3 innan vi bygger något?
Ja. Importera CSV-exporter av produktionsgrupper, operationsföljder och öppna tillverkningsorder under provperioden på 30 dagar. Kontakta säljteamet för att fastställa omfattningen av själva X3-integrationen.