Integrationer / ERP / QAD Adaptive ERP

Guide til integration af QAD Adaptive ERP med SkyPlanner APS til produktionsplanlægning

Denne integrationsguide viser partnere og IT-teams, hvordan QAD Adaptive ERP forbindes med SkyPlanner APS. Det gælder også installationer af de tidligere QAD Enterprise Edition og MFG/PRO. SkyPlanner integreres med QAD Adaptive ERP i begge retninger via QAD’s egne grænseflader:

  • Produktionsordrer med tilhørende operationer, varer, produktstrukturer, ruter, arbejdscentre, produktionskalendere, lagerbeholdninger og indkøbsordrer overføres til SkyPlanner.
  • De planlagte frigivelses- og færdigdatoer sendes tilbage til Work Order Maintenance (16.1).
  • Operatørernes tidsregistreringer bogføres i QAD via Labor Feedback by Work Order (16.20.1), og færdigmeldte mængder via Work Order Receipt (16.11).
  • 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 tilpasser integrationen til jeres QAD-opsætning under opstarten og yder support efter idriftsættelsen. Denne guide er til partnere og udviklere, der vil deltage eller selv bygge videre på SkyPlanners dokumenterede REST API (API-reference).

QAD’s integrationsgrænseflader

QAD giver et eksternt planlægningssystem tre integrationsmuligheder:

  1. QAD QXtend Inbound (QXI). QAD beskriver det som “a Web services-based, SOAP-compliant, XML framework, enabling complete platform-independent access to QAD Enterprise Applications business functionality.” (Et XML-framework baseret på webservices, som overholder SOAP og giver fuld, platformsuafhængig adgang til forretningsfunktionerne i QAD Enterprise Applications.) Hver forespørgsel er et QDoc, som kører et QAD-program med samme validering som i skærmbilledet og returnerer et QDoc som svar. De udgivne QDocs omfatter maintainItemMaster, maintainRouting og maintainPurchaseOrder. Til programmer uden et udgivet QDoc mapper QAD’s QGen-værktøj menuprogrammet: “QGen is used to map custom programs or QAD Enterprise Applications programs that do not have released QDoc schemas and events files.” (QGen bruges til at mappe tilpassede programmer eller programmer i QAD Enterprise Applications, som ikke har udgivne QDoc-skemaer og hændelsesfiler.) QAD bruger selv denne integrationsvej: “QAD Production Scheduler uses QAD QXtend to update work orders.” (QAD Production Scheduler bruger QAD QXtend til at opdatere produktionsordrer.) (QXtend-guide)
  2. QAD QXtend Outbound (QXO). QXO “exports user-configurable business objects as XML QDocs out of QAD products.” (Eksporterer brugerkonfigurerbare forretningsobjekter fra QAD-produkter som XML QDocs.) Standardobjekterne omfatter Item, Product Structure, Routing, Work Center, Department, Inventory Transaction og Inventory Status.
  3. REST API’er til forretningsdokumenter. Fra Adaptive ERP 2022.1 gælder: “Query REST APIs are now available for business documents,” (Der er nu REST API’er til forespørgsler på forretningsdokumenter.) De understøtter filtrering, sortering, sideopdeling og delvise dataudtræk og er dokumenteret i Swagger på jeres instans (versionsnoter).

Skrivning sker via QXtend. Læsning sker via QXO og REST-forespørgsels-API’erne.

Autentificering og licenser

  • QXtend Inbound. Når Require Authentication er aktiveret på modtageren, indeholder hvert QDoc et Session ID eller et QAD-brugernavn og en adgangskode. QXI kontrollerer brugerens menuadgang, før programmet køres.
  • Integrationsbruger. Opret en særskilt QAD-bruger med adgang til præcis de menuprogrammer, integrationen kalder: Work Order Maintenance, Labor Feedback by Work Order, Work Order Receipt og stamdataprogrammerne.
  • QXtend-licens. QXtend licenseres efter agenter og modtagere. Ifølge QAD’s guide er webservicetrafik til og fra en ekstern applikation ikke gratis. Få derfor QXtend-licensen bekræftet, før projektet starter.

På SkyPlanner-siden bruger REST API’et et API-token i Authorization-Token-headeren til autentificering (SkyPlanner Settings > API). API’et er dokumenteret i Swagger/OpenAPI. Integrationsvejledningen gennemgår de første kald.

Hændelser og ændringsdata

QXtend Outbound er QAD’s mekanisme til at håndtere ændringsdata. “A change occurs to watched data in QAD Enterprise Applications. Change notifications are written out to the qxevents database.” (Når overvågede data ændres i QAD Enterprise Applications, skrives ændringsmeddelelser til databasen qxevents.) QXO opbygger derefter QDocs og leverer dem “to a directory location where the subscriber polls for and picks up new QDocs,” (til en mappe, hvor abonnenten løbende søger efter og henter nye QDocs) eller til en webservice, der lytter på en URL.

SkyPlanner abonnerer som webservice på det, QXO publicerer, og henter løbende data via REST-forespørgsels-API’erne, hvor QXO ikke dækker. Work Order er ikke et af standardobjekterne i QXO. Derfor tilføjer integrationen enten et QXO-forretningsobjekt baseret på produktionsordretabellerne (wo_mstr, wr_route) eller henter produktionsordrer via REST-forespørgsels-API’erne med få minutters mellemrum.

SkyPlanner sender webhooks, når status eller planen ændres, så tilbageskrivningen er hændelsesstyret.

Datamapping

QAD-objekt (program, grænseflade)Objekt i SkyPlannerRetningHyppighed
Varer (Item Master Maintenance 1.4.1; QXO Item)Produkter og materialerQAD → SkyPlannerFørste indlæsning, derefter ved ændringer via QXO
Produktstrukturer (13.5; QXO Product Structure)Produktstruktur, delprodukter, materialer pr. produktQAD → SkyPlannerFørste indlæsning, derefter ved ændringer via QXO
Ruter (14.13.1; QXO Routing): kø-, opstillings-, kørsels-, vente- og transporttidProcestrin med varigheder, opstillings- og nedtagningstiderQAD → SkyPlannerFørste indlæsning, derefter ved ændringer via QXO
Arbejdscentre (14.5) og afdelinger (14.1; QXO Work Center, Department)Arbejdsstationer, arbejdsstationsgrupper, effektivitetsgraderQAD → SkyPlannerFørste indlæsning, derefter sjældent
Kalendere for produktion og arbejdscentreSkiftehold og arbejdsfrie dageQAD → SkyPlannerDagligt, eller skiftehold vedligeholdes i SkyPlanner
Produktionsordrer (16.1) med ordreruter (16.13.13) og komponenterOrdrer og opgaver med færdigdatoer og materialebehovQAD → SkyPlannerTilpasset QXO-objekt eller REST-polling med få minutters mellemrum
Lager (QXO Inventory Status, Inventory Transaction)LagerbeholdningerQAD → SkyPlannerVed ændringer eller hver time
Indkøbsordrer med leveringsdatoerIndkøbsordrer, indgående materialer efter leveringsdatoQAD → SkyPlannerPolling hver time eller ved planlægningskørsel
Frigivelses- og færdigdatoer for produktionsordrer (Work Order Maintenance 16.1, QXtend Inbound QDoc)Planlagt start og slut pr. ordreSkyPlanner → QADVed planændringer via en SkyPlanner-webhook
Labor Feedback by Work Order (16.20.1): opstillings- og kørselstid pr. operationTidsregistreringer og operatørernes tilbagemeldingerSkyPlanner → QADPr. tilbagemelding eller skift, hvis det vælges
Work Order Receipt (16.11)Færdigmeldte mængderSkyPlanner → QADPr. tilbagemelding, hvis det vælges
Findes ikke i QADOmstillingsmatrix, værktøjer som ressourcer med begrænset kapacitet, alternative maskiner og medarbejdereVedligeholdes i SkyPlannerOpsættes under opstarten

Integrationsmønstre

1. Første indlæsning af stamdata. Hent varer, produktstrukturer, ruter, arbejdscentre og kalendere via QXO eller REST-forespørgsels-API’erne. Tag bevidst stilling til, hvordan arbejdscentrene mappes: Et arbejdscenter med fire maskiner bliver til én gruppe af arbejdsstationer eller fire arbejdsstationer. Linjer til repetitiv produktion fra Production Line Maintenance kan også blive til arbejdsstationer.

2. Synkronisering af produktionsordrer. Hent fast planlagte og frigivne produktionsordrer med deres ruter og komponenter samt åbne indkøbsordrer. SkyPlanner betragter bestilte materialer som tilgængelige på indkøbsordrens leveringsdato og opdaterer lagerbeholdningen, når indkøbsordren markeres som Delivered.

Planlæg produktionsordrer, ikke MRP-planordrer. Planordrer skal først omdannes til fast planlagte eller frigivne produktionsordrer i QAD.

3. Tilbageskrivning af planen. Når planlægningsmotoren placerer eller flytter en ordre, udløser en SkyPlanner-webhook et QXtend Inbound QDoc til Work Order Maintenance (16.1). Det sætter frigivelsesdatoen til datoen for den første planlagte operation og færdigdatoen til datoen for den sidste. QXtend kører programmet med QAD’s egen validering og returnerer et QDoc-svar, som integrationen kontrollerer.

Operationsrækkefølgen på hver maskine bliver i SkyPlanner og formidles til operatørerne via Mobile Confirmations. Dermed berøres integrationen ikke af, at QAD låser ruterne på frigivne ordrer.

4. Tilbagemeldinger fra produktionen. Operatørerne registrerer arbejdet med SkyPlanner Mobile Confirmations eller Production Timer, og tidsregistreringerne holder planen ajour. I vælger, om de faktiske tider skal bogføres i QAD. Hvis ja, overføres opstillings- og kørselstid pr. operation til Labor Feedback by Work Order og færdigmeldte mængder til Work Order Receipt. Hvis nej, registreres arbejdstiden i QAD som hidtil.

5. Regler for dataejerskab og konflikter. Skriv dem ned inden idriftsættelsen:

DataDataejer
Varer, produktstrukturer, ruter, mængder, status på produktionsordrerQAD
Operationsrækkefølge, start- og sluttidspunkter, maskintildelingSkyPlanner
Frigivelses- og færdigdatoer for produktionsordrerSkyPlanner skriver, QAD gemmer
Omstillingstidsmatrix, krav til værktøjer og operatører, alternative ressourcerSkyPlanner
Skift og arbejdsfrie dageÉt system, valgt under afklaringen
Arbejdstid, komponentudtag og varemodtagelserQAD, registreret dér eller bogført fra SkyPlanners tidsregistreringer

Vælg ét system, der skriver datoerne på produktionsordrerne. SkyPlanner kræver ikke et planlægningsmodul i QAD og overtager derfor skrivningen af datoer fra planlægningsværktøjerne eller andre planlægningssystemer for de ordrer, det planlægger.

Typiske projekttrin

Implementeringen afsluttes normalt inden for få uger efter opstarten. Validér inden da planen i den gratis prøveperiode på 30 dage med arbejdscentre, ruter og åbne produktionsordrer eksporteret fra QAD som CSV eller Excel.

  1. Mapping. Fastlæg mappingtabellen, reglerne for dataejerskab, hvilke lokationer og domæner der er omfattet, synkroniseringsfrekvenserne, og om arbejdstid skal bogføres i QAD.
  2. Adgang til QAD. Opret integrationsbrugeren, få QXtend-licensen bekræftet, og opsæt QXtend-modtageren og QXO-abonnenten. Test først i et testdomæne.
  3. Opsætning af QDocs. Brug udgivne QDocs, hvor de findes, og generér efter behov QDocs med QGen til Work Order Maintenance, Labor Feedback by Work Order og Work Order Receipt.
  4. Første indlæsning. Varer, produktstrukturer, ruter, arbejdscentre og kalendere.
  5. Synkronisering af produktions- og indkøbsordrer. QXO-hændelser eller REST-polling med filtre, sideopdeling og genforsøg.
  6. Opsætning af begrænsninger i SkyPlanner. Omstillingstidsmatrix, værktøjer, antal operatører pr. opgave og alternative maskiner eller medarbejdere.
  7. Tilbageskrivning af planen og paralleltest. Skriv datoer tilbage via SkyPlanner-webhooks, kør parallelt med den nuværende plan, sammenlign datoer, og ret stamdata.
  8. Idriftsættelse. Aktivér tilbageskrivning, når dataene stemmer overens.

Det skal I tage højde for ved en integration med QAD Adaptive ERP

  • Genkørsel af CRP. CRP omplanlægger alle åbne operationer på de valgte produktionsordrer. QAD bevarer kun manuelt angivne datoer, når “you also adjusted the work order release and due date to match,” (I også har tilpasset produktionsordrens frigivelses- og færdigdato, så de stemmer overens), og det er netop de datoer, SkyPlanner skriver. Kør CRP efter tilbageskrivningen, eller udelad de ordrer, som SkyPlanner planlægger.
  • Frigivne ruter er låst. “Once the work order status is Exploded, Allocated, or Released, no more changes can be made to the routing.” (Når produktionsordren har status Exploded, Allocated eller Released, kan ruten ikke længere ændres.) Indlæs ruten ved frigivelse, og ændr kun ruter på planlagte eller fast planlagte ordrer.
  • Tidsenheder i ruter. Opstillings- og køretid belaster kapaciteten, mens “queue, wait, and move times are excluded from load calculations.” (Kø-, vente- og transporttider indgår ikke i belastningsberegningerne.) Modellér kø, ventetid og transport som trin, der kun optager tid, i SkyPlanner, og kontrollér, om køretiden er angivet pr. enhed eller pr. ordre.
  • QXtends behandlingskapacitet. QAD advarer om, at “UI API adapter performance may be unacceptable when processing high volumes of data or real-time transactions.” (UI API-adapterens ydeevne kan være uacceptabel ved behandling af store datamængder eller realtidstransaktioner). Send kun ændrede ordrer, saml dem i batches, og brug native QDocs, hvor de findes.
  • Domæner og produktionssteder. QAD-installationer med flere domæner holder arbejdscentre og produktionsordrer adskilt pr. domæne og produktionssted. Knyt hvert produktionssted, der indgår i integrationen, til sin egen gruppe af arbejdsstationer.
  • Blanding af repetitiv og diskret produktion. Linjer med Advanced Repetitive bruger repetitive produktionsplaner, ikke produktionsordrer. Aftal under afklaringen, hvilke linjer SkyPlanner skal planlægge.

Hvem opsætter og supporterer QAD-integrationen?

  1. SkyPlanner-teamet opsætter integrationen under opstarten og yder support efter idriftsættelsen. Det gælder de aftalte QDocs, QXO-abonnementer og REST-forespørgsler. Hver fabrik bruger QAD på sin egen måde, og den viden indgår i arbejdet.
  2. Jeres QAD-partner kan deltage. Partneren kender jeres domæner, tilpasninger og licensforhold og kan opsætte QXtend, QGen QDocs og integrationsbrugeren sammen med SkyPlanner-teamet.
  3. Jeres egne udviklere kan bygge videre på integrationen via SkyPlanners REST API med et API-token. Et API-token er nok til at komme i gang, og SkyPlanner-teamet hjælper efter behov. I finder dokumentationen i SkyPlanners integrationsdokumentation.

SkyPlanner fås fra 199 € pr. måned med 5 arbejdsstationer inkluderet og månedlig fakturering. I får på forhånd et tilbud på integrationen sammen med jeres abonnement, tilpasset jeres proces og behov. Se priser, produktionsplanlægning med QAD Adaptive ERP inden for den faktiske kapacitet, siden om QAD Adaptive ERP og oversigten over ERP-integrationer.

Produktionsvirksomheders erfaringer med SkyPlanner

Kalle Kalliomäki, specialist i forsyningskæden 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, specialist i forsyningskæden
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 UTUs anmeldelse

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 lave en optimeret plan for tre måneder på tværs af alle arbejdsstationer.

Læs anmeldelsen fra Laboratory & Allied

Hannu Ryynänen, direktør for Mamec, i virksomhedens produktionshal i Lohja

1.000-vis afproduktionsordrer planlagt automatisk

“Vi har styr på produktionen på en anden måde, og vores forståelse af kapaciteten er på et helt andet niveau.”

Hannu Ryynänen, direktør
Mamec · Industrielle blandere, pumper og højteknologisk kontraktproduktion

Tusindvis af produktionsordrer planlægges automatisk, og hele organisationen har overblik over produktionen i realtid.

Læs Mamecs anmeldelse

Luftfoto af Piristeels fabrik for tagsikkerhedsudstyr i Kauhava

99,2%leveringssikkerhed

“SkyPlanner har gjort det lettere at se flaskehalse og skabt mere overblik i produktionsstyringen.”

Toni Tuori, produktionschef
Piristeel · Tagsikkerhed og regnvandssystemer

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

Læs Piristeels anmeldelse

Ofte stillede spørgsmål

Har QAD Adaptive ERP et API til produktionsordrer?

Ja. QXtend Inbound kører Work Order Maintenance og programmerne til produktionsgulvet via SOAP og XML QDocs. Hvor der ikke findes en frigivet QDoc, genereres den med QGen. REST API’erne til forretningsdokumenter giver desuden adgang til forespørgsler med filtrering og sideinddeling.

Understøtter QAD webhooks?

QAD håndterer dataændringer med QXtend Outbound: Triggere på tabellerne registrerer ændringer, og QXO leverer QDocs til en webservice-URL eller en mappe, der aflæses løbende. SkyPlanners egne webhooks sender ændringer i planen, så snart de sker.

Hvordan skrives planlagte datoer tilbage til QAD?

Via en QXtend Inbound QDoc til Work Order Maintenance (16.1), som sætter produktionsordrens frigivelses- og forfaldsdato ud fra planen i SkyPlanner. QAD validerer QDoc med de samme regler som i skærmbilledet og returnerer en QDoc med svaret.

Hvordan når operatørernes tilbagemeldinger frem til QAD?

Opstillings- og køretid registreres via Labor Feedback by Work Order (16.20.1), og færdigproducerede mængder via Work Order Receipt (16.11), begge som QXtend Inbound QDocs. Om data skal skrives tilbage, aftales under afklaringen.

Bør en QAD-partner foreslå QAD Advanced Scheduling eller SkyPlanner?

SkyPlanner, når kunden arbejder med diskrete produktionsordrer og vil have en fungerende produktionsplan, der tager højde for den faktiske kapacitet, i løbet af uger. QAD beskriver Advanced Scheduling som en produktionsplan for hver linje på den enkelte fabrik og præsenterer løsningen sammen med DSCP Production Planning og Redzone (QAD). SkyPlanner integreres via QXtend, planlægger alle maskiner, operatører, værktøjer og materialer, omplanlægger automatisk og har et ubegrænset antal brugere fra 199 € pr. måned.

Kan vi teste SkyPlanner, før vi bygger integrationen?

Ja. Den gratis prøveperiode på 30 dage understøtter op til 20 arbejdsstationer med CSV- eller Excel-import fra QAD. Der kræves intet kreditkort. Start prøveperioden, eller tal med salg for at afklare integrationen.