Integrazioni / ERP / QAD Adaptive ERP
Guida all’integrazione di QAD Adaptive ERP per la schedulazione della produzione con SkyPlanner APS
Questa guida mostra ai partner e ai team IT come collegare QAD Adaptive ERP a SkyPlanner APS, anche per le installazioni delle precedenti versioni QAD Enterprise Edition e MFG/PRO. SkyPlanner si integra con QAD Adaptive ERP in entrambe le direzioni, usando le interfacce native di QAD:
- In ingresso vengono acquisiti ordini di produzione e relative operazioni, articoli, strutture prodotto, cicli di lavorazione, centri di lavoro, calendari di fabbrica, giacenze e ordini di acquisto.
- Le date di rilascio e di scadenza calcolate dalla schedulazione vengono riportate in Work Order Maintenance (16.1).
- Le registrazioni dei tempi degli operatori vengono riportate in Labor Feedback by Work Order (16.20.1), mentre le quantità completate vengono riportate in Work Order Receipt (16.11).
- I webhook di SkyPlanner inviano le modifiche alla schedulazione non appena avvengono.
Durante l’avviamento, il team SkyPlanner configura l’integrazione in base alla vostra installazione QAD e fornisce assistenza anche dopo l’entrata in produzione. Questa guida si rivolge ai partner e agli sviluppatori che vogliono partecipare al progetto o sviluppare autonomamente tramite la REST API documentata di SkyPlanner (riferimento API).
Le interfacce di integrazione di QAD
QAD offre tre modalità di integrazione per uno schedulatore esterno:
- QAD QXtend Inbound (QXI). QAD lo descrive come “a Web services-based, SOAP-compliant, XML framework, enabling complete platform-independent access to QAD Enterprise Applications business functionality.” (un framework XML basato su servizi web e conforme a SOAP, che consente l’accesso completo alle funzionalità applicative di QAD Enterprise Applications indipendentemente dalla piattaforma). Ogni richiesta è un QDoc che esegue un programma QAD con gli stessi controlli di validazione della relativa schermata e restituisce un QDoc di risposta. Tra i QDoc rilasciati figurano
maintainItemMaster,maintainRoutingemaintainPurchaseOrder. Per i programmi privi di un QDoc rilasciato, lo strumento QGen di QAD mappa il programma di menu: “QGen is used to map custom programs or QAD Enterprise Applications programs that do not have released QDoc schemas and events files.” (QGen serve a mappare programmi personalizzati o programmi di QAD Enterprise Applications per i quali non sono stati rilasciati schemi QDoc e file di eventi). Anche QAD usa questa modalità: “QAD Production Scheduler uses QAD QXtend to update work orders.” (QAD Production Scheduler usa QAD QXtend per aggiornare gli ordini di produzione). (Guida a QXtend) - QAD QXtend Outbound (QXO). QXO “exports user-configurable business objects as XML QDocs out of QAD products.” (esporta dai prodotti QAD oggetti applicativi configurabili dall’utente sotto forma di QDoc XML). Gli oggetti applicativi standard includono Item, Product Structure, Routing, Work Center, Department, Inventory Transaction e Inventory Status.
- REST API per i documenti aziendali. A partire da Adaptive ERP 2022.1, “Query REST APIs are now available for business documents,” (sono disponibili API REST di interrogazione per i documenti aziendali), con filtri, ordinamento, paginazione e restituzione di dati parziali. La documentazione è disponibile in Swagger sulla vostra istanza (note di rilascio).
Le scritture passano da QXtend. Le letture passano da QXO e dalle API REST di interrogazione.
Autenticazione e licenze
- QXtend Inbound. Se sul ricevitore è attiva l’opzione Require Authentication, ogni QDoc contiene un Session ID oppure nome utente e password QAD. Prima di eseguire il programma, QXI verifica i diritti di accesso dell’utente al menu.
- Utente di integrazione. Create un utente QAD dedicato, con accesso esclusivamente ai programmi di menu richiamati dall’integrazione: Work Order Maintenance, Labor Feedback by Work Order, Work Order Receipt e i programmi di gestione delle anagrafiche.
- Licenza QXtend. Le licenze QXtend sono basate su agenti e ricevitori. La guida QAD indica che il traffico dei servizi web da e verso un’applicazione esterna non è gratuito: verificate quindi la licenza QXtend prima di avviare il progetto.
Sul lato SkyPlanner, la REST API usa un token API nell’header Authorization-Token per l’autenticazione (SkyPlanner Settings > API) ed è documentata in Swagger/OpenAPI. Il tutorial di integrazione illustra le prime chiamate.
Eventi e modifiche ai dati
QXtend Outbound è il meccanismo con cui QAD gestisce le modifiche ai dati. “A change occurs to watched data in QAD Enterprise Applications. Change notifications are written out to the qxevents database.” (Quando vengono modificati dati monitorati in QAD Enterprise Applications, le notifiche di modifica vengono scritte nel database qxevents). QXO genera quindi i QDoc e li invia “to a directory location where the subscriber polls for and picks up new QDocs,” (a una directory che il sottoscrittore controlla periodicamente per prelevare i nuovi QDoc), oppure a un servizio web in ascolto su un URL.
SkyPlanner si sottoscrive come servizio web alle pubblicazioni di QXO e interroga periodicamente le API REST per i dati non coperti da QXO. Work Order non rientra tra gli oggetti applicativi standard di QXO: l’integrazione aggiunge quindi un oggetto applicativo QXO sulle tabelle degli ordini di produzione (wo_mstr, wr_route) oppure interroga gli ordini tramite le API REST ogni pochi minuti.
SkyPlanner invia webhook quando cambia lo stato o la schedulazione: la riscrittura dei dati in QAD è quindi guidata dagli eventi.
Mappatura dei dati
| Oggetto QAD (programma, interfaccia) | Oggetto SkyPlanner | Direzione | Frequenza |
|---|---|---|---|
| Articoli (Item Master Maintenance 1.4.1; QXO Item) | Prodotti e materiali | QAD → SkyPlanner | Caricamento iniziale, poi a ogni modifica tramite QXO |
| Strutture prodotto (13.5; QXO Product Structure) | Struttura del prodotto, sottoprodotti, materiali per prodotto | QAD → SkyPlanner | Caricamento iniziale, poi a ogni modifica tramite QXO |
| Cicli di lavorazione (14.13.1; QXO Routing): coda, attrezzaggio, lavorazione, attesa, movimentazione | Fasi di lavorazione con durate e tempi di attrezzaggio e disattrezzaggio | QAD → SkyPlanner | Caricamento iniziale, poi a ogni modifica tramite QXO |
| Centri di lavoro (14.5) e reparti (14.1; QXO Work Center, Department) | Centri di lavoro, gruppi di centri di lavoro, efficienze | QAD → SkyPlanner | Caricamento iniziale, poi raramente |
| Calendari di fabbrica e dei centri di lavoro | Turni e giorni non lavorativi | QAD → SkyPlanner | Ogni giorno, oppure turni gestiti autonomamente in SkyPlanner |
| Ordini di produzione (16.1) con relativo ciclo di lavorazione (16.13.13) e componenti | Ordini e operazioni con date di consegna e fabbisogni di materiali | QAD → SkyPlanner | Oggetto QXO personalizzato o polling REST ogni pochi minuti |
| Giacenze (QXO Inventory Status, Inventory Transaction) | Giacenze | QAD → SkyPlanner | A ogni modifica oppure ogni ora |
| Ordini di acquisto con date di consegna | Ordini di acquisto, materiali in arrivo per data di consegna | QAD → SkyPlanner | Polling ogni ora o a ogni esecuzione della schedulazione |
| Date di rilascio e di scadenza degli ordini di produzione (Work Order Maintenance 16.1, QXtend Inbound QDoc) | Inizio e fine pianificati per ciascun ordine | SkyPlanner → QAD | A ogni modifica della schedulazione, tramite webhook di SkyPlanner |
| Labor Feedback by Work Order (16.20.1): tempi di attrezzaggio e lavorazione per operazione | Registrazioni dei tempi e conferme degli operatori | SkyPlanner → QAD | A ogni conferma o per turno, se si sceglie questa opzione |
| Work Order Receipt (16.11) | Quantità completate | SkyPlanner → QAD | A ogni conferma, se si sceglie questa opzione |
| Non presente in QAD | Matrice dei tempi di attrezzaggio, utensili come risorse a capacità finita, macchine e personale alternativi | Gestiti in SkyPlanner | Configurati durante l’avviamento |
Modalità di integrazione
1. Caricamento iniziale delle anagrafiche. Leggete articoli, strutture prodotto, cicli di lavorazione, centri di lavoro e calendari tramite QXO o le API REST di interrogazione. Definite con attenzione la mappatura dei centri di lavoro: un centro con quattro macchine diventa un gruppo di centri di lavoro oppure quattro centri di lavoro. Anche le linee di produzione ripetitiva gestite in Production Line Maintenance possono diventare centri di lavoro.
2. Sincronizzazione degli ordini di produzione. Leggete gli ordini di produzione pianificati confermati e quelli rilasciati, con i relativi cicli di lavorazione e componenti, insieme agli ordini di acquisto aperti. SkyPlanner considera il materiale ordinato disponibile alla data di consegna dell’ordine di acquisto e aggiorna le giacenze quando l’ordine viene contrassegnato come Delivered.
Schedulate gli ordini di produzione, non gli ordini pianificati dall’MRP. Prima della schedulazione, gli ordini pianificati devono diventare ordini di produzione pianificati confermati o rilasciati in QAD.
3. Riscrittura della schedulazione in QAD. Quando il motore colloca o sposta un ordine, un webhook di SkyPlanner attiva un QDoc QXtend Inbound su Work Order Maintenance (16.1). La data di rilascio viene impostata sulla data della prima operazione schedulata e la data di scadenza su quella dell’ultima. QXtend esegue il programma applicando i controlli di validazione nativi di QAD e restituisce un QDoc di risposta che l’integrazione verifica.
La sequenza delle operazioni su ciascuna macchina rimane in SkyPlanner e viene comunicata agli operatori tramite Mobile Confirmations. In questo modo, l’integrazione non risente del blocco dei cicli di lavorazione applicato da QAD agli ordini rilasciati.
4. Consuntivazione in reparto. Gli operatori registrano il lavoro con SkyPlanner Mobile Confirmations o con Production Timer; le registrazioni dei tempi mantengono aggiornata la schedulazione. Potete scegliere se riportare i tempi effettivi in QAD. Se scegliete di farlo, i tempi di attrezzaggio e lavorazione vengono inviati a Labor Feedback by Work Order per ogni operazione, mentre le quantità completate vengono inviate a Work Order Receipt. Altrimenti, la manodopera viene registrata in QAD come prima.
5. Titolarità dei dati e regole per i conflitti. Mettetele per iscritto prima dell’entrata in produzione:
| Dati | Sistema titolare |
|---|---|
| Articoli, strutture prodotto, cicli di lavorazione, quantità, stato degli ordini di produzione | QAD |
| Sequenza delle operazioni, orari di inizio e fine, assegnazione alle macchine | SkyPlanner |
| Date di rilascio e di scadenza degli ordini di produzione | SkyPlanner scrive, QAD memorizza |
| Matrice dei tempi di attrezzaggio, fabbisogni di utensili e operatori, risorse alternative | SkyPlanner |
| Turni e giorni non lavorativi | Un solo sistema, scelto durante la definizione del perimetro |
| Manodopera, prelievi di componenti e versamenti | QAD, con inserimento diretto o invio dalle registrazioni dei tempi di SkyPlanner |
Scegliete un solo sistema che scriva le date degli ordini di produzione. SkyPlanner non richiede alcun modulo di schedulazione QAD: per gli ordini che schedula, sostituisce quindi i workbench di schedulazione o gli altri schedulatori nella scrittura delle date.
Le fasi tipiche del progetto
L’implementazione viene normalmente completata nell’arco di qualche settimana dall’inizio dell’avviamento. Prima, validate la schedulazione durante la prova gratuita di 30 giorni, usando centri di lavoro, cicli di lavorazione e ordini di produzione aperti esportati da QAD in formato CSV o Excel.
- Mappatura. Definite la tabella di mappatura, le regole di titolarità dei dati, i siti e i domini inclusi nel perimetro, le frequenze di sincronizzazione e l’eventuale invio dei consuntivi di manodopera a QAD.
- Accesso a QAD. Create l’utente di integrazione, verificate le licenze QXtend e configurate il ricevitore QXtend e il sottoscrittore QXO. Eseguite prima le prove in un dominio di test.
- Configurazione dei QDoc. Usate i QDoc rilasciati dove disponibili e, dove necessario, generate con QGen i QDoc per Work Order Maintenance, Labor Feedback by Work Order e Work Order Receipt.
- Caricamento iniziale. Articoli, strutture prodotto, cicli di lavorazione, centri di lavoro, calendari.
- Sincronizzazione degli ordini di produzione e di acquisto. Eventi QXO o polling REST con filtri, paginazione e nuovi tentativi in caso di errore.
- Configurazione dei vincoli in SkyPlanner. Matrice dei tempi di attrezzaggio, utensili, numero di operatori per operazione e macchine o personale alternativi.
- Riscrittura della schedulazione in QAD e test in parallelo. Inviate le date tramite i webhook di SkyPlanner, eseguite la schedulazione in parallelo al piano attuale, confrontate le date e correggete le anagrafiche.
- Avvio in produzione. Attivate la scrittura dei dati in QAD quando i dati coincidono.
Cosa prevedere per l’integrazione con QAD Adaptive ERP
- Nuove esecuzioni del CRP. Il CRP rischedula tutte le operazioni aperte degli ordini di produzione selezionati. QAD mantiene le date manuali solo quando “you also adjusted the work order release and due date to match,” (sono state adeguate di conseguenza anche le date di rilascio e di scadenza dell’ordine di produzione), cioè proprio le date che SkyPlanner scrive. Esegui il CRP dopo la scrittura dei dati in QAD oppure escludi gli ordini schedulati da SkyPlanner.
- I cicli di lavorazione rilasciati non sono modificabili. “Once the work order status is Exploded, Allocated, or Released, no more changes can be made to the routing.” (Quando l’ordine di produzione è nello stato Exploded, Allocated o Released, non è più possibile modificare il ciclo di lavorazione.) Leggi il ciclo al momento del rilascio e modifica i cicli solo per gli ordini pianificati o pianificati confermati.
- Unità di tempo dei cicli di lavorazione. I tempi di attrezzaggio e di lavorazione costituiscono carico, mentre “queue, wait, and move times are excluded from load calculations.” (i tempi di coda, attesa e movimentazione sono esclusi dal calcolo del carico). In SkyPlanner, modella coda, attesa e movimentazione come fasi con sola durata e verifica se il tempo di lavorazione è espresso per unità o per ordine.
- Capacità di elaborazione di QXtend. QAD avverte che “UI API adapter performance may be unacceptable when processing high volumes of data or real-time transactions.” (le prestazioni dell’adattatore UI API potrebbero essere inaccettabili nell’elaborazione di grandi volumi di dati o di transazioni in tempo reale). Invia solo gli ordini modificati, in batch, e usa i QDocs nativi dove disponibili.
- Domini e siti. Nelle installazioni QAD multidominio, i centri di lavoro e gli ordini di produzione sono gestiti per dominio e sito. Associa ogni sito incluso nel perimetro a un gruppo distinto di centri di lavoro.
- Produzione mista: ripetitiva e discreta. Le linee Advanced Repetitive usano programmi di produzione ripetitiva, non ordini di produzione. Durante la definizione del perimetro, decidi quali linee saranno schedulate da SkyPlanner.
Chi configura l’integrazione con QAD e fornisce assistenza
- Il team SkyPlanner configura l’integrazione durante l’avviamento e fornisce assistenza dopo l’avvio in produzione, per i QDocs, le sottoscrizioni QXO e le query REST concordati. Ogni stabilimento usa QAD in modo diverso: questa conoscenza specifica viene applicata proprio in questa fase.
- Il tuo partner QAD può partecipare. Conosce i tuoi domini, le personalizzazioni e le licenze e può configurare QXtend, QGen QDocs e l’utente di integrazione insieme al team SkyPlanner.
- I tuoi sviluppatori possono estendere l’integrazione usando la REST API di SkyPlanner con un token API. Per iniziare basta un token API; il team SkyPlanner offre assistenza quando serve. La documentazione è disponibile nella guida all’integrazione di SkyPlanner.
SkyPlanner parte da 199 € al mese, con 5 centri di lavoro inclusi e fatturazione mensile. Il preventivo per l’integrazione viene fornito in anticipo, insieme a quello del piano, in base al tuo processo e alle tue esigenze. Consulta i prezzi, la pagina sulla schedulazione della produzione a capacità finita con QAD Adaptive ERP, la pagina QAD Adaptive ERP e la panoramica delle integrazioni ERP.
Le recensioni delle aziende manifatturiere su SkyPlanner
2 hrisparmiate ogni settimana
“Con SkyPlanner siamo passati dai fogli Excel per la pianificazione della produzione 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 la nuova coda di lavoro arriva in 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 bastano meno di 30 minuti per creare un piano ottimizzato su tre mesi per tutti i centri di lavoro.
1.000 e piùordini di produzione schedulati automaticamente
“Il modo in cui teniamo sotto controllo la produzione è cambiato e la nostra conoscenza della capacità ha raggiunto un livello completamente diverso.”
Hannu Ryynänen, amministratore delegato
Mamec · Miscelatori industriali, pompe e produzione conto terzi ad alta tecnologia
Migliaia di ordini di produzione vengono schedulati automaticamente e tutta l’organizzazione dispone di una visione della produzione in tempo reale.
99,2%di affidabilità delle consegne
“SkyPlanner ci ha dato la visibilità necessaria per individuare i colli di bottiglia e ha reso più chiara la gestione della produzione.”
Toni Tuori, responsabile di produzione
Piristeel · Sistemi di sicurezza per tetti e di raccolta delle acque piovane
Quest’anno l’affidabilità delle consegne ha raggiunto il 99,2% e la schedulazione fa risparmiare fino a quattro ore di lavoro al giorno.
Domande frequenti
QAD Adaptive ERP dispone di un’API per gli ordini di produzione?
Sì. QXtend Inbound esegue Work Order Maintenance e i programmi di reparto tramite SOAP e QDocs XML, generati con QGen quando non esiste un QDoc rilasciato. Le REST API dei documenti aziendali consentono inoltre di eseguire query con filtri e paginazione.
QAD supporta i webhook?
QAD gestisce le modifiche ai dati tramite QXtend Outbound: i trigger sulle tabelle registrano le modifiche e QXO invia i QDocs all’URL di un servizio web o a una directory controllata periodicamente. I webhook di SkyPlanner inviano le modifiche alla schedulazione non appena avvengono.
Come vengono riscritte in QAD le date schedulate?
Tramite un QDoc QXtend Inbound su Work Order Maintenance (16.1), che imposta le date di rilascio e di scadenza dell’ordine di produzione in base alla schedulazione di SkyPlanner. QAD convalida il QDoc con le stesse regole della schermata e restituisce un QDoc di risposta.
Come arrivano a QAD le conferme degli operatori?
I tempi di attrezzaggio e di lavorazione vengono registrati tramite Labor Feedback by Work Order (16.20.1), mentre le quantità completate passano da Work Order Receipt (16.11), in entrambi i casi tramite QDocs QXtend Inbound. La scelta di riscrivere questi dati in QAD viene fatta durante la definizione del perimetro.
Un partner QAD dovrebbe proporre QAD Advanced Scheduling o SkyPlanner?
SkyPlanner, quando il cliente gestisce ordini di produzione discreta e vuole una schedulazione operativa a capacità finita in poche settimane. QAD descrive Advanced Scheduling come una schedulazione linea per linea per ogni stabilimento, presentata insieme a DSCP Production Planning e Redzone (QAD). SkyPlanner si collega tramite QXtend, schedula ogni macchina, operatore, utensile e materiale, rischedula automaticamente e offre utenti illimitati, a partire da 199 € al mese.
Possiamo provare SkyPlanner prima di realizzare l’integrazione?
Sì. La prova gratuita di 30 giorni supporta fino a 20 centri di lavoro con importazioni da QAD in formato CSV o Excel, senza carta di credito. Inizia la prova oppure contatta il team commerciale per la definizione del perimetro dell’integrazione.