Votre modèle de données de gestion d'entrepôt
Votre modèle de données de gestion d'entrepôt
- Attributs recommandés à collecter
- Activités clés à suivre pour les opérations d'entrepôt
- Guide d'extraction adapté à Körber WMS
Attributs de gestion d'entrepôt
| Nom | Description | ||
|---|---|---|---|
| Commande d'Entrepôt WarehouseOrder | L'identifiant unique d'une commande d'entrepôt, qui sert d'identifiant de cas principal pour le suivi de toutes les activités logistiques connexes. | ||
| Description La Commande d'Entrepôt est l'identifiant central qui regroupe toutes les tâches et événements liés à une demande logistique spécifique, telle qu'une réception entrante ou une expédition sortante. Elle permet le suivi de bout en bout du cycle de vie d'une commande au sein de l'entrepôt, de sa création à son expédition finale ou son annulation. Dans le Process Mining, l'analyse par Commande d'Entrepôt permet la visualisation du flux de processus entier pour chaque commande. Cela aide à identifier les chemins courants, les écarts, les goulots d'étranglement et le temps de cycle global pour différents types de commandes, tels que les commandes standards par rapport aux commandes accélérées. Pourquoi c'est important C'est l'ID de Cas essentiel qui connecte tous les événements liés, permettant une analyse complète de bout en bout du processus de gestion d'entrepôt pour chaque commande spécifique. Où obtenir Cet identifiant se trouve généralement dans les tables principales de gestion des commandes au sein de Körber WMS. Consultez la documentation de Körber WMS pour les noms spécifiques des tables et des champs, tels que les en-têtes de commande. Exemples CO-0012845CO-0012991CO-0013402 | |||
| Heure de l'événement EventTime | La date et l'heure précises auxquelles l'activité ou l'événement a été enregistré dans le système source. | ||
| Description L'heure de l'événement est l'horodatage associé à chaque activité, marquant le moment exact où elle s'est produite. Ces données temporelles sont fondamentales pour calculer les durées, les temps de cycle et les temps d'attente entre les différentes étapes du processus. Dans l'analyse de processus, cet attribut est utilisé pour ordonner les événements chronologiquement, construire le flux de processus et effectuer toute analyse basée sur le temps. Il est essentiel pour les tableaux de bord qui mesurent les performances, comme l'analyse des temps de cycle, et pour le calcul des KPI comme le « Temps de cycle moyen de bout en bout des commandes ». Pourquoi c'est important Cet horodatage est crucial pour ordonner les événements, calculer toutes les métriques basées sur le temps comme les temps de cycle et les temps d'attente, et comprendre la performance du processus. Où obtenir Situé dans toutes les tables de transactions et de journaux d'événements au sein de Körber WMS, généralement nommé quelque chose comme « CreationDate », « Timestamp » ou « EventDateTime ». Exemples 2023-10-26T10:00:00Z2023-10-26T11:35:10Z2023-10-27T08:15:00Z | |||
| Nom de l'activité ActivityName | Le nom de l'événement ou de la tâche spécifique qui s'est produit à un moment donné du cycle de vie de la commande d'entrepôt. | ||
| Description Cet attribut décrit une étape unique dans le processus de gestion d'entrepôt, comme 'Marchandises prélevées du stockage' ou 'Expédition expédiée'. Chaque activité représente un événement commercial distinct enregistré dans le système, associé à un horodatage spécifique. L'analyse des activités est le cœur du Process Mining. Elle permet la construction de la carte des processus, montrant comment le travail circule réellement dans l'entrepôt. Cela aide à identifier les goulots d'étranglement, les boucles de retravail et les écarts par rapport à la procédure opérationnelle standard. Pourquoi c'est important Il définit les étapes du processus, constituant la base de la carte de processus et permettant l'analyse du flux de processus, des variations et des goulots d'étranglement. Où obtenir Tables de journal d'événements ou de transactions dans Körber WMS, où les événements métier sont enregistrés. Cela est souvent dérivé des codes de transaction ou des descriptions de changement de statut. Exemples Tâche de prélèvement crééeMarchandises emballéesExpédition expédiéeCommande d'entrepôt annulée | |||
| Dernière mise à jour des données LastDataUpdate | L'horodatage indiquant la dernière fois que les `données` de ce `processus` ont été actualisées. | ||
| Description Cet attribut spécifie la date et l'heure de la dernière extraction ou mise à jour des données. Il fournit un contexte sur la fraîcheur des données analysées, garantissant que les utilisateurs sont conscients de l'actualité de la vue du processus. Dans les dashboards et les rapports, cette information est vitale pour la transparence. Elle aide les utilisateurs à comprendre s'ils examinent des données en temps réel, quotidiennes ou hebdomadaires, ce qui a un impact sur la prise de décision. Pourquoi c'est important Informe les utilisateurs sur la pertinence des données, ce qui est essentiel pour prendre des décisions commerciales précises et pertinentes basées sur l'analyse. Où obtenir Cette valeur est générée et enregistrée par le pipeline de données ou l'outil ETL à la fin de chaque cycle de rafraîchissement des données. Exemples 2024-05-21T02:00:00Z2024-05-22T02:00:00Z | |||
| Système source SourceSystem | Le système d'où les données ont été extraites. | ||
| Description Cet attribut identifie le système d'origine des données d'événement, qui est 'Körber WMS' dans ce cas. Dans les environnements avec plusieurs systèmes intégrés, ce champ aide à différencier les sources de données et à suivre la lignée des données. Pour l'analyse, il fournit un contexte, surtout lors de la combinaison de données provenant de plusieurs systèmes. Il aide à garantir la qualité des données et peut être utilisé pour filtrer l'analyse aux activités d'un système spécifique. Pourquoi c'est important Fournit un contexte crucial sur l'origine des données, assurant clarté et traçabilité, en particulier dans les environnements avec plusieurs systèmes interconnectés. Où obtenir C'est typiquement une valeur statique ajoutée lors du processus d'extraction de données pour identifier le système source. Exemples Körber WMSKörberOne | |||
| ID Utilisateur/Opérateur UserOperatorId | L'identifiant de l'utilisateur ou de l'opérateur qui a effectué l'activité. | ||
| Description Cet attribut identifie l'employé d'entrepôt ou l'utilisateur du système responsable de l'exécution d'une tâche spécifique, comme le prélèvement, l'emballage ou le rangement des marchandises. Il peut également faire référence à un système automatisé ou un bot dans certains cas. Cette dimension est essentielle pour l'analyse des performances des ressources. Elle aide à comprendre la répartition de la charge de travail, à identifier les employés les plus performants et à repérer les individus qui pourraient nécessiter une formation supplémentaire. Elle constitue la base du dashboard 'Utilisation des ressources et charge de travail' et du KPI 'Débit par opérateur'. Pourquoi c'est important Permet l'analyse des performances de la main-d'œuvre, de la répartition de la charge de travail et de l'efficacité des ressources, aidant à identifier les besoins en formation et les employés performants. Où obtenir Trouvé dans les tables de transactions ou de journaux où les actions des utilisateurs sont enregistrées. Recherchez des champs tels que « UserID », « UserName », « ExecutedBy » ou « OperatorID ». Exemples JSMITHABOT01CDAVISsystème | |||
| Niveau de priorité PriorityLevel | Indique l'urgence ou la priorité de la commande d'entrepôt, par exemple standard ou accélérée. | ||
| Description Le Niveau de Priorité est une classification attribuée à une commande d'entrepôt pour dicter son urgence de traitement. Par exemple, une commande peut être marquée comme 'Expédiée' ou 'Haute Priorité', indiquant qu'elle doit être traitée avant les commandes standards. Cet attribut est essentiel pour le dashboard 'Analyse des Commandes Urgentes' et le KPI '% Expéditions Accélérées'. Il aide à comprendre l'impact des commandes urgentes sur les opérations globales de l'entrepôt, leurs coûts associés et si leurs temps de traitement sont réellement plus rapides que ceux des commandes standards. Pourquoi c'est important Aide à analyser le traitement des commandes urgentes, leur fréquence et leur impact sur la performance globale des processus et les coûts. Où obtenir Situé dans les données d'en-tête de commande. Recherchez des champs comme « Priority », « Urgency » ou un indicateur de niveau de service d'expédition spécifique. Exemples StandardAccéléréNuitéeCritique | |||
| Quantité réelle ActualQuantity | La quantité d'un article qui a été réellement traitée ou enregistrée lors d'une tâche. | ||
| Description La quantité réelle est le nombre d'unités physiquement comptées, prélevées, emballées ou reçues par l'opérateur de l'entrepôt. Cette valeur est enregistrée à l'achèvement de la tâche et peut parfois différer de la « quantité planifiée » en raison de ruptures de stock, de dommages ou d'erreurs humaines. La comparaison de cet attribut avec la « quantité planifiée » est fondamentale pour le tableau de bord « Santé et précision du processus d'inventaire ». Les écarts entre les deux valeurs sont des indicateurs directs de défaillances de processus ou d'inexactitudes de données nécessitant une enquête. Pourquoi c'est important Fournit la réalité de ce qui a été physiquement traité, le rendant essentiel pour calculer les taux d'écart et assurer la précision des stocks. Où obtenir Trouvé dans les enregistrements de confirmation de transaction ou d'achèvement de tâche. Les noms de champs peuvent inclure « ActualQty », « ConfirmedQuantity » ou « PickedQuantity ». Exemples 10491 | |||
| SKU du produit ProductSKU | Le Stock Keeping Unit (SKU) ou le numéro de matériau de l'article traité. | ||
| Description Le SKU Produit est l'identifiant unique d'un produit ou d'un matériau spécifique impliqué dans la commande d'entrepôt. Une commande peut contenir un ou plusieurs SKU. L'analyse par SKU Produit permet de comprendre si certains produits ont des processus de manutention plus complexes ou problématiques. Par exemple, vous pourriez découvrir que les articles fragiles ont des temps d'emballage plus longs ou que certains SKU sont fréquemment associés à des écarts de prélèvement. Cela peut éclairer les changements de stratégie de stockage ou de procédures de manutention. Pourquoi c'est important Permet l'analyse des performances des processus en fonction de produits spécifiques, révélant si certains articles sont à l'origine de retards ou d'erreurs. Où obtenir Trouvé dans les tables des lignes de commande, liées à l'en-tête de la commande d'entrepôt principale. Les noms de champs courants incluent « SKU », « MaterialNumber » ou « ItemCode ». Exemples SKU-847361SKU-991204SKU-103557 | |||
| Date d'achèvement demandée RequestedCompletionDate | La date à laquelle le client ou la partie prenante interne a demandé que la commande soit achevée. | ||
| Description C'est la date cible d'achèvement ou d'expédition pour une commande sortante, souvent dictée par les attentes des clients ou les accords de niveau de service (SLA). Elle sert de date limite principale par rapport à laquelle la performance réelle est mesurée. Cette date est cruciale pour le dashboard 'Analyse des Commandes Urgentes'. Comparer la 'Date d'Achèvement Demandée' avec la 'Date d'Achèvement Réelle' (l'horodatage de l'activité 'Expédition Expédiée' ou 'Commande d'Entrepôt Terminée') aide à déterminer la performance à temps et à identifier les commandes qui risquent d'être en retard. Pourquoi c'est important Fournit la base de référence pour mesurer la performance à temps et respecter les accords de niveau de service (SLA), mettant en évidence les commandes potentiellement en retard. Où obtenir Situé dans la table d'en-tête de commande. Les noms de champs courants incluent « RequiredDeliveryDate », « RequestedShipDate » ou « SLA ». Exemples 2023-10-28T23:59:59Z2023-11-05T23:59:59Z | |||
| Durée de l'activité ActivityDuration | Le temps total nécessaire pour compléter une activité spécifique. | ||
| Description Cette métrique représente le temps de traitement pour un seul événement, calculé comme la différence entre son Heure de Fin et son Heure de Début. Si une Heure de Fin n'est pas disponible, elle peut être déduite du temps entre les événements consécutifs. L'analyse de la durée des activités est essentielle pour identifier les tâches spécifiques qui consomment le plus de temps dans le processus global. Elle est utilisée dans des dashboards comme 'Utilisation des ressources et charge de travail' pour comprendre l'effort par tâche et est cruciale pour calculer des KPI comme le 'Temps Moyen d'Inspection Qualité'. Pourquoi c'est important Mesure directement le temps passé sur des tâches individuelles, aidant à identifier les étapes les plus longues et les moins efficaces du processus d'entrepôt. Où obtenir Ceci est typiquement calculé pendant la transformation des données en soustrayant l'horodatage de début de l'horodatage de fin d'une activité. Exemples 9006501200 | |||
| Emplacement de stockage StorageLocation | L'emplacement spécifique dans l'entrepôt, tel qu'un casier ou une allée, où les marchandises sont stockées ou prélevées. | ||
| Description Cet attribut identifie la coordonnée physique au sein de l'entrepôt, comme un rayonnage, une étagère ou un casier. Il est pertinent pour des activités telles que 'Marchandises rangées en stockage' et 'Marchandises prélevées du stockage'. Ces données sont utilisées dans le dashboard 'Efficacité du rangement et utilisation des emplacements' pour analyser les temps de déplacement, l'utilisation des emplacements et l'efficacité des stratégies de stockage. Par exemple, cela peut aider à déterminer si les articles à forte rotation sont stockés dans des emplacements facilement accessibles pour minimiser le temps de prélèvement. Pourquoi c'est important Aide à optimiser l'agencement de l'entrepôt et la stratégie de stockage en analysant les temps de déplacement et l'efficacité des tâches de rangement et de prélèvement pour des emplacements spécifiques. Où obtenir Trouvé dans les tables de données de base d'inventaire, de tâche ou d'emplacement. Recherchez des champs tels que « BinCode », « LocationID » ou « StorageBin ». Exemples A1-R02-S03-B01B5-R10-S01-B04C2-BULK-05 | |||
| Équipement utilisé EquipmentUsed | L'identifiant de l'équipement, tel qu'un chariot élévateur ou un scanner, utilisé pour effectuer une tâche. | ||
| Description Cet attribut spécifie l'équipement de manutention (MHE) ou la technologie utilisée lors d'une tâche d'entrepôt. Il peut s'agir d'un chariot élévateur spécifique, d'un transpalette, d'un scanner portable ou d'un véhicule à guidage automatique (AGV). L'analyse par équipement aide à comprendre l'utilisation des ressources, les besoins de maintenance et l'impact des différents types d'équipement sur l'efficacité des tâches. C'est une dimension clé pour le dashboard 'Utilisation des ressources et charge de travail', permettant une vue globale des ressources humaines et machine. Pourquoi c'est important Permet l'analyse de l'utilisation des équipements et de son impact sur la performance des tâches, aidant à optimiser la gestion de la flotte et à identifier les goulots d'étranglement liés aux machines. Où obtenir Consultez la documentation Körber WMS. Ces données peuvent être enregistrées dans les journaux d'exécution des tâches, surtout si les opérateurs se connectent à des équipements spécifiques. Exemples FORKLIFT-08SCANNER-112AGV-03 | |||
| Est un écart de prélèvement IsPickingDiscrepancy | Un indicateur signalant si la quantité réelle prélevée correspondait à la quantité planifiée. | ||
| Description Ceci est un attribut booléen dérivé qui est vrai si la 'Quantité Réelle' diffère de la 'Quantité Planifiée' pour toute activité liée au prélèvement. Il sert d'indicateur simple d'une erreur de prélèvement ou d'un problème d'inventaire pour une tâche spécifique. Cet indicateur simplifie l'analyse en permettant aux utilisateurs de filtrer rapidement toutes les commandes ayant subi un écart de prélèvement. Il est utilisé pour calculer le KPI 'Taux d'Écart de Prélèvement' et alimente le dashboard 'Santé et Précision des Processus d'Inventaire' en mettant en évidence des points de défaillance spécifiques. Pourquoi c'est important Fournit un indicateur binaire clair des erreurs de prélèvement, simplifiant l'analyse nécessaire pour identifier et quantifier les problèmes de précision des stocks. Où obtenir Calculé lors de la transformation des données. La logique est : Exemples truefaux | |||
| Heure de fin EndTime | L'horodatage indiquant quand une activité a été achevée, si disponible. | ||
| Description L'Heure de Fin représente l'horodatage d'achèvement d'une activité. Tandis que l'Heure de Début (Heure d'Événement) marque le commencement, l'Heure de Fin marque la conclusion, permettant le calcul direct de la durée de cette activité unique. Toutes les événements n'ont pas une heure de fin distincte ; pour beaucoup, l'Heure de Début de l'événement suivant est utilisée pour inférer la durée du précédent. Cet attribut est extrêmement précieux pour calculer avec précision le temps de traitement des tâches individuelles. Par exemple, il est utilisé pour déterminer le 'Temps Moyen d'Inspection Qualité' en mesurant le temps écoulé entre le début et la fin de l'inspection. Pourquoi c'est important Permet le calcul précis des temps de traitement des activités individuelles, ce qui est crucial pour identifier les tâches inefficaces et les goulots d'étranglement des ressources. Où obtenir Consultez la documentation Körber WMS. Cela peut se trouver dans les tables de transactions avec l'heure de début ou dans les tables d'historique de statut associées. Exemples 2023-10-26T10:15:00Z2023-10-26T11:45:20Z2023-10-27T08:30:00Z | |||
| ID de l'entrepôt WarehouseId | L'identifiant unique de l'entrepôt ou du centre de distribution où les activités ont lieu. | ||
| Description L'ID Entrepôt spécifie l'emplacement physique ou l'installation où la commande d'entrepôt est traitée. Pour les organisations disposant de plusieurs centres de distribution, il s'agit d'une dimension clé pour l'analyse. Cet attribut permet de comparer les performances entre différents sites. Par exemple, vous pouvez comparer le 'Temps de Cycle Moyen de Commande de Bout en Bout' entre l'Entrepôt A et l'Entrepôt B pour identifier les meilleures pratiques ou les problèmes opérationnels spécifiques à un emplacement. Pourquoi c'est important Permet la comparaison des performances et l'analyse comparative entre différents emplacements physiques d'entrepôt, mettant en évidence les problèmes régionaux ou spécifiques à une installation. Où obtenir Ces informations sont généralement disponibles dans les tables d'en-tête de commande ou de configuration de site. Elles peuvent être représentées comme 'Usine', 'Site' ou 'CodeEmplacement'. Exemples WH-NYCDC-LAXFC-DAL | |||
| Quantité Planifiée PlannedQuantity | La quantité d'un article qui devait être traitée dans une tâche, comme le prélèvement ou la réception. | ||
| Description La Quantité Planifiée représente le nombre cible d'unités pour une tâche donnée, tel que spécifié par la commande d'entrepôt. Par exemple, si une commande nécessite de prélever 10 unités d'un SKU spécifique, la quantité planifiée pour cette tâche de prélèvement est de 10. Cet attribut est crucial pour identifier les écarts par rapport à la 'Quantité Réelle'. C'est une donnée essentielle pour le calcul des KPI 'Taux d'Écart de Prélèvement' et 'Taux d'Écart d'Inventaire', qui sont vitaux pour maintenir la précision des stocks. Pourquoi c'est important Sert de base de référence pour mesurer la précision des tâches telles que le prélèvement et la réception, permettant la détection des écarts d'inventaire. Où obtenir Disponible dans les tables de tâches ou de lignes de commande. Recherchez des champs comme « OrderQuantity », « PlannedQty » ou « ExpectedQuantity ». Exemples 10501 | |||
| Statut SLA SLAStatus | Indique si la commande a été complétée à temps, en retard ou est à risque, en fonction de sa date d'achèvement demandée. | ||
| Description Le Statut SLA est un attribut calculé qui catégorise chaque commande en fonction de sa ponctualité par rapport à la 'DateAchèvementDemandée'. Il peut prendre des valeurs telles que 'À Temps', 'En Retard' ou 'En Cours'. Cet attribut offre une vue immédiate de la performance du niveau de service. Il permet un filtrage et une analyse rapides de toutes les commandes en retard pour comprendre les causes profondes, telles que des goulots d'étranglement spécifiques ou des problèmes de ressources. C'est un élément crucial pour toute analyse axée sur la satisfaction client et la fiabilité opérationnelle. Pourquoi c'est important Mesure directement le respect des accords de niveau de service, permettant une identification facile et une analyse des causes profondes des commandes en retard. Où obtenir Ceci est calculé dans la couche de transformation des données en comparant l'horodatage de l'événement 'Commande d'Entrepôt Terminée' à la 'DateAchèvementDemandée'. Exemples À tempsEn retardEn cours | |||
| Temps de cycle CycleTime | La durée totale de la commande d'entrepôt, de sa création à son achèvement. | ||
| Description Le temps de cycle est une métrique calculée qui mesure le temps total écoulé pour un cas, du tout premier événement (« Commande d'entrepôt créée ») au dernier événement (« Commande d'entrepôt terminée »). Il représente le temps de traitement de bout en bout pour une commande. C'est un indicateur clé de performance principal en Process Mining, répondant directement à la question « Combien de temps cela prend-it ? ». C'est la métrique centrale pour le tableau de bord « Temps de cycle de bout en bout des commandes d'entrepôt » et le KPI « Temps de cycle moyen de bout en bout des commandes », utilisé pour suivre la santé globale des processus et identifier les commandes qui prennent un temps inhabituellement long à être exécutées. Pourquoi c'est important C'est un KPI critique qui mesure l'efficacité globale du processus d'entrepôt, impactant directement la satisfaction client et les coûts opérationnels. Où obtenir Cette métrique est calculée dans l'outil de Process Mining en prenant la différence entre l'horodatage du dernier événement et du premier événement pour chaque Commande d'Entrepôt. Exemples 8640017280036000 | |||
| Transporteur Carrier | Le transporteur d'expédition assigné pour gérer la livraison finale de la commande. | ||
| Description Le Transporteur est le prestataire logistique tiers (par exemple, FedEx, UPS, DHL) responsable du transport des marchandises de l'entrepôt à la destination finale. Il est généralement attribué pendant la phase de planification ou d'expédition. L'analyse par transporteur peut révéler des différences de performance entre les partenaires d'expédition. Par exemple, elle peut aider à identifier si certains transporteurs sont associés à des temps de préparation plus longs ou à des retards plus fréquents, fournissant ainsi des données précieuses pour les négociations et la sélection des contrats de transport. Pourquoi c'est important Permet l'analyse des performances des différents partenaires de transport, aidant à optimiser la logistique et à améliorer la fiabilité des livraisons. Où obtenir Trouvé dans les tables de planification d'expédition ou de transport au sein de Körber WMS. Recherchez des champs comme « CarrierCode », « ShippingAgent » ou « SCAC ». Exemples FedExUPSDHLLocal Freight Inc. | |||
| Type de commande OrderType | Catégorise la commande d'entrepôt, par exemple, comme entrante, sortante ou transfert interne. | ||
| Description Le Type de Commande définit l'objectif commercial de la commande d'entrepôt. Les types courants incluent les expéditions clients (sortantes), les réceptions fournisseurs (entrantes), les transferts de stock entre les emplacements d'entrepôt (internes) ou les retours. C'est un attribut puissant pour le filtrage et l'analyse comparative. Il vous permet d'analyser et de comparer les flux de processus et les performances pour différents types d'opérations logistiques, par exemple, pour voir si le processus entrant est plus ou moins efficace que le processus sortant. Pourquoi c'est important Permet la segmentation de l'analyse par objectif de la commande, révélant les différences de performance entre des processus comme les réceptions entrantes et les expéditions sortantes. Où obtenir Généralement situé dans la table d'en-tête de commande dans Körber WMS. Recherchez un champ nommé 'TypeCommande', 'TypeTransaction' ou similaire. Exemples Expédition sortanteRéception entranteTransfert interneRetour client | |||
Activités de gestion d'entrepôt
| Activité | Description | ||
|---|---|---|---|
| Commande d'entrepôt créée | La création initiale d'une commande d'entrepôt dans le système, représentant une demande de mouvement de marchandises. Cet événement est généralement enregistré explicitement lorsqu'un utilisateur ou un système intégré comme un ERP crée l'enregistrement de la commande avec un horodatage de création. | ||
| Pourquoi c'est important Ceci marque le début du processus de bout en bout. Il est essentiel pour mesurer le temps de cycle total des commandes et comprendre la demande globale et le volume des commandes. Où obtenir Ceci est capturé à partir de l'horodatage de création dans la table d'en-tête principale de la commande d'entrepôt lorsqu'un nouvel enregistrement de commande est sauvegardé dans Körber WMS. Capture Enregistré à partir de l'horodatage de création dans l'en-tête de la commande d'entrepôt. Type d'événement explicit | |||
| Commande d'entrepôt terminée | La commande d'entrepôt est clôturée dans le système, signifiant que tous les mouvements physiques et transactions connexes sont terminés. Cela est généralement déduit d'un changement de statut sur l'en-tête de la commande, qui finalise le cycle de vie de la commande. | ||
| Pourquoi c'est important C'est le point d'arrivée principal du processus, essentiel pour calculer le temps de cycle de bout en bout et mesurer les taux d'achèvement globaux du processus. Où obtenir Déduit d'un changement de statut sur l'en-tête de la commande d'entrepôt vers un statut final tel que « Complet » ou « Fermé ». Capture Déduit de l'horodatage du changement de statut à « Terminé » sur l'en-tête de la commande d'entrepôt. Type d'événement inferred | |||
| Expédition expédiée | Les marchandises sont chargées et le camion quitte l'entrepôt. Cet événement est déclenché par une transaction 'Confirmation d'expédition' ou 'Sortie de marchandises' qui finalise l'expédition dans le système. | ||
| Pourquoi c'est important Ce jalon critique marque le départ physique des marchandises. C'est souvent un événement clé pour la facturation et l'information des clients. Où obtenir Une transaction explicite de « Confirmation d'expédition » est exécutée, associée à l'impression du connaissement. Cette transaction possède un horodatage spécifique. Capture Horodatage de la transaction 'Confirmation d'expédition' ou 'Sortie de marchandises'. Type d'événement explicit | |||
| Marchandises emballées | Le processus d'emballage d'un conteneur ou d'un carton d'expédition est terminé, et le colis est scellé et étiqueté. Cet événement signifie que la commande est prête pour la préparation et l'expédition et est explicitement enregistré. | ||
| Pourquoi c'est important Ce jalon clé finalise la préparation des marchandises pour l'expédition. Il est utilisé pour calculer le débit d'emballage et identifier les retards avant le chargement. Où obtenir Une transaction explicite « Emballage terminé » ou « Fermeture de carton » est exécutée par l'opérateur, qui enregistre un horodatage d'achèvement pour le conteneur d'expédition. Capture Horodatage de la transaction 'Fermeture de conteneur' ou 'Emballage terminé'. Type d'événement explicit | |||
| Marchandises prélevées du stock | Un opérateur confirme que les articles d'une commande ont été prélevés de leur emplacement de stockage. Cela se fait généralement en scannant l'article et l'emplacement, ce qui décrémente l'inventaire du bac de stockage et enregistre l'action. | ||
| Pourquoi c'est important C'est un jalon majeur dans le processus sortant. Il permet l'analyse des temps de prélèvement et identifie les retards potentiels entre le prélèvement et l'emballage. Où obtenir Enregistré lorsque l'opérateur confirme l'achèvement de la tâche de prélèvement via un appareil RF. Cela met à jour le statut de la tâche à « Terminé » et a un horodatage d'achèvement. Capture Horodatage de la transaction de confirmation de la tâche de prélèvement. Type d'événement explicit | |||
| Marchandises rangées en stock | Un opérateur confirme l'achèvement de la tâche de rangement, généralement en scannant le bac de stockage et la palette ou l'article. Cette action enregistre explicitement le mouvement et met à jour l'emplacement d'inventaire dans le système. | ||
| Pourquoi c'est important Ce jalon crucial marque la fin du processus entrant. Il est utilisé pour calculer les KPI 'Temps de Cycle de Rangement' et 'Temps de Réception des Marchandises au Rangement'. Où obtenir Enregistré lorsque l'opérateur confirme l'achèvement de la tâche de rangement via un appareil RF. Cette action met à jour le statut de la tâche à « Terminé » et enregistre un horodatage d'achèvement. Capture Horodatage de la transaction de confirmation de la tâche de rangement. Type d'événement explicit | |||
| Marchandises reçues et comptées | Le personnel de l'entrepôt décharge, scanne et compte les articles reçus par rapport à la notification de livraison entrante. Cette transaction explicite confirme la réception de quantités spécifiques de matériaux sous la garde physique de l'entrepôt. | ||
| Pourquoi c'est important C'est un jalon entrant critique qui permet des KPI comme le 'Temps de Réception des Marchandises au Rangement'. Il aide également à identifier les écarts entre les quantités attendues et reçues dès le début. Où obtenir Généré lorsqu'un utilisateur confirme les quantités reçues via un scanner RF ou une transaction de bureau. Cette action met à jour le statut d'inventaire à « Reçu » ou « En stock » dans un emplacement de préparation. Capture Horodatage de la transaction de confirmation de réception. Type d'événement explicit | |||
| Commande d'entrepôt annulée | La commande d'entrepôt est annulée avant son achèvement, arrêtant tout travail en cours. Cette action est généralement déduite d'un changement de statut sur l'en-tête de la commande en 'Annulée'. | ||
| Pourquoi c'est important Représente une fin alternative au processus. L'analyse des annulations permet de comprendre les raisons des échecs de processus, tels que les ruptures de stock ou les modifications client. Où obtenir Déduit d'un changement de statut sur l'en-tête de la commande d'entrepôt vers un statut « Annulé » ou « Supprimé », accompagné de l'horodatage de ce changement. Capture Déduit de l'horodatage du changement de statut à « Annulé » sur l'en-tête de la commande d'entrepôt. Type d'événement inferred | |||
| Emballage initié | Les articles prélevés arrivent à une station d'emballage, et un opérateur commence le processus d'emballage. Ceci est souvent déduit du premier scan d'article à une station d'emballage associée à une commande sortante spécifique. | ||
| Pourquoi c'est important Marque le début de l'étape d'emballage. Mesurer le temps d'attente avant cette activité et la durée de l'emballage aide à identifier les goulots d'étranglement dans la préparation des expéditions. Où obtenir Il peut s'agir d'une transaction explicite de 'Début d'emballage', mais il est plus couramment déduit du premier scan d'article à une station d'emballage pour la commande. Capture Déduit de l'horodatage de la première action à un poste d'emballage pour une commande donnée. Type d'événement inferred | |||
| Inspection qualité effectuée | Un contrôle qualité est effectué sur les marchandises reçues, ce qui peut impliquer le déplacement des articles vers une zone de contrôle qualité dédiée. Cette activité est souvent déduite des changements de statut d'inventaire, tels que le passage de « En stock » à « Retenu pour CQ », puis à « Libre ». | ||
| Pourquoi c'est important Permet l'analyse de la durée des inspections qualité, qui peut constituer un goulot d'étranglement important. Cela aide à suivre les volumes d'inspection et à identifier les retards dans la mise à disposition des stocks. Où obtenir Peut être déduit d'une série de changements de statut d'inventaire liés aux mises en attente qualité. Certains systèmes peuvent avoir des journaux de transactions de gestion qualité explicites. Capture Déduit des changements de statut d'inventaire, ou d'un journal de transactions associé à une commande d'inspection qualité. Type d'événement inferred | |||
| Marchandises arrivées au quai | L'arrivée physique du transporteur au quai de réception de l'entrepôt est enregistrée. Cela est souvent effectué par un gardien ou un employé de réception et marque le début du processus de réception physique. Cet événement est souvent déduit d'un changement de statut sur la livraison. | ||
| Pourquoi c'est important Cet événement aide à mesurer la ponctualité des transporteurs et à analyser les temps d'attente au quai de réception, identifiant ainsi les goulots d'étranglement potentiels avant le début du déchargement. Où obtenir Souvent enregistré comme une mise à jour de statut sur l'enregistrement de livraison entrante, ou via une transaction 'Check-In' spécifique dans un module de gestion de cour si disponible. Capture Déduit d'un changement de statut à « Arrivé » ou « Au quai » sur l'enregistrement de livraison entrante. Type d'événement inferred | |||
| Notification de livraison entrante reçue | Une notification d'expédition avancée (ASN) ou une notification de livraison entrante est reçue d'un fournisseur. Cet événement signale que les marchandises sont prévues d'arriver, permettant à l'entrepôt de planifier les activités de réception. Elle est généralement créée via une transaction EDI ou une saisie manuelle. | ||
| Pourquoi c'est important Cette activité marque le début du processus de planification des entrées. L'analyse du temps entre cette notification et l'arrivée des marchandises aide à mesurer la performance des fournisseurs et à planifier la main-d'œuvre. Où obtenir Capturé à partir de l'horodatage de création d'un enregistrement ASN ou de livraison entrante, qui est souvent créé via une interface EDI ou une saisie manuelle. Capture Enregistré lorsqu'un enregistrement ASN est créé avec succès dans le système. Type d'événement explicit | |||
| Préparé pour l'expédition | Les cartons ou palettes emballés sont déplacés de la zone d'emballage vers une voie de préparation désignée pour attendre la prise en charge par le transporteur. Cela est souvent déduit de l'horodatage d'une transaction de mouvement d'inventaire vers un emplacement d'expédition. | ||
| Pourquoi c'est important Cela aide à analyser le temps d'attente entre l'emballage et l'expédition finale. Des temps de préparation longs peuvent indiquer une mauvaise coordination avec les transporteurs ou une gestion inefficace des quais de chargement. Où obtenir Déduit d'un changement d'emplacement de l'unité de manutention d'un poste de travail d'emballage vers une voie d'expédition. La transaction de mouvement porte l'horodatage nécessaire. Capture Déduit d'un horodatage de transaction de mouvement d'inventaire où l'emplacement de destination est une zone de préparation. Type d'événement inferred | |||
| Tâche de prélèvement créée | Le système génère une tâche de prélèvement pour un opérateur basée sur une commande d'entrepôt sortante. Cette tâche dirige l'opérateur vers un emplacement spécifique pour récupérer une certaine quantité d'un article. | ||
| Pourquoi c'est important Cet événement initie le processus d'exécution des commandes sortantes. L'analyse de la génération des tâches de prélèvement aide à comprendre la logique de traitement des commandes et la répartition de la charge de travail. Où obtenir Un enregistrement avec un type de tâche « Prélèvement » et un horodatage de création est créé dans une table de gestion des tâches ou de file d'attente de travail au sein de Körber WMS. Capture Enregistré à partir de l'horodatage de création de l'enregistrement de la tâche de prélèvement. Type d'événement explicit | |||
| Tâche de rangement créée | Le WMS crée une tâche pour qu'un opérateur déplace les marchandises reçues d'une zone de préparation vers un bac de stockage final. La logique du système, basée sur les stratégies de rangement, détermine le bac de destination optimal pour les articles. | ||
| Pourquoi c'est important Cet événement marque le début du processus de rangement. L'analyse du temps entre cet événement et l'achèvement de la tâche aide à mesurer l'efficacité du système et de l'opérateur. Où obtenir Un enregistrement est créé dans une table de gestion des tâches ou de file d'attente de travail avec un type de tâche « Rangement » et un horodatage de création correspondant. Capture Enregistré à partir de l'horodatage de création de l'enregistrement de la tâche de rangement. Type d'événement explicit | |||
Guides d'extraction
Étapes
- Établir l'accès à la base de données: Obtenez les identifiants en lecture seule et les détails de connexion (nom du serveur, nom de la base de données, port) pour la base de données de production Körber WMS ou une base de données réplique. Vous aurez besoin d'un outil client tel que Microsoft SQL Server Management Studio (SSMS) ou Oracle SQL Developer.
- Identifier les tables principales: Avant d'exécuter le script, travaillez avec un administrateur système pour vérifier les noms exacts des tables et des colonnes utilisés dans votre implémentation Körber WMS, car ils peuvent varier. Les tables clés incluent généralement les en-têtes de commande, les tâches et les transactions d'inventaire.
- Se connecter à la base de données: Lancez votre client SQL et établissez une connexion à la base de données Körber WMS en utilisant les identifiants fournis.
- Charger le script SQL: Ouvrez une nouvelle fenêtre de requête et copiez le script SQL complet fourni dans la section 'requête' de ce document.
- Configurer les paramètres: Localisez les variables d'espace réservé en haut du script. Remplacez
@[StartDate],@[EndDate]et@[WarehouseId]par votre plage de dates souhaitée et l'identifiant d'entrepôt spécifique pour filtrer l'extraction des données. - Exécuter la requête: Exécutez le script SQL configuré. Le temps d'exécution dépendra de la plage de dates et du volume de données dans votre système.
- Examiner les résultats: Une fois la requête terminée, examinez brièvement la sortie dans votre client SQL pour vous assurer qu'elle retourne des lignes et que les colonnes (
WarehouseOrder,ActivityName,EventTime, etc.) sont renseignées comme prévu. - Exporter au format CSV: Exportez l'ensemble des résultats vers un fichier CSV. La plupart des clients SQL disposent d'une fonction intégrée pour exporter directement les résultats des requêtes.
- Préparer le téléchargement: Assurez-vous que le fichier CSV exporté est enregistré avec un encodage UTF-8. Vérifiez que les en-têtes de colonne du fichier correspondent exactement aux noms d'attributs requis, sans espaces ou caractères supplémentaires.
Configuration
- Connexion à la base de données: Une connexion directe à la base de données est requise. Vous devez fournir l'adresse du serveur, le nom de la base de données, un nom d'utilisateur valide et un mot de passe. Un utilisateur en lecture seule est fortement recommandé pour éviter toute modification accidentelle des données.
- Filtrage par plage de dates: La requête utilise les espaces réservés
@StartDateet@EndDatepour contrôler la période d'extraction. Pour une analyse initiale, une plage de 3 à 6 mois est recommandée pour capturer suffisamment de variations de processus sans provoquer de charge excessive sur la base de données. - Filtrage par entrepôt et commande: Le script inclut un espace réservé
@[WarehouseId]pour limiter l'extraction à une installation spécifique. Vous pouvez ajouter d'autres filtres aux clausesWHEREdu script, tels que le type de commande ou le client, pour affiner davantage le jeu de données. - Granularité des données: Ce script extrait les événements au niveau de l'en-tête de commande (par exemple, « Commande d'entrepôt créée ») et au niveau détaillé de la tâche ou de la transaction (par exemple, « Marchandises prélevées »).
- Prérequis: Vous devez disposer d'autorisations de base de données suffisantes pour lire toutes les tables référencées dans la requête. Une connaissance de votre schéma Körber WMS spécifique est nécessaire pour valider et potentiellement ajuster les noms de tables et de colonnes.
a Exemple de requête sql
DECLARE @StartDate DATETIME = '2023-01-01';
DECLARE @EndDate DATETIME = '2023-12-31';
DECLARE @WarehouseId NVARCHAR(10) = '[Your Warehouse ID]';
-- 1. Warehouse Order Created
SELECT
ord.ORD_NBR AS WarehouseOrder,
'Warehouse Order Created' AS ActivityName,
ord.CREATE_DATE AS EventTime,
'Körber WMS' AS SourceSystem,
GETDATE() AS LastDataUpdate,
ord.CREATE_USER AS UserOperatorId,
ord.PRIORITY AS PriorityLevel,
NULL AS ProductSKU,
NULL AS ActualQuantity
FROM [ORD_HDR] ord
WHERE ord.CREATE_DATE BETWEEN @StartDate AND @EndDate AND ord.WH_ID = @WarehouseId
UNION ALL
-- 2. Inbound Delivery Notification Rcvd
SELECT
asn.ASN_NBR AS WarehouseOrder,
'Inbound Delivery Notification Rcvd' AS ActivityName,
asn.CREATE_DATE AS EventTime,
'Körber WMS' AS SourceSystem,
GETDATE() AS LastDataUpdate,
asn.CREATE_USER AS UserOperatorId,
asn.PRIORITY AS PriorityLevel,
NULL AS ProductSKU,
NULL AS ActualQuantity
FROM [ASN_HDR] asn
WHERE asn.CREATE_DATE BETWEEN @StartDate AND @EndDate AND asn.WH_ID = @WarehouseId
UNION ALL
-- 3. Goods Arrived at Dock
SELECT
asn.ASN_NBR AS WarehouseOrder,
'Goods Arrived at Dock' AS ActivityName,
asn.ACTUAL_ARRIVAL_TSTMP AS EventTime,
'Körber WMS' AS SourceSystem,
GETDATE() AS LastDataUpdate,
asn.MOD_USER AS UserOperatorId,
asn.PRIORITY AS PriorityLevel,
NULL AS ProductSKU,
NULL AS ActualQuantity
FROM [ASN_HDR] asn
WHERE asn.ACTUAL_ARRIVAL_TSTMP IS NOT NULL AND asn.ACTUAL_ARRIVAL_TSTMP BETWEEN @StartDate AND @EndDate AND asn.WH_ID = @WarehouseId
UNION ALL
-- 4. Goods Received and Counted
SELECT
tran.ORD_NBR AS WarehouseOrder,
'Goods Received and Counted' AS ActivityName,
tran.TRAN_TSTMP AS EventTime,
'Körber WMS' AS SourceSystem,
GETDATE() AS LastDataUpdate,
tran.USER_ID AS UserOperatorId,
NULL AS PriorityLevel,
tran.SKU AS ProductSKU,
tran.TRAN_QTY AS ActualQuantity
FROM [INV_TRAN] tran
WHERE tran.TRAN_TYPE = 'RECV' AND tran.TRAN_TSTMP BETWEEN @StartDate AND @EndDate AND tran.WH_ID = @WarehouseId
UNION ALL
-- 5. Quality Inspection Performed
SELECT
tran.ORD_NBR AS WarehouseOrder,
'Quality Inspection Performed' AS ActivityName,
tran.TRAN_TSTMP AS EventTime,
'Körber WMS' AS SourceSystem,
GETDATE() AS LastDataUpdate,
tran.USER_ID AS UserOperatorId,
NULL AS PriorityLevel,
tran.SKU AS ProductSKU,
tran.TRAN_QTY AS ActualQuantity
FROM [INV_TRAN] tran
WHERE tran.TRAN_TYPE = 'MOVE' AND tran.REASON_CODE = 'QI_INSP' AND tran.TRAN_TSTMP BETWEEN @StartDate AND @EndDate AND tran.WH_ID = @WarehouseId
UNION ALL
-- 6. Putaway Task Created
SELECT
tsk.ORD_NBR AS WarehouseOrder,
'Putaway Task Created' AS ActivityName,
tsk.CREATE_DATE AS EventTime,
'Körber WMS' AS SourceSystem,
GETDATE() AS LastDataUpdate,
tsk.CREATE_USER AS UserOperatorId,
tsk.PRIORITY AS PriorityLevel,
tsk.SKU AS ProductSKU,
tsk.TASK_QTY AS ActualQuantity
FROM [TASK_DTL] tsk
WHERE tsk.TASK_TYPE = 'PUTAWAY' AND tsk.CREATE_DATE BETWEEN @StartDate AND @EndDate AND tsk.WH_ID = @WarehouseId
UNION ALL
-- 7. Goods Put Away in Storage
SELECT
tsk.ORD_NBR AS WarehouseOrder,
'Goods Put Away in Storage' AS ActivityName,
tsk.CMPL_TSTMP AS EventTime,
'Körber WMS' AS SourceSystem,
GETDATE() AS LastDataUpdate,
tsk.USER_ID AS UserOperatorId,
tsk.PRIORITY AS PriorityLevel,
tsk.SKU AS ProductSKU,
tsk.CMPL_QTY AS ActualQuantity
FROM [TASK_DTL] tsk
WHERE tsk.TASK_TYPE = 'PUTAWAY' AND tsk.STAT_CODE = 'COMPLETED' AND tsk.CMPL_TSTMP IS NOT NULL AND tsk.CMPL_TSTMP BETWEEN @StartDate AND @EndDate AND tsk.WH_ID = @WarehouseId
UNION ALL
-- 8. Picking Task Created
SELECT
tsk.ORD_NBR AS WarehouseOrder,
'Picking Task Created' AS ActivityName,
tsk.CREATE_DATE AS EventTime,
'Körber WMS' AS SourceSystem,
GETDATE() AS LastDataUpdate,
tsk.CREATE_USER AS UserOperatorId,
tsk.PRIORITY AS PriorityLevel,
tsk.SKU AS ProductSKU,
tsk.TASK_QTY AS ActualQuantity
FROM [TASK_DTL] tsk
WHERE tsk.TASK_TYPE = 'PICK' AND tsk.CREATE_DATE BETWEEN @StartDate AND @EndDate AND tsk.WH_ID = @WarehouseId
UNION ALL
-- 9. Goods Picked from Storage
SELECT
tsk.ORD_NBR AS WarehouseOrder,
'Goods Picked from Storage' AS ActivityName,
tsk.CMPL_TSTMP AS EventTime,
'Körber WMS' AS SourceSystem,
GETDATE() AS LastDataUpdate,
tsk.USER_ID AS UserOperatorId,
tsk.PRIORITY AS PriorityLevel,
tsk.SKU AS ProductSKU,
tsk.CMPL_QTY AS ActualQuantity
FROM [TASK_DTL] tsk
WHERE tsk.TASK_TYPE = 'PICK' AND tsk.STAT_CODE = 'COMPLETED' AND tsk.CMPL_TSTMP IS NOT NULL AND tsk.CMPL_TSTMP BETWEEN @StartDate AND @EndDate AND tsk.WH_ID = @WarehouseId
UNION ALL
-- 10. Packing Initiated
SELECT
pck.ORD_NBR AS WarehouseOrder,
'Packing Initiated' AS ActivityName,
MIN(pck.CREATE_DATE) AS EventTime,
'Körber WMS' AS SourceSystem,
GETDATE() AS LastDataUpdate,
MIN(pck.USER_ID) AS UserOperatorId,
NULL AS PriorityLevel,
NULL AS ProductSKU,
NULL AS ActualQuantity
FROM [PACK_TRAN] pck
WHERE pck.CREATE_DATE BETWEEN @StartDate AND @EndDate AND pck.WH_ID = @WarehouseId
GROUP BY pck.ORD_NBR
UNION ALL
-- 11. Goods Packed
SELECT
ctn.ORD_NBR AS WarehouseOrder,
'Goods Packed' AS ActivityName,
ctn.PACK_CMPL_TSTMP AS EventTime,
'Körber WMS' AS SourceSystem,
GETDATE() AS LastDataUpdate,
ctn.PACKER_ID AS UserOperatorId,
NULL AS PriorityLevel,
NULL AS ProductSKU,
NULL AS ActualQuantity
FROM [SHIP_CARTON] ctn
WHERE ctn.PACK_CMPL_TSTMP IS NOT NULL AND ctn.PACK_CMPL_TSTMP BETWEEN @StartDate AND @EndDate AND ctn.WH_ID = @WarehouseId
UNION ALL
-- 12. Staged for Shipment
SELECT
tran.ORD_NBR AS WarehouseOrder,
'Staged for Shipment' AS ActivityName,
tran.TRAN_TSTMP AS EventTime,
'Körber WMS' AS SourceSystem,
GETDATE() AS LastDataUpdate,
tran.USER_ID AS UserOperatorId,
NULL AS PriorityLevel,
tran.SKU AS ProductSKU,
tran.TRAN_QTY AS ActualQuantity
FROM [INV_TRAN] tran
JOIN [LOC_HDR] loc ON tran.TO_LOC = loc.LOC_ID AND tran.WH_ID = loc.WH_ID
WHERE tran.TRAN_TYPE = 'MOVE' AND loc.LOC_TYPE = 'SHIP_STAGE' AND tran.TRAN_TSTMP BETWEEN @StartDate AND @EndDate AND tran.WH_ID = @WarehouseId
UNION ALL
-- 13. Shipment Dispatched
SELECT
shp.ORD_NBR AS WarehouseOrder,
'Shipment Dispatched' AS ActivityName,
shp.SHIP_CONFIRM_TSTMP AS EventTime,
'Körber WMS' AS SourceSystem,
GETDATE() AS LastDataUpdate,
shp.USER_ID AS UserOperatorId,
NULL AS PriorityLevel,
NULL AS ProductSKU,
NULL AS ActualQuantity
FROM [SHIPMENT_HDR] shp
WHERE shp.SHIP_CONFIRM_TSTMP IS NOT NULL AND shp.SHIP_CONFIRM_TSTMP BETWEEN @StartDate AND @EndDate AND shp.WH_ID = @WarehouseId
UNION ALL
-- 14. Warehouse Order Completed
SELECT
ord.ORD_NBR AS WarehouseOrder,
'Warehouse Order Completed' AS ActivityName,
ord.MOD_DATE AS EventTime,
'Körber WMS' AS SourceSystem,
GETDATE() AS LastDataUpdate,
ord.MOD_USER AS UserOperatorId,
ord.PRIORITY AS PriorityLevel,
NULL AS ProductSKU,
NULL AS ActualQuantity
FROM [ORD_HDR] ord
WHERE ord.STAT_CODE IN ('99', 'COMPLETED') AND ord.MOD_DATE BETWEEN @StartDate AND @EndDate AND ord.WH_ID = @WarehouseId
UNION ALL
-- 15. Warehouse Order Canceled
SELECT
ord.ORD_NBR AS WarehouseOrder,
'Warehouse Order Canceled' AS ActivityName,
ord.MOD_DATE AS EventTime,
'Körber WMS' AS SourceSystem,
GETDATE() AS LastDataUpdate,
ord.MOD_USER AS UserOperatorId,
ord.PRIORITY AS PriorityLevel,
NULL AS ProductSKU,
NULL AS ActualQuantity
FROM [ORD_HDR] ord
WHERE ord.STAT_CODE IN ('95', 'CANCELED') AND ord.MOD_DATE BETWEEN @StartDate AND @EndDate AND ord.WH_ID = @WarehouseId;