Il Suo template dati per la gestione del magazzino
Il Suo template dati per la gestione del magazzino
- `Attributi` raccomandati da raccogliere per un'analisi completa
- Attività chiave da monitorare nel flusso dei materiali
- Guida pratica per l'estrazione dei dati da Blue Yonder WMS
Attributi di gestione magazzino
| Nome | Descrizione | ||
|---|---|---|---|
| `Tempo` di Inizio `Evento` EventStartTime | Il timestamp che indica quando è iniziata una specifica attività o evento di magazzino. | ||
| Descrizione Questo attributo registra l'inizio di un task, fornendo il contesto cronologico. Questo timestamp è indispensabile per ogni analisi temporale di Process Mining. Serve a ordinare gli eventi, calcolare i tempi di ciclo, misurare la durata totale del processo e identificare ritardi. È la spina dorsale dell'analisi delle performance e serve per animare la mappa di processo. Perché è importante Il timestamp di inizio è obbligatorio per ordinare gli eventi cronologicamente e calcolare le metriche di performance, come tempi di ciclo e attese. Dove trovare Si trova negli Event Log o nelle tabelle delle attività, corrispondente all'ora di creazione o inizio di un'azione registrata. Esempi 2023-10-26T08:30:00Z2023-10-26T09:15:10Z2023-10-26T11:05:45Z | |||
| Nome attività ActivityName | Il nome dello specifico task o evento di magazzino, ad esempio 'Goods Picked' o 'Shipment Dispatched'. | ||
| Descrizione Questo attributo descrive lo step specifico eseguito. Ogni evento nel log è associato a un nome attività, che forma la sequenza del flusso. L'Activity Name è fondamentale per ricostruire la mappa del processo, analizzare le transizioni e identificare colli di bottiglia o deviazioni. Viene usato in quasi tutte le analisi di Process Mining, dal controllo di conformità al monitoraggio delle prestazioni. Perché è importante Questo attributo è fondamentale per costruire la mappa di processo, poiché definisce i singoli step e permette di visualizzare e analizzare il flusso. Dove trovare Questa informazione si trova solitamente nelle tabelle dei task o nei log eventi, spesso derivata da un tipo task o un codice di stato. Esempi Task di Prelievo CreatoMerci prelevate da stoccaggioSpedizione partita | |||
| Ordine di magazzino WarehouseOrder | L'identificativo univoco di un ordine di magazzino, che funge da 'case' primario per tracciare tutte le attività logistiche correlate, dalla creazione al completamento. | ||
| Descrizione Il Warehouse Order è l'identificativo centrale che raggruppa tutti gli eventi legati a una richiesta logistica (es. ricezione o spedizione). Rappresenta l'unità di lavoro completa. Nel Process Mining, questo attributo definisce il 'case', permettendo l'analisi end-to-end dell'intero ciclo di vita dell'ordine. Tracciando tutte le attività associate a un singolo ordine, è possibile misurare i tempi totali di evasione, identificare le varianti comuni del processo e comprendere l'intero percorso dell'ordine all'interno della struttura. Perché è importante È l'identificativo essenziale del 'case' che collega tutte le attività di magazzino, permettendo un'analisi end-to-end completa dell'evasione ordini o della ricezione merci. Dove trovare Solitamente è la chiave primaria della tabella header degli ordini. Consulti la documentazione di Blue Yonder WMS per le tabelle di gestione ordini. Esempi WO-0012845WO-0012991WO-0013057 | |||
| Sistema di Origine SourceSystem | Il sistema da cui sono stati estratti i dati, in questo caso, Blue Yonder WMS. | ||
| Descrizione Questo attributo identifica il sistema di origine dei dati. In infrastrutture IT moderne, i dati di un processo possono provenire da ERP, WMS o TMS. Specificare il sistema sorgente è cruciale per la data governance e la risoluzione dei problemi. Aiuta a risalire all'origine di eventuali errori di qualità dei dati ed è essenziale quando si uniscono fonti diverse per creare una vista di processo unificata. Perché è importante Fornisce un'essenziale data lineage, aiutando a rintracciare l'origine dei dati per la validazione e in scenari in cui i dati vengono uniti da più sistemi. Dove trovare In genere si tratta di un valore statico aggiunto durante il processo di estrazione dati per etichettare l'origine del dataset. Esempi BlueYonderWMS_USBlueYonderWMS_EU | |||
| Ultimo `Data Update` LastDataUpdate | Timestamp che indica quando i dati di questo record sono stati aggiornati l’ultima volta dal sistema sorgente. | ||
| Descrizione Questo attributo registra l'ultimo aggiornamento del dataset da Blue Yonder WMS, fornendo metadati sulla freschezza delle informazioni. È importante per la data governance e per garantire agli utenti la pertinenza dell'analisi. Assicura che gli stakeholder siano consapevoli dell'attualità dei dati, offrendo una fotografia recente e affidabile dei processi. Perché è importante Questo timestamp informa gli utenti sulla freschezza dei dati, garantendo la corretta comprensione del periodo temporale analizzato. Dove trovare Questo è un campo di metadati solitamente generato e aggiunto durante il processo di estrazione dati (ETL). Esempi 2024-01-15T04:00:00Z2024-01-16T04:00:00Z | |||
| Data di completamento richiesta RequestedCompletionDate | La data e l'ora in cui è pianificato o richiesto il completamento e la spedizione dell'ordine di magazzino. | ||
| Descrizione La Requested Completion Date rappresenta lo SLA o l'obiettivo di evasione per un ordine in uscita. È la scadenza entro cui la merce deve essere pronta per la spedizione. Questa data è il punto di riferimento per misurare le performance reali e calcolare il KPI di spedizione puntuale (On-Time Shipment Rate). Analizzare gli ordini in base a questo attributo aiuta a identificare quelli a rischio ritardo e a diagnosticare le cause principali delle violazioni degli SLA. Perché è importante Questo attributo è il punto di riferimento per misurare la puntualità ed è essenziale per il calcolo del KPI On-Time Shipment Rate. Dove trovare Solitamente memorizzato nella tabella header dell'ordine, spesso ereditato dall'ordine di vendita originale. Esempi 2023-10-27T17:00:00Z2023-10-28T12:00:00Z2023-11-01T17:00:00Z | |||
| ID Utente/Operatore UserOperatorId | L'identificativo dell'impiegato o dell'operatore di magazzino che ha eseguito l'attività. | ||
| Descrizione Questo attributo cattura l'ID univoco del responsabile di un task (picking, packing o messa a dimora), collegando le attività alle risorse umane. Analizzare le attività per ID Utente/Operatore è essenziale per capire l'utilizzo delle risorse e la distribuzione dei carichi di lavoro. Aiuta a individuare quali operatori siano più efficienti o chi necessiti di formazione, oltre a verificare il bilanciamento dei task nel team. È una dimensione chiave per la dashboard di utilizzo delle risorse. Perché è importante Questo attributo collega gli step del processo alle persone che li hanno eseguiti, permettendo di analizzare performance, carichi di lavoro e necessità formative. Dove trovare Trovato comunemente nelle tabelle delle attività o delle transazioni, collegato all'utente connesso al sistema o al palmare durante l'operazione. Esempi JSMITHBWILLISAMILLER | |||
| Livello di Priorità PriorityLevel | La priorità dell'ordine di magazzino, ad esempio 'Alta', 'Standard' o 'Bassa'. | ||
| Descrizione Il Priority Level indica l'urgenza di un ordine. Gli ordini ad alta priorità devono essere elaborati più velocemente rispetto a quelli standard. Il WMS usa questo attributo per ordinare i task e allocare le risorse. Nel Process Mining, è fondamentale per verificare l'efficacia delle strategie di priorità. La dashboard dedicata all'evasione degli ordini prioritari usa questo campo per confrontare i tempi di ciclo con quelli standard, accertando se gli ordini urgenti procedano realmente più spediti o se rimangano bloccati negli stessi colli di bottiglia. Perché è importante Consente di verificare se gli ordini ad alta priorità vengano effettivamente elaborati più velocemente di quelli standard, convalidando l'efficacia delle regole di prioritizzazione. Dove trovare Queste informazioni sono solitamente memorizzate nella tabella header dell'ordine di magazzino. Esempi ElevatoStandardBasso | |||
| Ora Fine Evento EventEndTime | Il timestamp che indica quando è stata completata una specifica attività o evento di magazzino. | ||
| Descrizione Questo attributo registra la fine di un task. Quando disponibile, offre una misura precisa del tempo di elaborazione dell'attività. Avere sia l'orario di inizio che di fine permette un'analisi dettagliata, distinguendo il tempo di attesa (tra un'attività e l'altra) dal tempo di esecuzione effettivo. È cruciale per capire se i ritardi siano dovuti a periodi di inattività o a task troppo complessi e lenti. Perché è importante Consente il calcolo preciso del tempo di elaborazione dell'attività, distinguendolo dal tempo di attesa, il che è fondamentale per un miglioramento mirato delle prestazioni. Dove trovare Si trova negli Event Log o nelle tabelle delle attività, corrispondente all'ora di completamento o chiusura di un'azione registrata. Esempi 2023-10-26T08:35:12Z2023-10-26T09:20:05Z2023-10-26T11:06:00Z | |||
| Quantità Effettiva ActualQuantity | La quantità effettiva di articoli movimentati durante un task, come il numero di pezzi contati o prelevati fisicamente. | ||
| Descrizione La Quantità Effettiva (Actual Quantity) è il numero di unità fisicamente elaborate da un operatore di magazzino durante un'attività. Può trattarsi del conteggio degli articoli ricevuti da un fornitore, del numero di unità prelevate da un contenitore di stoccaggio o della quantità imballata in un contenitore di spedizione. Se confrontato con la Quantità Pianificata (Planned Quantity), questo attributo rivela eccezioni ed errori di processo. È la metrica fondamentale per calcolare i tassi di discrepanza, che sono indicatori chiave della qualità operativa. Questi dati sono vitali per identificare problemi con le spedizioni dei fornitori, errori di picking o imprecisioni nell'inventario. Perché è importante Confrontare questo dato con la quantità pianificata è essenziale per identificare errori di processo e calcolare KPI di qualità chiave come i tassi di discrepanza. Dove trovare Si trova nelle tabelle di conferma attività o dei log di transazione, dove gli operatori registrano la quantità eseguita. Esempi 1004924 | |||
| Quantità Pianificata PlannedQuantity | La quantità di articoli prevista per un determinato task, come la quantità da prelevare o ricevere. | ||
| Descrizione La Quantità Pianificata (Planned Quantity) rappresenta il numero target di unità specificato dall'ordine di magazzino per un'attività specifica. Per una consegna in entrata, è la quantità prevista dal fornitore. Per un'attività di picking, è la quantità richiesta dall'ordine del cliente. Questo attributo è fondamentale per l'analisi della precisione. Confrontando la Quantità Pianificata con la Quantità Effettiva, è possibile identificare discrepanze nella ricezione, nel picking o nei conteggi di inventario. Supporta direttamente KPI come il Tasso di discrepanza della quantità di picking ed è essenziale per la dashboard di audit dell'accuratezza delle quantità. Perché è importante Serve come base per misurare l'accuratezza, consentendo il rilevamento di discrepanze di quantità nelle attività di ricezione e picking. Dove trovare Si trova nelle tabelle dei dettagli o delle righe associate agli ordini di magazzino o a compiti specifici. Esempi 1005024 | |||
| Ubicazione di Magazzino StorageLocation | L'ubicazione specifica in magazzino (es. cella o corsia) dove la merce viene stoccata o prelevata. | ||
| Descrizione Questo attributo identifica l'ubicazione fisica (cella di destinazione per la messa a dimora, cella sorgente per il picking), spesso rappresentata da codici per corsia, scaffale e ripiano. L'analisi per Storage Location permette di valutare l'efficienza del layout e le strategie di slotting. Serve a identificare zone ad alto traffico o sottoutilizzate e potenziali colli di bottiglia nei flussi. È un elemento base per la dashboard sulle tendenze di utilizzo delle ubicazioni. Perché è importante Fornisce un contesto cruciale per analizzare il layout del magazzino, l'efficacia della strategia di slotting e identificare i colli di bottiglia nei movimenti. Dove trovare Disponibile nelle tabelle relative all'inventario, alle attività di magazzino (picking, putaway) e ai dati anagrafici dei contenitori. Esempi A1-R03-S02-B01B5-R10-S04-B05C2-R01-S01-B02 | |||
| Discrepanza di quantità IsQuantityMismatch | Un flag booleano che indica se la quantità effettivamente gestita differisce dalla quantità pianificata per un'attività. | ||
| Descrizione Questo attributo calcolato è un flag che indica una discrepanza di quantità (es. nel picking o ricezione). È impostato su 'true' quando la quantità reale non corrisponde a quella pianificata. Serve a identificare e contare rapidamente gli errori, semplificando il calcolo di KPI come il tasso di discrepanza nel picking. Facilita inoltre l'analisi delle cause profonde permettendo di filtrare tutti gli errori per cercare pattern legati a prodotti, operatori o ubicazioni specifiche. Perché è importante Contrassegna gli eventi con errori di quantità, semplificando il calcolo dei tassi di discrepanza e consentendo un'analisi mirata delle attività imprecise. Dove trovare Calcolato confrontando i campi PlannedQuantity e ActualQuantity per ogni attività pertinente. Esempi falsetruefalse | |||
| ID Attrezzatura EquipmentId | Identificativo dell'attrezzatura per la movimentazione dei materiali utilizzata, come un carrello elevatore specifico o un nastro trasportatore. | ||
| Descrizione L'Equipment ID specifica quale macchinario è stato usato per un task di magazzino (es. carrelli elevatori, transpallet, AGV o stazioni di imballaggio). Questo attributo permette di analizzare l'utilizzo, le prestazioni e le necessità di manutenzione delle attrezzature. Tracciando le attività per mezzo, i responsabili possono identificare asset sovra o sottoutilizzati e confrontare l'efficienza dei diversi modelli. È una dimensione fondamentale per la Dashboard dell'utilizzo delle risorse di magazzino. Perché è importante Consente di analizzare l'utilizzo e le prestazioni delle attrezzature, aiutando a ottimizzare l'allocazione degli asset e i programmi di manutenzione. Dove trovare Può essere registrato nei log di esecuzione delle attività, specialmente in ambienti dove gli operatori accedono alle attrezzature tramite login. Esempi FORKLIFT-07AGV-03PACKSTATION-12 | |||
| ID Magazzino WarehouseId | Identificativo dello specifico magazzino o centro di distribuzione in cui si è svolta l'attività. | ||
| Descrizione Il Warehouse ID identifica univocamente lo stabilimento in cui avviene il processo. È essenziale per le aziende con più centri di distribuzione. Questo attributo permette di effettuare analisi comparative (benchmarking) tra i diversi siti. Filtrando i dati per Warehouse ID, è possibile confrontare le performance, individuare le best practice dei siti migliori e capire perché altre strutture siano meno efficienti. È una dimensione chiave per l'analisi operativa multi-sito. Perché è importante Per le organizzazioni multi-sito, questo attributo è essenziale per il benchmarking delle prestazioni e per confrontare i processi tra diverse sedi. Dove trovare Spesso è un campo organizzativo di alto livello presente in quasi tutte le tabelle, o può essere dedotto dall'istanza del sistema. Esempi WHC-01DC-EAST-03FAC-WEST | |||
| ID spedizione ShipmentId | L'identificativo univoco della spedizione in uscita a cui appartiene l'ordine di magazzino. | ||
| Descrizione Lo Shipment ID è un identificativo di livello superiore che può raggruppare più ordini spediti nello stesso camion o container. L'analisi per Shipment ID offre una panoramica del processo di spedizione. Aiuta a capire come vengono consolidati gli ordini, a misurare i tempi dallo staging alla partenza del carico completo e ad analizzare l'efficienza del reparto spedizioni, collegando le attività di magazzino all'ultimo anello della supply chain. Perché è importante Raggruppa gli ordini di magazzino spediti insieme, permettendo l'analisi dei processi di consolidamento delle spedizioni e di invio. Dove trovare Si trova nelle tabelle relative alla spedizione o al trasporto, collegate agli ordini di magazzino. Esempi SHP-45000123SHP-45000124SHP-45000125 | |||
| SKU del prodotto ProductSku | La Stock Keeping Unit (SKU) o il codice materiale dell'articolo movimentato. | ||
| Descrizione Questo attributo identifica il prodotto specifico, offrendo dettagli granulari sui materiali movimentati. Analizzare per SKU può rivelare pattern legati a certi articoli. Ad esempio, alcuni prodotti potrebbero essere soggetti a frequenti errori di picking o richiedere tempi di messa a dimora più lunghi per esigenze speciali. Ciò consente ottimizzazioni mirate e il miglioramento delle strategie di stoccaggio. Perché è importante Abilita l'analisi a livello di prodotto, aiutando a identificare gli articoli che causano ritardi nel processo, errori o che richiedono una gestione speciale. Dove trovare Questa informazione si trova a livello di singola riga nelle tabelle degli ordini o dei task di magazzino. Esempi PN-A5540-BSKU-300-RED-LGHW-88201 | |||
| Spedizione puntuale IsOnTimeShipment | Un flag booleano che risulta vero se la spedizione è stata inviata entro o prima della data di completamento richiesta. | ||
| Descrizione Questo attributo calcolato indica con un semplice 'vero/falso' se un ordine ha rispettato lo SLA di spedizione, confrontando l'effettiva partenza con la data richiesta. Semplifica l'analisi delle performance di puntualità e permette di calcolare velocemente l'On-Time Shipment Rate. Consente inoltre di indagare sulle cause dei ritardi identificando caratteristiche comuni tra le spedizioni non puntuali. Perché è importante Questo flag booleano semplifica il calcolo del KPI On-Time Shipment Rate e permette di filtrare facilmente gli ordini in ritardo per analizzarne le cause. Dove trovare Calcolato confrontando l'EventStartTime dell'attività 'Spedizione inviata' con l'attributo RequestedCompletionDate. Esempi truefalsetrue | |||
| Stato dell'Attività TaskStatus | Lo stato finale di un determinato task, ad esempio 'Completato', 'Annullato' o 'Fallito'. | ||
| Descrizione Questo attributo descrive l'esito di un task. Oltre al completamento, un task può essere annullato o fallire per problemi tecnici o operativi. Analizzare lo stato dei task è utile per comprendere eccezioni e fallimenti. Un tasso elevato di task annullati può indicare problemi di accuratezza dell'inventario, configurazione di sistema o mancanza di formazione. Aiuta a isolare le attività critiche che richiedono indagini approfondite. Perché è importante Fornisce l'esito di un'attività, consentendo l'analisi delle eccezioni come compiti annullati o falliti che possono indicare problemi operativi più profondi. Dove trovare Solitamente presente nella tabella dei task, indica lo stato finale del record. Esempi CompletatoAnnullatoIn Sospeso | |||
| Tempo di Elaborazione Attività ActivityProcessingTime | La durata, in secondi o minuti, necessaria per completare una singola attività. | ||
| Descrizione Questa metrica calcolata misura il tempo trascorso tra l'inizio e la fine di un'attività, rappresentando il tempo di lavoro effettivo (processing time) escludendo le attese. È fondamentale per l'analisi delle performance, poiché identifica le attività più onerose in termini di tempo. Permette di distinguere tra step intrinsecamente lenti e ritardi dovuti a inefficienze tra le fasi, consentendo interventi mirati. È un KPI chiave per le dashboard su produttività e colli di bottiglia. Perché è importante Isola il tempo trascorso a lavorare attivamente su un compito, aiutando a individuare quali attività specifiche richiedono più tempo per essere completate. Dove trovare Calcolato sottraendo l'EventStartTime dall'EventEndTime per ogni record di attività. Esempi 31229515 | |||
| Tipo di ordine di magazzino WarehouseOrderType | Categorizza l'ordine di magazzino, ad esempio come ricezione in entrata, spedizione in uscita o trasferimento interno. | ||
| Descrizione Questo attributo classifica lo scopo dell'ordine (es. entrate merce da fornitori, spedizioni a clienti, resi o trasferimenti interni). Segmentare per tipo di ordine è il primo passo fondamentale di ogni analisi. I processi di inbound e outbound sono molto diversi per step, risorse e obiettivi. Questo attributo permette di filtrare i dati per analizzare isolatamente processi specifici come la ricezione merci o l'evasione ordini. Perché è importante Permette di separare e analizzare comparativamente diversi processi, come quelli in entrata rispetto a quelli in uscita, che hanno flussi e obiettivi distinti. Dove trovare Si trova nella tabella di intestazione dell'ordine di magazzino, solitamente come tipo di documento o campo categoria ordine. Esempi Consegna in entrataSpedizione in uscitaTrasferimento Interno | |||
Attività di gestione magazzino
| Activity | Descrizione | ||
|---|---|---|---|
| Merci ricevute e conteggiate | L'evento indica che la merce è stata scaricata, scansionata e verificata. Di solito viene registrato quando l'addetto alla ricezione conferma a sistema le quantità ricevute per ogni riga dell'ordine inbound. | ||
| Perché è importante È una tappa critica che rende l'inventario ufficialmente disponibile a sistema. La durata e la precisione di questo step impattano direttamente sulla visibilità dello stock e sull'avvio della messa a dimora. Dove trovare Transazione esplicita registrata nei log di inventario o ricezione. Cerchi operazioni relative alla registrazione dell'entrata merce o cambi di stato in 'Received'. Acquisisci Timestamp della transazione che conferma la ricezione merci. Tipo di evento explicit | |||
| Merci stoccate a magazzino | L'evento conferma che la merce è stata spostata e scansionata nell'ubicazione di stoccaggio assegnata. Viene registrato quando l'operatore conferma il completamento della messa a dimora, solitamente tramite terminale RF. | ||
| Perché è importante Segna la fine dell'inbound, rendendo lo stock disponibile. Analizzare questo intervallo è cruciale per la dashboard 'Goods Receipt to Putaway Cycle Time'. Dove trovare Registrato come transazione con timestamp quando lo stato del task di messa a dimora viene aggiornato a 'Completato' o 'Confermato'. Questi dati si trovano nelle tabelle dei task di magazzino o degli ordini di trasferimento. Acquisisci Timestamp di conferma dell'attività di putaway in magazzino. Tipo di evento explicit | |||
| Ordine di magazzino completato | È lo stato finale dell'ordine di magazzino. Indica che tutte le attività, inclusa la spedizione, sono concluse e l'ordine è chiuso a sistema. | ||
| Perché è importante Questa attività segna la fine definitiva del case. Garantisce che l'analisi catturi il ciclo di vita completo di ogni ordine, dall'inizio alla fine. Dove trovare Questo dato può essere dedotto da un cambio di stato nella tabella 'header' dell'ordine. Cerchi stati finali come 'Completed', 'Closed' o 'Invoiced', insieme al relativo timestamp. Acquisisci Dedotto dal timestamp dell'ultimo cambio di stato sull'intestazione dell'ordine. Tipo di evento inferred | |||
| Ordine di magazzino creato | Questo evento segna la creazione di un ordine di magazzino, documento centrale per la gestione dei task inbound, outbound o interni. Viene registrato come transazione esplicita all'inserimento dell'ordine in Blue Yonder WMS. | ||
| Perché è importante Questo è l'inizio definitivo del processo. Analizzare il tempo da questo evento al completamento fornisce il lead time totale di evasione, essenziale per misurare l'efficienza e il rispetto degli SLA. Dove trovare Questo evento è solitamente registrato in una tabella header degli ordini (es. Acquisisci Dal timestamp di creazione del record dell'ordine di magazzino. Tipo di evento explicit | |||
| Spedizione partita | Indica che la merce è stata caricata sul mezzo e il camion è partito. Di solito coincide con la registrazione della 'Goods Issue' (uscita merci) a sistema, che finalizza la spedizione. | ||
| Perché è importante Questo traguardo segna la fine della responsabilità del magazzino sull'ordine. È l'ultimo dato utile per misurare la puntualità della spedizione e il lead time totale di evasione. Dove trovare Questa è una transazione logistica e contabile cruciale, spesso chiamata 'Post Goods Issue' (PGI). Il timestamp funge da orario di spedizione e si trova solitamente nelle tabelle delle consegne outbound. Acquisisci Timestamp della transazione di Post Goods Issue (PGI). Tipo di evento explicit | |||
| Task di Prelievo Creato | Significa la creazione di un task per il prelievo della merce da un'ubicazione. È un evento generato dal WMS quando un ordine in uscita viene rilasciato per il picking. | ||
| Perché è importante Segna l'inizio del processo fisico in uscita. Analizzare il tempo dalla creazione dell'ordine a quella del task di picking rivela eventuali ritardi nell'elaborazione e nell'allocazione. Dove trovare Registrato nelle tabelle di gestione attività o di controllo magazzino. Corrisponde al timestamp di creazione delle attività di picking associate all'ordine di magazzino. Acquisisci Timestamp di creazione dell'attività di picking generata dal sistema. Tipo di evento explicit | |||
| Imballaggio avviato | Questa attività segna l'inizio del confezionamento. Di solito viene registrata quando l'operatore scansiona gli articoli prelevati o il contenitore dell'ordine alla stazione di imballaggio. | ||
| Perché è importante L'evento segnala il passaggio dal picking al packing. Aiuta a isolare la fase di imballaggio per identificare colli di bottiglia specifici in quell'area. Dove trovare Può essere un log esplicito della stazione di imballaggio o essere dedotto dalla prima attività registrata per quel centro di lavoro relativa all'ordine. Acquisisci Timestamp della transazione 'Start Packing' presso la stazione di imballaggio. Tipo di evento explicit | |||
| Ispezione qualità eseguita | Rappresenta un controllo di qualità sulle merci ricevute. Può essere uno step standard per certi materiali o un evento attivato da eccezioni; viene registrato quando l'ispettore qualità inserisce l'esito nel sistema. | ||
| Perché è importante Le ispezioni di qualità possono causare ritardi significativi nel processo di inbound. Analizzarne la frequenza e la durata aiuta a identificare problemi di qualità con i fornitori e colli di bottiglia nel flusso di ispezione. Dove trovare Registrato nei moduli di Quality Management (QM) o nei log associati alla consegna in entrata. Cerchi i codici transazione specifici per i risultati delle ispezioni di qualità o i cambi di stato dell'inventario in 'Quality Hold'. Acquisisci Timestamp del completamento dell'ispezione qualità o dell'aggiornamento di stato. Tipo di evento explicit | |||
| Merce imballata | L'evento conferma che tutti gli articoli sono stati imballati e le etichette generate. Viene registrato quando l'operatore conferma a sistema il completamento del confezionamento per l'ordine. | ||
| Perché è importante Segna la fine delle attività a valore aggiunto in magazzino. Il tempo da qui alla spedizione rappresenta la fase di staging e carico, un'area critica per i ritardi. Dove trovare Transazione esplicita registrata a fine imballaggio. Cerchi il cambio di stato in 'Packed' nella consegna o il timestamp di completamento della stazione di packing. Acquisisci Timestamp della transazione 'Confirm Packing' o 'Close Container'. Tipo di evento explicit | |||
| Merci arrivate in banchina | Questa attività indica l'arrivo fisico del camion alla banchina di ricezione prima dello scarico. L'evento viene spesso registrato dal modulo di Yard Management o al check-in al cancello. | ||
| Perché è importante Tracciare l'orario di arrivo aiuta a misurare la puntualità dei vettori e identifica i ritardi prima della ricezione. Evidenzia colli di bottiglia nella gestione del piazzale o alle baie di scarico. Dove trovare Solitamente registrato nel modulo di Yard Management o Gate Control. Può anche essere un inserimento manuale dell'addetto alla ricezione all'arrivo del mezzo. Acquisisci Timestamp della transazione di check-in del vettore. Tipo di evento explicit | |||
| Merci prelevate da stoccaggio | Rappresenta il completamento del task di picking, in cui l'operatore preleva gli articoli e conferma l'azione a sistema. L'evento è registrato tramite la scansione degli articoli e la conferma sul terminale portatile. | ||
| Perché è importante Questo traguardo conclude la fase di picking. L'accuratezza e la durata sono fondamentali per l'efficienza complessiva e sono alla base dell'analisi sulla 'Picking Accuracy'. Dove trovare Rilevato dal timestamp di conferma quando lo stato dell'attività di picking passa a 'Completato'. Si trova nelle tabelle delle attività di magazzino, spesso collegato allo specifico operatore e all'attrezzatura. Acquisisci Timestamp di conferma dell'attività di picking in magazzino. Tipo di evento explicit | |||
| Notifica consegna in entrata | Rappresenta la ricezione di un Advanced Shipping Notification (ASN) da un fornitore. È un evento esplicito registrato quando l'ASN viene elaborato dal sistema, solitamente tramite EDI o portale fornitore. | ||
| Perché è importante Questa attività attiva la pianificazione dell'inbound e l'allocazione delle risorse. Il tempo tra questa notifica e la ricezione fisica è un KPI chiave per misurare le performance dei fornitori e la visibilità della pipeline in entrata. Dove trovare Rilevato dai log di ricezione ASN o dal timestamp di creazione del documento di consegna in entrata in Blue Yonder WMS. Controllate le tabelle relative agli ASN o alle notifiche di spedizione in entrata. Acquisisci Timestamp dalla creazione di un ASN o di un documento di consegna inbound. Tipo di evento explicit | |||
| Ordine di magazzino annullato | Rappresenta l'annullamento di un ordine di magazzino prima che venga elaborato o spedito. L'evento viene registrato quando un utente esegue un'operazione di cancellazione, aggiornando lo stato in 'Canceled'. | ||
| Perché è importante L'analisi degli annullamenti aiuta a identificare le cause dei fallimenti del processo, come la mancanza di scorte o modifiche da parte del cliente. È un evento finale critico per comprendere le deviazioni e le perdite nel processo. Dove trovare Evento solitamente dedotto dallo stato finale dell'ordine. Si utilizza il timestamp del cambio di stato in 'Canceled' o 'Deleted'. Acquisisci Dedotto dal timestamp di un cambio di stato in 'Annullato'. Tipo di evento inferred | |||
| Staging per la spedizione | Rappresenta lo spostamento dei contenitori imballati dall'area di confezionamento alla corsia di staging per la spedizione. L'evento viene loggato quando l'operatore conferma il trasferimento dell'unità di movimentazione nell'area di staging. | ||
| Perché è importante Questa attività aiuta ad analizzare il dwell time, ovvero il tempo di sosta degli ordini imballati prima del carico. Tempi di staging lunghi possono indicare uno scarso coordinamento con i vettori o un uso inefficiente dello spazio di sosta. Dove trovare Questo evento può essere dedotto dal cambio di ubicazione dell'unità di movimentazione verso un'area di staging, oppure da una conferma esplicita del task 'Move to Stage'. Acquisisci Dedotto dai log dei movimenti di inventario che mostrano il trasferimento a un contenitore di staging. Tipo di evento inferred | |||
| Task di messa a dimora creato | Questa attività indica la creazione automatica di un task per spostare la merce ricevuta dalla banchina all'ubicazione finale. È un evento generato dalla logica del WMS per guidare l'operatore. | ||
| Perché è importante Inizio del processo di messa a dimora. Ritardi tra la ricezione e la creazione del task possono indicare problemi di configurazione o performance, con merce ferma in area ricezione. Dove trovare Generato e registrato nelle tabelle di gestione attività o di controllo magazzino. Cercate il timestamp di creazione delle attività di putaway o degli ordini di trasferimento collegati alla consegna in entrata. Acquisisci Timestamp di creazione dell'attività di putaway generata dal sistema. Tipo di evento explicit | |||
Guide all'Estrazione
Fasi
- Prerequisiti e accesso: assicuratevi di avere un account utente per Blue Yonder WMS con i permessi necessari per eseguire comandi MOCA e accedere alle tabelle richieste, come ord_hdr, pckwrk_dtl e invmov. È necessario l'accesso a un client MOCA, come la Console MOCA o un'interfaccia a riga di comando.
- Revisione e personalizzazione dello script MOCA: copiate lo script MOCA fornito. Verificate con attenzione che i nomi delle tabelle e delle colonne corrispondano alla vostra specifica implementazione di Blue Yonder WMS. Prestate particolare attenzione ai segnaposto come
@[where_clause_dates]e@[where_clause_warehouse], che devono essere sostituiti con valori reali. - Definizione dei parametri di estrazione: sostituite le variabili segnaposto nello script. Per
@[where_clause_dates], definite un intervallo di date specifico, ad esempiowhere adddte between 'YYYY-MM-DD' and 'YYYY-MM-DD'. Per@[where_clause_warehouse], specificate gli ID magazzino che desiderate estrarre, ad esempiowhere wh_id = '[Vostro ID Magazzino]'. - Connessione al server MOCA: avviate il client MOCA (ad es. la Console MOCA) e stabilite una connessione all'ambiente Blue Yonder WMS corretto.
- Esecuzione dello script MOCA: incollate lo script personalizzato nella Console MOCA. Eseguite il comando. Lo script girerà sul server e raccoglierà i dati per tutte le attività specificate.
- Monitoraggio dell'esecuzione: per set di dati molto ampi, la query potrebbe richiedere tempo. Monitorate la console per eventuali messaggi di errore o avvisi sulle prestazioni. Se la query va in timeout, provate a eseguirla per intervalli di date più brevi.
- Esportazione dei risultati: una volta eseguito lo script con successo, i risultati appariranno nella console. Utilizzate la funzione di esportazione del client per salvare l'output in formato CSV. Da riga di comando, un metodo comune è inviare l'output direttamente a un file, ad esempio:
mocarun -S "[Vostro Script MOCA]" > event_log.csv. - Formattazione del CSV per ProcessMind: aprite il file CSV esportato. Verificate che le intestazioni delle colonne corrispondano agli attributi specificati nella query (
WarehouseOrder,ActivityName,EventStartTime, ecc.). Salvate il file con codifica UTF-8 per prevenire problemi di caratteri durante l'upload. - Revisione e caricamento: effettuate un controllo finale sul contenuto del file per individuare eventuali errori o incongruenze evidenti. Una volta pronti, caricate il file CSV su ProcessMind per l'analisi.
Configurazione
- Intervallo di date: si consiglia di estrarre i dati per un periodo compreso tra 3 e 6 mesi per garantire un campione rappresentativo delle varianti di processo. Il segnaposto del filtro data
@[where_clause_dates]deve essere applicato alla colonna timestamp principale in ogni istruzione SELECT, comeadddteomoddte. - Filtri Magazzino e Cliente: utilizzate sempre i filtri per limitare l'ambito dell'estrazione. Il segnaposto
@[where_clause_warehouse]deve essere utilizzato per filtrare per ID magazzino specifici (wh_id) e, se applicabile, ID cliente (client_id). Questo è fondamentale per le prestazioni e la pertinenza dei dati. - Filtri Tipo Ordine: per focalizzare l'analisi, valutate di filtrare per specifici tipi di ordine di magazzino (
ordtyp). Ad esempio, potreste voler analizzare solo gli ordini dei clienti in uscita o gli ordini di acquisto in entrata. Ciò può essere aggiunto alla clausola WHERE nelle sezioni pertinenti dello script. - Considerazioni sulle prestazioni: lo script di estrazione esegue join e union di diverse tabelle di grandi dimensioni. Per evitare di impattare sulle prestazioni del sistema, pianificate l'estrazione durante le ore non di punta. Estrarre i dati in lotti incrementali più piccoli (ad esempio, un mese alla volta) è una strategia sicura per ambienti molto grandi.
- Prerequisiti: l'utente che esegue lo script deve avere i permessi di accesso in lettura per tutte le tabelle citate nella query, inclusi
ord_hdr,ord_dtl,invmov,pckwrk_dtl,asnhdretrn_log. L'utente deve inoltre essere autorizzato a eseguire comandi MOCA.
a Query di Esempio config
publish data
where wh_id = '[Your Warehouse ID]'
and event_time between to_date(@start_date, 'YYYY-MM-DD') and to_date(@end_date, 'YYYY-MM-DD')
|
[
/* 1. Warehouse Order Created */
select
ordnum as WarehouseOrder,
'Warehouse Order Created' as ActivityName,
adddte as EventStartTime,
moddte as EventEndTime,
add_usr_id as UserOperatorId,
ordqty as PlannedQuantity,
null as ActualQuantity,
null as StorageLocation,
req_ship_dte as RequestedCompletionDate,
prifld as PriorityLevel,
'Blue Yonder WMS' as SourceSystem,
sysdate as LastDataUpdate
from ord_hdr
where ordtyp in ('ORD', 'INB')
and adddte between to_date(@start_date, 'YYYY-MM-DD') and to_date(@end_date, 'YYYY-MM-DD')
and wh_id = '[Your Warehouse ID]'
union all
/* 2. Inbound Delivery Notified */
select
supnum as WarehouseOrder, /* ASN number often used as the order key for inbound */
'Inbound Delivery Notified' as ActivityName,
adddte as EventStartTime,
moddte as EventEndTime,
add_usr_id as UserOperatorId,
null as PlannedQuantity,
null as ActualQuantity,
null as StorageLocation,
expdte as RequestedCompletionDate,
null as PriorityLevel,
'Blue Yonder WMS' as SourceSystem,
sysdate as LastDataUpdate
from asnhdr
where adddte between to_date(@start_date, 'YYYY-MM-DD') and to_date(@end_date, 'YYYY-MM-DD')
and wh_id = '[Your Warehouse ID]'
union all
/* 3. Goods Arrived at Dock */
select
refnum as WarehouseOrder,
'Goods Arrived at Dock' as ActivityName,
cmpl_dte as EventStartTime,
cmpl_dte as EventEndTime,
mod_usr_id as UserOperatorId,
null as PlannedQuantity,
null as ActualQuantity,
dstloc as StorageLocation, /* Typically a receiving dock location */
null as RequestedCompletionDate,
null as PriorityLevel,
'Blue Yonder WMS' as SourceSystem,
sysdate as LastDataUpdate
from trn_log
where trncod = 'RCV_ARVL'
and cmpl_dte between to_date(@start_date, 'YYYY-MM-DD') and to_date(@end_date, 'YYYY-MM-DD')
and wh_id = '[Your Warehouse ID]'
union all
/* 4. Goods Received and Counted */
select
ordnum as WarehouseOrder,
'Goods Received and Counted' as ActivityName,
cmpl_dte as EventStartTime,
cmpl_dte as EventEndTime,
mod_usr_id as UserOperatorId,
untqty as PlannedQuantity,
actqty as ActualQuantity,
srcloc as StorageLocation,
null as RequestedCompletionDate,
null as PriorityLevel,
'Blue Yonder WMS' as SourceSystem,
sysdate as LastDataUpdate
from invmov
where trntyp = 'R' /* Standard receipt transaction type */
and cmpl_dte between to_date(@start_date, 'YYYY-MM-DD') and to_date(@end_date, 'YYYY-MM-DD')
and wh_id = '[Your Warehouse ID]'
union all
/* 5. Quality Inspection Performed */
select
ordnum as WarehouseOrder,
'Quality Inspection Performed' as ActivityName,
cmpl_dte as EventStartTime,
cmpl_dte as EventEndTime,
mod_usr_id as UserOperatorId,
untqty as PlannedQuantity,
actqty as ActualQuantity,
srcloc as StorageLocation,
null as RequestedCompletionDate,
null as PriorityLevel,
'Blue Yonder WMS' as SourceSystem,
sysdate as LastDataUpdate
from invmov
where trntyp = 'H' and trncod = 'QA_CMP' /* Example transaction for QA Hold Release/Complete */
and cmpl_dte between to_date(@start_date, 'YYYY-MM-DD') and to_date(@end_date, 'YYYY-MM-DD')
and wh_id = '[Your Warehouse ID]'
union all
/* 6. Putaway Task Created */
select
ordnum as WarehouseOrder,
'Putaway Task Created' as ActivityName,
adddte as EventStartTime,
moddte as EventEndTime,
add_usr_id as UserOperatorId,
pckqty as PlannedQuantity,
null as ActualQuantity,
srcloc as StorageLocation,
null as RequestedCompletionDate,
prifld as PriorityLevel,
'Blue Yonder WMS' as SourceSystem,
sysdate as LastDataUpdate
from pckwrk_dtl
where wrktyp = 'P' /* Putaway work type */
and adddte between to_date(@start_date, 'YYYY-MM-DD') and to_date(@end_date, 'YYYY-MM-DD')
and wh_id = '[Your Warehouse ID]'
union all
/* 7. Goods Put Away in Storage */
select
ordnum as WarehouseOrder,
'Goods Put Away in Storage' as ActivityName,
cmpl_dte as EventStartTime,
cmpl_dte as EventEndTime,
mod_usr_id as UserOperatorId,
untqty as PlannedQuantity,
actqty as ActualQuantity,
dstloc as StorageLocation,
null as RequestedCompletionDate,
null as PriorityLevel,
'Blue Yonder WMS' as SourceSystem,
sysdate as LastDataUpdate
from invmov
where trntyp = 'M' and trncod = 'PUTAWAY' /* Move transaction for putaway */
and cmpl_dte between to_date(@start_date, 'YYYY-MM-DD') and to_date(@end_date, 'YYYY-MM-DD')
and wh_id = '[Your Warehouse ID]'
union all
/* 8. Picking Task Created */
select
ordnum as WarehouseOrder,
'Picking Task Created' as ActivityName,
adddte as EventStartTime,
moddte as EventEndTime,
add_usr_id as UserOperatorId,
pckqty as PlannedQuantity,
null as ActualQuantity,
srcloc as StorageLocation,
null as RequestedCompletionDate,
prifld as PriorityLevel,
'Blue Yonder WMS' as SourceSystem,
sysdate as LastDataUpdate
from pckwrk_dtl
where wrktyp = 'O' /* Outbound Picking work type */
and adddte between to_date(@start_date, 'YYYY-MM-DD') and to_date(@end_date, 'YYYY-MM-DD')
and wh_id = '[Your Warehouse ID]'
union all
/* 9. Goods Picked from Storage */
select
ordnum as WarehouseOrder,
'Goods Picked from Storage' as ActivityName,
pk_end_dte as EventStartTime,
pk_end_dte as EventEndTime,
pckr_id as UserOperatorId,
pckqty as PlannedQuantity,
actqty as ActualQuantity,
srcloc as StorageLocation,
null as RequestedCompletionDate,
prifld as PriorityLevel,
'Blue Yonder WMS' as SourceSystem,
sysdate as LastDataUpdate
from pckwrk_dtl
where wrktyp = 'O'
and statcod = 'P' /* Status 'Picked' */
and pk_end_dte between to_date(@start_date, 'YYYY-MM-DD') and to_date(@end_date, 'YYYY-MM-DD')
and wh_id = '[Your Warehouse ID]'
union all
/* 10. Packing Initiated */
select
ordnum as WarehouseOrder,
'Packing Initiated' as ActivityName,
cmpl_dte as EventStartTime,
cmpl_dte as EventEndTime,
mod_usr_id as UserOperatorId,
null as PlannedQuantity,
null as ActualQuantity,
dstloc as StorageLocation, /* Packing station */
null as RequestedCompletionDate,
null as PriorityLevel,
'Blue Yonder WMS' as SourceSystem,
sysdate as LastDataUpdate
from trn_log
where trncod = 'PACK_INIT'
and cmpl_dte between to_date(@start_date, 'YYYY-MM-DD') and to_date(@end_date, 'YYYY-MM-DD')
and wh_id = '[Your Warehouse ID]'
union all
/* 11. Goods Packed */
select
ordnum as WarehouseOrder,
'Goods Packed' as ActivityName,
moddte as EventStartTime,
moddte as EventEndTime,
mod_usr_id as UserOperatorId,
null as PlannedQuantity,
null as ActualQuantity,
null as StorageLocation,
req_ship_dte as RequestedCompletionDate,
prifld as PriorityLevel,
'Blue Yonder WMS' as SourceSystem,
sysdate as LastDataUpdate
from ord_hdr
where statcod >= 80 and statcod < 90 /* Example status range for Packed */
and moddte between to_date(@start_date, 'YYYY-MM-DD') and to_date(@end_date, 'YYYY-MM-DD')
and wh_id = '[Your Warehouse ID]'
union all
/* 12. Staging for Shipment */
select
ordnum as WarehouseOrder,
'Staging for Shipment' as ActivityName,
cmpl_dte as EventStartTime,
cmpl_dte as EventEndTime,
mod_usr_id as UserOperatorId,
untqty as PlannedQuantity,
actqty as ActualQuantity,
dstloc as StorageLocation, /* Staging lane */
null as RequestedCompletionDate,
null as PriorityLevel,
'Blue Yonder WMS' as SourceSystem,
sysdate as LastDataUpdate
from invmov
where trncod = 'STG_MOVE' /* Move to staging transaction */
and cmpl_dte between to_date(@start_date, 'YYYY-MM-DD') and to_date(@end_date, 'YYYY-MM-DD')
and wh_id = '[Your Warehouse ID]'
union all
/* 13. Shipment Dispatched */
select
ordnum as WarehouseOrder,
'Shipment Dispatched' as ActivityName,
act_ship_dte as EventStartTime,
act_ship_dte as EventEndTime,
mod_usr_id as UserOperatorId,
ordqty as PlannedQuantity,
shpqty as ActualQuantity,
null as StorageLocation,
req_ship_dte as RequestedCompletionDate,
prifld as PriorityLevel,
'Blue Yonder WMS' as SourceSystem,
sysdate as LastDataUpdate
from ord_hdr
where statcod = 90 /* Status Shipped */
and act_ship_dte between to_date(@start_date, 'YYYY-MM-DD') and to_date(@end_date, 'YYYY-MM-DD')
and wh_id = '[Your Warehouse ID]'
union all
/* 14. Warehouse Order Completed */
select
ordnum as WarehouseOrder,
'Warehouse Order Completed' as ActivityName,
moddte as EventStartTime,
moddte as EventEndTime,
mod_usr_id as UserOperatorId,
ordqty as PlannedQuantity,
shpqty as ActualQuantity,
null as StorageLocation,
req_ship_dte as RequestedCompletionDate,
prifld as PriorityLevel,
'Blue Yonder WMS' as SourceSystem,
sysdate as LastDataUpdate
from ord_hdr
where statcod = 99 /* Status Completed/Closed */
and moddte between to_date(@start_date, 'YYYY-MM-DD') and to_date(@end_date, 'YYYY-MM-DD')
and wh_id = '[Your Warehouse ID]'
union all
/* 15. Warehouse Order Canceled */
select
ordnum as WarehouseOrder,
'Warehouse Order Canceled' as ActivityName,
moddte as EventStartTime,
moddte as EventEndTime,
mod_usr_id as UserOperatorId,
ordqty as PlannedQuantity,
null as ActualQuantity,
null as StorageLocation,
req_ship_dte as RequestedCompletionDate,
prifld as PriorityLevel,
'Blue Yonder WMS' as SourceSystem,
sysdate as LastDataUpdate
from ord_hdr
where statcod = 91 /* Example Canceled status */
and moddte between to_date(@start_date, 'YYYY-MM-DD') and to_date(@end_date, 'YYYY-MM-DD')
and wh_id = '[Your Warehouse ID]'
] Fasi
- Stabilire la connessione al database: ottenete le credenziali di sola lettura e i dettagli di connessione (indirizzo server, nome database, porta) per il database sottostante di Blue Yonder WMS, solitamente Oracle o SQL Server. Utilizzate un client SQL standard come DBeaver, Oracle SQL Developer o SQL Server Management Studio per connettervi.
- Identificare le tabelle WMS principali: la query fornita si basa su tabelle Blue Yonder WMS standard come
ord(ordini),pckwrk(lavoro di picking),wrkque(coda di lavoro),invmov(movimenti di inventario) elodhdr(intestazione del carico). Verificate questi nomi e le strutture delle colonne nel dizionario dei dati del vostro sistema, poiché potrebbero esserci personalizzazioni. - Revisione e parametrizzazione della query SQL: copiate lo script SQL fornito nel vostro client SQL. Individuate le variabili segnaposto all'interno della Common Table Expression (CTE)
BaseOrdersall'inizio dello script. - Impostare l'intervallo di date: modificate le clausole
adddte >= 'YYYY-MM-DD'eadddte < 'YYYY-MM-DD'per definire la finestra temporale di estrazione dei dati. Per l'analisi iniziale si consiglia un periodo di 3-6 mesi. - Applicare i filtri specifici del sistema: regolate il filtro
wh_id = '[Vostro_ID_Magazzino]'per limitare l'estrazione a un magazzino specifico. Aggiungete o modificate altri filtri, comeclient_idper ambienti multi-cliente, se necessario. - Eseguire lo script di estrazione: lanciate lo script SQL completo. La query è progettata per consolidare gli eventi da più tabelle in un unico formato di Event Log unificato. I tempi di esecuzione variano in base all'intervallo di date e al volume dei dati.
- Validare i risultati iniziali: al termine della query, controllate rapidamente l'output. Verificate che le colonne
WarehouseOrder,ActivityNameeEventStartTimesiano popolate correttamente. Il numero di righe dovrebbe essere significativamente superiore al numero di ordini di magazzino univoci. - Esportare l'Event Log: esportate i risultati della query in un file CSV. Assicuratevi che la codifica del file sia impostata su UTF-8 per evitare problemi con i caratteri durante l'upload.
- Preparazione per l'upload: confermate che le intestazioni delle colonne nel file CSV esportato corrispondano agli attributi richiesti, ad esempio
WarehouseOrder,ActivityName,EventStartTime. Il file è ora pronto per essere caricato nel software di Process Mining.
Configurazione
- Prerequisiti: è necessario disporre di un accesso SQL in sola lettura al database Blue Yonder WMS. La familiarità con la configurazione specifica del WMS e con il modello dati della propria organizzazione è di grande utilità.
- Connessione al database: questo metodo richiede una connettività diretta al database. Assicuratevi che siano attive le regole firewall o i permessi di accesso alla rete necessari prima di iniziare.
- Filtro dell'intervallo di date: è fondamentale impostare un intervallo di date specifico nella clausola
WHEREdella query per gestire il volume dei dati. Un intervallo da 3 a 6 mesi è solitamente sufficiente per un'analisi significativa senza causare un carico eccessivo sul database. - Filtro Magazzino e Cliente: in ambienti multi-magazzino o multi-cliente, filtrate sempre per lo specifico
wh_id(ID Magazzino) eclient_id(ID Cliente) per garantire che l'analisi sia focalizzata e il set di dati gestibile. - Considerazioni sulle prestazioni: l'esecuzione di questa query su un database di produzione può influire sulle prestazioni del sistema. Si consiglia vivamente di eseguirla durante le ore non di punta o, preferibilmente, su un database dedicato alla reportistica o replicato, se disponibile.
- Personalizzazioni del sistema: la query fornita utilizza nomi di tabelle e colonne standard. Tenete conto della necessità di adattare questi nomi in base a eventuali personalizzazioni o differenze di versione nella vostra istanza di Blue Yonder WMS. Consultate l'amministratore del sistema WMS o il dizionario dei dati per orientarvi.
a Query di Esempio sql
WITH BaseOrders AS (
SELECT
ordnum AS WarehouseOrder
FROM
ord
WHERE
adddte >= '2023-01-01' -- Placeholder: Set your start date
AND adddte < '2023-07-01' -- Placeholder: Set your end date
AND wh_id = '[Your_Warehouse_ID]' -- Placeholder: Set your warehouse ID
)
-- 1. Warehouse Order Created
SELECT
o.ordnum AS WarehouseOrder,
'Warehouse Order Created' AS ActivityName,
o.adddte AS EventStartTime,
o.adddte AS EventEndTime,
o.add_usr_id AS UserOperatorId,
o.req_shp_dte AS RequestedCompletionDate,
o.prirty AS PriorityLevel,
CAST(o.ordqty AS DECIMAL(18, 4)) AS PlannedQuantity,
NULL AS ActualQuantity,
NULL AS StorageLocation,
'Blue Yonder WMS' AS SourceSystem,
GETDATE() AS LastDataUpdate
FROM ord o
WHERE o.ordnum IN (SELECT WarehouseOrder FROM BaseOrders)
UNION ALL
-- 2. Inbound Delivery Notified (ASN Received)
SELECT
a.ordnum AS WarehouseOrder,
'Inbound Delivery Notified' AS ActivityName,
a.adddte AS EventStartTime,
a.adddte AS EventEndTime,
a.add_usr_id AS UserOperatorId,
a.exp_arv_dte AS RequestedCompletionDate,
NULL AS PriorityLevel,
CAST(ad.qtyord AS DECIMAL(18, 4)) AS PlannedQuantity,
NULL AS ActualQuantity,
NULL AS StorageLocation,
'Blue Yonder WMS' AS SourceSystem,
GETDATE() AS LastDataUpdate
FROM asnhdr a
JOIN asndtl ad ON a.asnhdr_id = ad.asnhdr_id
WHERE a.ordnum IN (SELECT WarehouseOrder FROM BaseOrders)
UNION ALL
-- 3. Goods Arrived at Dock
SELECT
t.ordnum AS WarehouseOrder,
'Goods Arrived at Dock' AS ActivityName,
t.checkin_dte AS EventStartTime,
t.checkin_dte AS EventEndTime,
t.usr_id AS UserOperatorId,
NULL AS RequestedCompletionDate,
NULL AS PriorityLevel,
NULL AS PlannedQuantity,
NULL AS ActualQuantity,
t.dock_loc AS StorageLocation,
'Blue Yonder WMS' AS SourceSystem,
GETDATE() AS LastDataUpdate
FROM trk_log t -- Note: Yard management table may vary
WHERE t.ordnum IN (SELECT WarehouseOrder FROM BaseOrders) AND t.checkin_dte IS NOT NULL
UNION ALL
-- 4. Goods Received and Counted
SELECT
i.ordnum AS WarehouseOrder,
'Goods Received and Counted' AS ActivityName,
i.moddte AS EventStartTime,
i.moddte AS EventEndTime,
i.mod_usr_id AS UserOperatorId,
NULL AS RequestedCompletionDate,
NULL AS PriorityLevel,
CAST(i.qtyexp AS DECIMAL(18, 4)) AS PlannedQuantity,
CAST(i.qtyrcv AS DECIMAL(18, 4)) AS ActualQuantity,
i.inv_loc AS StorageLocation,
'Blue Yonder WMS' AS SourceSystem,
GETDATE() AS LastDataUpdate
FROM rcvlin i -- Receiving Line table
WHERE i.ordnum IN (SELECT WarehouseOrder FROM BaseOrders) AND i.qtyrcv > 0
UNION ALL
-- 5. Quality Inspection Performed
SELECT
q.ordnum AS WarehouseOrder,
'Quality Inspection Performed' AS ActivityName,
q.insp_dte AS EventStartTime,
q.insp_dte AS EventEndTime,
q.usr_id AS UserOperatorId,
NULL AS RequestedCompletionDate,
NULL AS PriorityLevel,
CAST(q.insp_qty AS DECIMAL(18, 4)) AS PlannedQuantity,
CAST(q.act_qty AS DECIMAL(18, 4)) AS ActualQuantity,
q.stoloc AS StorageLocation,
'Blue Yonder WMS' AS SourceSystem,
GETDATE() AS LastDataUpdate
FROM qc_log q -- Quality Control log table may vary
WHERE q.ordnum IN (SELECT WarehouseOrder FROM BaseOrders) AND q.status = 'COMPLETED'
UNION ALL
-- 6. Putaway Task Created
SELECT
w.ordnum AS WarehouseOrder,
'Putaway Task Created' AS ActivityName,
w.adddte AS EventStartTime,
NULL AS EventEndTime,
w.add_usr_id AS UserOperatorId,
NULL AS RequestedCompletionDate,
w.wrkprt AS PriorityLevel,
CAST(w.untqty AS DECIMAL(18, 4)) AS PlannedQuantity,
NULL AS ActualQuantity,
w.frmloc AS StorageLocation, -- From receiving dock
'Blue Yonder WMS' AS SourceSystem,
GETDATE() AS LastDataUpdate
FROM wrkque w
WHERE w.ordnum IN (SELECT WarehouseOrder FROM BaseOrders) AND w.wrktyp = 'PUTAWAY'
UNION ALL
-- 7. Goods Put Away in Storage
SELECT
m.ordnum AS WarehouseOrder,
'Goods Put Away in Storage' AS ActivityName,
m.adddte AS EventStartTime,
m.adddte AS EventEndTime,
m.usr_id AS UserOperatorId,
NULL AS RequestedCompletionDate,
NULL AS PriorityLevel,
NULL AS PlannedQuantity,
CAST(m.movqty AS DECIMAL(18, 4)) AS ActualQuantity,
m.toloc AS StorageLocation, -- Destination storage location
'Blue Yonder WMS' AS SourceSystem,
GETDATE() AS LastDataUpdate
FROM invmov m -- Inventory Movement table
WHERE m.ordnum IN (SELECT WarehouseOrder FROM BaseOrders) AND m.trntyp = 'PUTFIN' -- Putaway Finish transaction type
UNION ALL
-- 8. Picking Task Created
SELECT
w.ordnum AS WarehouseOrder,
'Picking Task Created' AS ActivityName,
w.adddte AS EventStartTime,
NULL AS EventEndTime,
w.add_usr_id AS UserOperatorId,
o.req_shp_dte AS RequestedCompletionDate,
w.wrkprt AS PriorityLevel,
CAST(w.untqty AS DECIMAL(18, 4)) AS PlannedQuantity,
NULL AS ActualQuantity,
w.frmloc AS StorageLocation,
'Blue Yonder WMS' AS SourceSystem,
GETDATE() AS LastDataUpdate
FROM wrkque w
JOIN ord o ON w.ordnum = o.ordnum
WHERE w.ordnum IN (SELECT WarehouseOrder FROM BaseOrders) AND w.wrktyp = 'PICK'
UNION ALL
-- 9. Goods Picked from Storage
SELECT
p.ordnum AS WarehouseOrder,
'Goods Picked from Storage' AS ActivityName,
p.moddte AS EventStartTime,
p.moddte AS EventEndTime,
p.mod_usr_id AS UserOperatorId,
NULL AS RequestedCompletionDate,
NULL AS PriorityLevel,
CAST(p.pckqty AS DECIMAL(18, 4)) AS PlannedQuantity, -- Often planned and actual are the same here
CAST(p.pckqty AS DECIMAL(18, 4)) AS ActualQuantity,
p.pckloc AS StorageLocation,
'Blue Yonder WMS' AS SourceSystem,
GETDATE() AS LastDataUpdate
FROM pckwrk p
WHERE p.ordnum IN (SELECT WarehouseOrder FROM BaseOrders) AND p.wrksts = 'C' -- Status for Completed Pick
UNION ALL
-- 10. Packing Initiated
SELECT
s.ordnum AS WarehouseOrder,
'Packing Initiated' AS ActivityName,
s.moddte AS EventStartTime,
NULL AS EventEndTime,
s.mod_usr_id AS UserOperatorId,
NULL AS RequestedCompletionDate,
NULL AS PriorityLevel,
NULL AS PlannedQuantity,
NULL AS ActualQuantity,
s.pckstn AS StorageLocation, -- Packing Station
'Blue Yonder WMS' AS SourceSystem,
GETDATE() AS LastDataUpdate
FROM ord_status_log s -- Status log table may vary
WHERE s.ordnum IN (SELECT WarehouseOrder FROM BaseOrders) AND s.ordsta = 'PCK_START'
UNION ALL
-- 11. Goods Packed
SELECT
c.ordnum AS WarehouseOrder,
'Goods Packed' AS ActivityName,
c.moddte AS EventStartTime,
c.moddte AS EventEndTime,
c.mod_usr_id AS UserOperatorId,
NULL AS RequestedCompletionDate,
NULL AS PriorityLevel,
NULL AS PlannedQuantity,
CAST(c.actqty AS DECIMAL(18, 4)) AS ActualQuantity,
c.pckstn AS StorageLocation, -- Packing Station
'Blue Yonder WMS' AS SourceSystem,
GETDATE() AS LastDataUpdate
FROM ship_cntr c -- Shipping Container table
WHERE c.ordnum IN (SELECT WarehouseOrder FROM BaseOrders) AND c.cntr_sts = 'PACKED'
UNION ALL
-- 12. Staging for Shipment
SELECT
m.ordnum AS WarehouseOrder,
'Staging for Shipment' AS ActivityName,
m.adddte AS EventStartTime,
m.adddte AS EventEndTime,
m.usr_id AS UserOperatorId,
NULL AS RequestedCompletionDate,
NULL AS PriorityLevel,
NULL AS PlannedQuantity,
CAST(m.movqty AS DECIMAL(18, 4)) AS ActualQuantity,
m.toloc AS StorageLocation, -- Staging location
'Blue Yonder WMS' AS SourceSystem,
GETDATE() AS LastDataUpdate
FROM invmov m
WHERE m.ordnum IN (SELECT WarehouseOrder FROM BaseOrders) AND m.trntyp = 'STAGEMOV' -- Staging Movement transaction type
UNION ALL
-- 13. Shipment Dispatched
SELECT
l.ordnum AS WarehouseOrder,
'Shipment Dispatched' AS ActivityName,
l.shp_dte AS EventStartTime,
l.shp_dte AS EventEndTime,
l.mod_usr_id AS UserOperatorId,
NULL AS RequestedCompletionDate,
NULL AS PriorityLevel,
NULL AS PlannedQuantity,
CAST(sl.shpqty AS DECIMAL(18, 4)) AS ActualQuantity,
l.wh_id AS StorageLocation,
'Blue Yonder WMS' AS SourceSystem,
GETDATE() AS LastDataUpdate
FROM lodhdr l
JOIN ship_line sl ON l.lodnum = sl.lodnum
WHERE l.ordnum IN (SELECT WarehouseOrder FROM BaseOrders) AND l.lodsts = 'S' -- Shipped status
UNION ALL
-- 14. Warehouse Order Completed
SELECT
o.ordnum AS WarehouseOrder,
'Warehouse Order Completed' AS ActivityName,
o.moddte AS EventStartTime,
o.moddte AS EventEndTime,
o.mod_usr_id AS UserOperatorId,
o.req_shp_dte AS RequestedCompletionDate,
o.prirty AS PriorityLevel,
CAST(o.ordqty AS DECIMAL(18, 4)) AS PlannedQuantity,
CAST(o.shpqty AS DECIMAL(18, 4)) AS ActualQuantity,
NULL AS StorageLocation,
'Blue Yonder WMS' AS SourceSystem,
GETDATE() AS LastDataUpdate
FROM ord o
WHERE o.ordnum IN (SELECT WarehouseOrder FROM BaseOrders) AND o.ordsta = 'C' -- Status for Completed
UNION ALL
-- 15. Warehouse Order Canceled
SELECT
o.ordnum AS WarehouseOrder,
'Warehouse Order Canceled' AS ActivityName,
o.moddte AS EventStartTime,
o.moddte AS EventEndTime,
o.mod_usr_id AS UserOperatorId,
o.req_shp_dte AS RequestedCompletionDate,
o.prirty AS PriorityLevel,
CAST(o.ordqty AS DECIMAL(18, 4)) AS PlannedQuantity,
NULL AS ActualQuantity,
NULL AS StorageLocation,
'Blue Yonder WMS' AS SourceSystem,
GETDATE() AS LastDataUpdate
FROM ord o
WHERE o.ordnum IN (SELECT WarehouseOrder FROM BaseOrders) AND o.ordsta = 'X'; -- Status for Canceled