Votre modèle de données de gestion du transport
Votre modèle de données de gestion du transport
- Attributs recommandés à collecter
- Activités clés à suivre
- Guide d’extraction
Attributs de la gestion des transports
| Nom | Description | ||
|---|---|---|---|
| Expédition ShipmentId | L’identifiant unique d’une expédition, qui sert d’identifiant de cas principal pour suivre toutes les activités de transport associées. | ||
| Description Le Shipment ID identifie de manière unique un déplacement de marchandises entre un expéditeur et un destinataire. Cet attribut constitue la base de l’analyse des processus : il regroupe dans un même cas tous les événements associés, notamment la planification, la réservation, l’enlèvement, le transit, la livraison et la facturation. Dans le process mining, l’analyse des événements par Shipment ID offre une vue complète du cycle de vie du transport, de bout en bout. Cet identifiant sert à calculer des indicateurs clés tels que le délai total du cycle, les performances de livraison à l’heure et le coût par expédition, afin de fournir une compréhension complète de l’efficacité des processus et du niveau de service client. Pourquoi c’est important Il s’agit du Case ID essentiel qui relie toutes les étapes du processus et permet d’analyser intégralement le parcours de chaque expédition. Où les obtenir Il s’agit d’une clé primaire dans Oracle Transportation Management, généralement présente dans les tables de gestion des expéditions ou des commandes. Consultez la documentation OTM pour connaître les noms précis des tables et des champs. Exemples SH-0012345SH-0012346SH-0012347 | |||
| Heure de l’événement EventTime | La date et l’heure précises auxquelles une activité ou un événement de transport donné s’est produit. | ||
| Description Cet horodatage indique le moment exact où une activité, comme « Transporteur affecté » ou « Preuve de livraison reçue », a été enregistrée dans le système. Les horodatages sont fondamentaux pour le Process Mining, car ils établissent la séquence chronologique des événements pour chaque expédition. La précision de ces horodatages est essentielle pour toutes les analyses fondées sur le temps. Ils servent à calculer les temps de cycle entre les activités, à mesurer la durée des processus, à identifier les retards et à évaluer les performances par rapport aux accords de niveau de service. L’analyse de l’heure de l’événement permet de repérer les étapes où du temps est perdu dans le processus. Pourquoi c’est important Cet horodatage est indispensable pour classer les événements par ordre chronologique et calculer tous les indicateurs de performance, notamment les temps de cycle et les retards. Où les obtenir Provient des champs d’horodatage associés aux événements dans les tables d’événements de suivi ou d’historique des statuts d’OTM. Exemples 2023-10-26T08:00:00Z2023-10-27T14:30:00Z2023-10-28T09:15:00Z | |||
| Nom de l’activité ActivityName | Le nom d’un événement ou d’une étape spécifique survenu dans le processus de transport d’une expédition. | ||
| Description Cet attribut décrit une étape précise du cycle de transport, comme « Expédition planifiée », « Marchandises enlevées » ou « Marchandises livrées ». Chaque activité représente un événement métier distinct qui rapproche l’expédition de son achèvement. L’analyse de la séquence et de la durée de ces activités constitue le cœur du Process Mining. Elle permet de découvrir le flux réel du processus, d’identifier les goulots d’étranglement entre les étapes et de mesurer le respect des procédures opérationnelles standard. Les variations du flux d’activités peuvent révéler des exceptions, des reprises ou des écarts par rapport au parcours optimal. Pourquoi c’est important Il définit les étapes de la cartographie du processus et permet de visualiser et d’analyser le parcours de l’expédition, les goulots d’étranglement et les écarts. Où les obtenir Ces informations proviennent des tables d’événements de suivi ou des journaux de changement de statut dans Oracle Transportation Management. Le nom de l’activité peut être constitué par concaténation de codes d’événements et de descriptions. Exemples Expédition planifiéeMarchandises enlevéesDédouanement effectuéMarchandises livrées | |||
| Coût de l’expédition ShipmentCost | Le coût total du fret ou le montant facturé pour le transport de l’expédition. | ||
| Description Cet attribut représente le coût financier total associé à une expédition, notamment les frais du transporteur, les suppléments carburant et les autres frais accessoires. Il constitue un indicateur important de la performance financière du processus de transport. L’analyse du coût de l’expédition permet de calculer l’indicateur du coût moyen du transporteur par expédition. Les données peuvent être segmentées par transporteur, itinéraire, mode de transport ou type d’expédition afin d’identifier des possibilités de réduction des coûts. Elles servent également à l’analyse des écarts de factures de fret, qui compare les coûts prévus aux coûts réels. Pourquoi c’est important Fournit les données financières nécessaires pour analyser les dépenses de transport, identifier les possibilités de réduction des coûts et mesurer l’impact financier des inefficacités du processus. Où les obtenir Ces informations se trouvent généralement dans les sections financières ou de calcul des coûts d’une expédition dans OTM. Elles sont souvent renseignées après la tarification et le règlement du fret. Exemples 250.751200.00545.50 | |||
| Date de livraison demandée RequestedDeliveryDate | La date et l’heure de livraison demandées par le client ou convenues comme objectif de l’accord de niveau de service (SLA). | ||
| Description Cet attribut enregistre l’horodatage cible de livraison d’une expédition. Il représente l’engagement pris envers le client et sert de référence principale pour mesurer les performances de livraison à temps. Dans le Process Mining, cette date est comparée à l’horodatage réel de livraison, issu de l’activité « Marchandises livrées », afin de déterminer si l’expédition a été livrée à temps ou en retard. Elle constitue la base de l’indicateur de performance du taux de livraison à temps et joue un rôle essentiel dans le Dashboard de synthèse des performances de livraison. L’analyse des écarts aide à identifier les causes systémiques des retards et à améliorer la satisfaction client. Pourquoi c’est important Il s’agit de la référence principale pour mesurer les performances de livraison à temps, un indicateur essentiel de la satisfaction client et de l’excellence opérationnelle. Où les obtenir Ces informations sont généralement stockées au niveau de la commande ou de l’expédition dans OTM, souvent dans des champs liés aux dates ou aux rendez-vous de livraison. Exemples 2023-11-15T17:00:00Z2023-11-20T12:00:00Z2023-11-22T09:00:00Z | |||
| Mode de transport TransportationMode | Le moyen de transport utilisé pour l’expédition, par exemple le camion, le rail, le transport maritime ou le transport aérien. | ||
| Description Cet attribut catégorise l’expédition selon son mode de transport. Les modes courants comprennent le transport routier en chargement complet (FTL), le transport routier en chargement partiel (LTL), le transport maritime, le transport aérien et le transport ferroviaire. Il s’agit d’une caractéristique fondamentale de l’expédition, qui influe sur le coût, le temps de transit et la complexité. Dans les analyses, le mode de transport constitue une dimension essentielle de segmentation. Il permet de comparer les performances et les coûts des processus selon les différents modes. Il peut notamment aider à déterminer quels modes sont davantage exposés aux retards en transit ou présentent des coûts au kilomètre plus élevés, afin d’éclairer les décisions stratégiques relatives aux réseaux logistiques. Pourquoi c’est important Permet de segmenter l’analyse des performances et des coûts selon le mode de transport, afin de faire ressortir les caractéristiques propres au transport routier, aérien, maritime ou ferroviaire. Où les obtenir Il s’agit d’un attribut standard au niveau de l’expédition dans OTM, souvent présent dans un champ dédié au « mode » ou au « type de transport ». Exemples FTLLTLOCEANAIR | |||
| Motif du retard DelayReason | Un code ou une description expliquant la cause du retard dans l’acheminement de l’expédition. | ||
| Description Lorsqu’une expédition est retardée, cet attribut en indique la raison, par exemple « Conditions météorologiques », « Blocage en douane », « Congestion portuaire » ou « Défaillance mécanique ». Ces informations proviennent des mises à jour des transporteurs ou de saisies manuelles dans OTM. Cet attribut est essentiel pour analyser les causes profondes des retards de livraison. En catégorisant et en comptant les motifs de retard, les entreprises peuvent identifier les problèmes les plus fréquents dans leur chaîne d’approvisionnement. Elles peuvent ainsi mettre en place des initiatives d’amélioration ciblées, comme sélectionner des transporteurs plus fiables sur certains itinéraires ou améliorer la documentation pour accélérer le dédouanement. Pourquoi c’est important Fournit une analyse essentielle des causes profondes des retards d’expédition et permet de prendre des mesures ciblées pour réduire les problèmes récurrents et améliorer les performances de livraison à temps. Où les obtenir Est généralement renseigné dans les détails des événements de suivi dans OTM. Il peut être associé à des codes d’événement spécifiques signalant une exception ou un retard. Exemples WEATHER_DELAYCUSTOMS_INSPECTIONPORT_CONGESTIONTRAFFIC | |||
| Nom du transporteur CarrierName | Le nom du transporteur ou du prestataire de services chargé d’acheminer l’expédition. | ||
| Description Cet attribut identifie le partenaire logistique chargé d’assurer le transport des marchandises. Il peut s’agir de grandes entreprises de fret, de coursiers locaux ou de compagnies de transport maritime. L’analyse des performances par transporteur constitue un objectif majeur du Process Mining appliqué au transport. Cet attribut permet de segmenter les expéditions afin de comparer les transporteurs selon des indicateurs tels que le taux de livraison à temps, le coût par expédition, le temps de transit et la fréquence des problèmes, notamment les retards ou les écarts de facturation. Ces analyses sont essentielles pour sélectionner les transporteurs, négocier les contrats et piloter les performances. Pourquoi c’est important Permet de comparer les performances des différents transporteurs, ce qui est essentiel pour optimiser leur sélection, les négociations et la réduction des coûts. Où les obtenir Se trouve dans les détails de l’expédition dans OTM, avec un lien vers les enregistrements du transporteur ou du prestataire affecté. Il peut être stocké dans des tables liées aux expéditions et aux prestataires de services. Exemples FedEx FreightUPS Supply Chain SolutionsMaersk LineKnight-Swift Transportation | |||
| Agent en douane CustomsAgent | Le commissionnaire ou l’agent en douane chargé de gérer le processus de dédouanement de l’expédition. | ||
| Description Pour les expéditions internationales, cet attribut identifie l’agent externe ou l’équipe interne chargé de gérer les documents et les procédures douanières. Les performances de cet agent peuvent avoir un impact important sur la durée totale du transit. L’analyse du temps de cycle du dédouanement par agent en douane permet de comparer leurs performances. Elle peut révéler quels agents sont les plus efficaces dans certains pays ou pour certains types de marchandises. Cette analyse est utile pour sélectionner les meilleurs partenaires douaniers et accompagner les agents moins performants dans l’amélioration de leurs processus. Pourquoi c’est important Permet de mesurer les performances des commissionnaires en douane, d’identifier les partenaires les plus efficaces et de réduire les retards liés au dédouanement. Où les obtenir Ces informations peuvent être stockées comme prestataire de services ou rôle de partie dans les détails de l’expédition internationale dans OTM. Exemples Global Customs ServicesLivingston InternationalFlexport | |||
| Dernière mise à jour des données LastDataUpdate | L’horodatage indiquant la dernière actualisation ou extraction des données relatives à cet événement depuis le système source. | ||
| Description Cet attribut indique la date à laquelle les données ont été extraites le plus récemment d’Oracle Transportation Management. Il reflète l’actualité des données analysées, et non le moment où l’événement métier s’est produit. Cet horodatage est essentiel pour comprendre l’actualité de l’analyse de Process Mining. Il permet de savoir si les informations consultées sont en temps réel ou correspondent à un instantané pris à un moment donné. Il est également indispensable pour gérer les cycles d’actualisation des données et s’assurer que les décisions reposent sur des informations à jour. Pourquoi c’est important Indique l’actualité des données afin que les utilisateurs sachent à quel point l’analyse est récente et quand la prochaine actualisation est prévue. Où les obtenir Il s’agit généralement d’un horodatage généré par le système lors de l’ingestion des données ou du processus ETL. Exemples 2023-11-01T02:00:00Z2023-11-02T02:00:00Z | |||
| Écart sur la facture de fret FreightBillDiscrepancy | Un indicateur signalant qu’un écart a été détecté lors du contrôle de la facture de fret. | ||
| Description Cet attribut booléen prend la valeur « true » lorsque la facture de fret reçue du transporteur ne correspond pas au coût attendu calculé dans OTM. Les écarts peuvent être dus à des tarifs incorrects, à des frais accessoires ou à d’autres erreurs de facturation. Cet attribut sert de base à l’indicateur du taux d’écart sur les factures de fret. L’analyse de la fréquence de ces indicateurs par transporteur, itinéraire ou type d’expédition aide à identifier les causes profondes des erreurs de facturation. Elle soutient les initiatives visant à améliorer l’exactitude des données, à simplifier le contrôle des factures et à éviter les trop-perçus. Pourquoi c’est important Contribue directement à l’analyse des écarts sur les factures de fret en signalant les expéditions présentant des erreurs de facturation, ce qui aide à réduire les trop-perçus et à renforcer les contrôles financiers. Où les obtenir Il s’agit généralement d’un statut ou d’un indicateur défini lors du règlement du fret et du rapprochement des factures dans OTM. Exemples truefalse | |||
| Livraison à temps IsOnTimeDelivery | Un indicateur calculé qui précise si l’expédition a été livrée à la date de livraison demandée ou avant celle-ci. | ||
| Description Cet attribut booléen est calculé en comparant l’horodatage de l’activité « Marchandises livrées » à la « Date de livraison demandée ». Il prend la valeur « true » si la livraison a été effectuée à temps ou en avance, et « false » si elle a été effectuée en retard. Cet attribut alimente directement l’indicateur du taux de livraison à temps et constitue un élément essentiel du Dashboard de synthèse des performances de livraison. Il simplifie l’analyse des performances de livraison en fournissant un résultat binaire clair pour chaque expédition, ce qui facilite le filtrage, l’agrégation et la visualisation des expéditions livrées à temps ou en retard. Pourquoi c’est important Cet indicateur calculé simplifie la mesure de l’indicateur de livraison à temps et facilite le filtrage et l’analyse des expéditions livrées à temps ou en retard. Où les obtenir Cet attribut n’est pas présent dans le système source. Il est calculé lors de la transformation des données en comparant l’horodatage de l’activité « Marchandises livrées » à l’attribut « RequestedDeliveryDate ». Exemples truefalse | |||
| Nom de l’utilisateur UserName | Le nom ou l’identifiant de l’utilisateur qui a effectué une activité donnée ou qui en est responsable. | ||
| Description Cet attribut identifie l’utilisateur ou l’agent système qui a exécuté un événement précis, comme « Expédition planifiée » ou « Transporteur affecté ». Ces informations permettent d’établir les responsabilités et de comprendre l’implication des Ressources dans le processus. Dans le Process Mining, l’analyse des activités par utilisateur aide à comprendre la répartition de la charge de travail, à identifier les besoins de formation et à comparer les performances de différents utilisateurs ou équipes. Elle peut également servir à distinguer les activités effectuées manuellement de celles exécutées automatiquement par le système. Pourquoi c’est important Permet d’établir les responsabilités et d’analyser la charge de travail et les performances par utilisateur ou par équipe. Où les obtenir Provient des champs d’identifiant utilisateur, par exemple INSERT_USER, associés aux changements de statut ou aux événements dans les tables d’historique ou de journal d’OTM. Exemples JSMITHLOGISTICS_PLANNER_ASYSTEM_AUTO | |||
| Pays d’origine OriginCountry | Le pays où commence le parcours de l’expédition. | ||
| Description Cet attribut indique le pays de départ de l’expédition, en fonction du lieu d’expédition. Il constitue une information géographique importante pour l’analyse logistique. L’analyse des processus par pays d’origine aide à comprendre les variations régionales des performances. Les délais de dédouanement, les coûts des transporteurs et les durées de transit peuvent, par exemple, varier considérablement selon le pays d’origine. Cette segmentation est essentielle pour gérer la logistique internationale et identifier les goulots d’étranglement propres à certaines régions. Pourquoi c’est important Permet d’analyser géographiquement le processus de transport et d’identifier les goulots d’étranglement, les coûts et les variations de performance propres à certaines régions. Où les obtenir Est dérivé des informations d’adresse du lieu source de l’expédition ou de l’expéditeur, stockées dans les données de référence des lieux d’OTM. Exemples USADEUCHNMEX | |||
| Pays de destination DestinationCountry | Le pays dans lequel l’expédition doit être livrée. | ||
| Description Cet attribut indique le pays de destination finale de l’expédition, en fonction du lieu du destinataire. Il complète le pays d’origine pour l’analyse géographique des processus. Comme pour le pays d’origine, l’analyse par pays de destination est essentielle pour comprendre les différences de performance entre les différents itinéraires commerciaux. Elle est particulièrement utile pour étudier les délais de dédouanement, les performances de la livraison du dernier kilomètre et l’efficacité des transporteurs selon les régions. Elle aide ainsi à adapter les stratégies logistiques aux exigences des différents marchés de destination. Pourquoi c’est important Essentiel pour analyser les performances sur des itinéraires commerciaux précis et comprendre les difficultés liées aux douanes, aux transporteurs et aux réglementations des marchés de destination. Où les obtenir Est dérivé des informations d’adresse du lieu de destination de l’expédition ou du destinataire, stockées dans les données de référence des lieux d’OTM. Exemples CANFRAJPNBRA | |||
| Réacheminée IsRerouted | Un indicateur précisant si l’itinéraire de l’expédition a été modifié après la réservation initiale. | ||
| Description Cet attribut booléen prend la valeur « true » lorsqu’une expédition fait l’objet d’un réacheminement important après avoir été planifiée et réservée. Cette situation peut être due à une demande du client, à des perturbations imprévues ou à des possibilités d’optimisation. Cet attribut contribue directement à l’indicateur du taux de réacheminement des expéditions et au Dashboard d’analyse des réacheminements et des expéditions accélérées. Le suivi de la fréquence des réacheminements aide à identifier les problèmes sous-jacents de planification ou d’exécution. Il met en évidence les instabilités opérationnelles et les coûts associés, afin d’aider les responsables à réduire les changements coûteux et perturbateurs. Pourquoi c’est important Aide à quantifier la fréquence et l’impact des exceptions opérationnelles, comme les réacheminements, et met en évidence les inefficacités des processus de planification et d’exécution. Où les obtenir Cet indicateur est calculé en détectant des événements de réacheminement précis dans le journal d’événements ou en comparant l’itinéraire final à l’itinéraire initialement planifié. Exemples truefalse | |||
| Statut de l’expédition ShipmentStatus | Le statut actuel global de l’expédition dans son cycle de vie, par exemple « Planifiée », « En transit » ou « Livrée ». | ||
| Description Cet attribut fournit une synthèse générale de la position de l’expédition dans le processus. Contrairement à une activité, qui correspond à un événement ponctuel, le statut représente l’état du dossier d’expédition. Le Process Mining se concentre sur le flux des activités, mais le statut global est utile pour filtrer les dossiers et fournir un contexte dans les Dashboards. Une analyse peut, par exemple, porter uniquement sur les expéditions « Terminées » ou chercher à comprendre pourquoi de nombreuses expéditions restent exceptionnellement longtemps au statut « En transit ». Pourquoi c’est important Fournit une synthèse générale de l’avancement d’une expédition, utile pour filtrer et segmenter les dossiers dans les analyses. Où les obtenir Disponible sur l’enregistrement principal de l’expédition dans OTM, il représente son état actuel dans le flux de travail. Exemples PLANNEDBOOKEDIN_TRANSITDELIVERED | |||
| Système source SourceSystem | Identifie le système à l’origine des données d’événement, par exemple Oracle Transportation Management. | ||
| Description Cet attribut précise l’application source dans laquelle les données ont été générées. Dans un environnement logistique complexe, les données peuvent provenir d’OTM, d’un système de gestion d’entrepôt (WMS), du système d’un transporteur via EDI ou d’autres plateformes intégrées. La connaissance du système source est importante pour la gouvernance des données, l’évaluation de leur qualité et le dépannage. Elle permet de comprendre le contexte des données et peut expliquer des différences de granularité ou d’actualité. Dans les analyses, elle peut servir à filtrer les événements provenant uniquement d’un système spécifique et approuvé. Pourquoi c’est important Il fournit un contexte essentiel sur l’origine des données, ce qui est important pour leur validation et pour les analyses menées dans des environnements multi-systèmes. Où les obtenir Il s’agit généralement d’une valeur statique ajoutée lors de l’extraction des données afin d’indiquer l’origine des enregistrements. Exemples Oracle OTMOTM CloudSAP TM | |||
| Type d’expédition ShipmentType | Une classification de l’expédition, par exemple selon le niveau de service, le type de marchandise ou l’unité opérationnelle. | ||
| Description Cet attribut fournit une catégorisation de l’expédition propre à l’entreprise, par exemple « Standard », « Express », « Matières dangereuses » ou « Interentreprises ». Cette classification aide à appliquer des règles métier, des priorités ou des vues analytiques différentes. L’utilisation du type d’expédition comme dimension dans le Process Mining permet de comparer les processus associés à différents types d’expéditions. Elle peut révéler si certains types sont davantage exposés aux retards, présentent des coûts plus élevés ou suivent des parcours non standard. Ces analyses aident à adapter les processus aux besoins propres à chaque type d’expédition. Pourquoi c’est important Permet de segmenter l’analyse selon le contexte métier et de déterminer si différents types d’expéditions suivent des processus distincts ou présentent des niveaux de performance différents. Où les obtenir Il s’agit généralement d’un champ ou d’un attribut configurable de l’enregistrement d’expédition ou de commande dans OTM. Exemples StandardAccéléréInternationalNational | |||
Activités de gestion des transports
| Activité | Description | ||
|---|---|---|---|
| Demande de transport reçue | Cette activité marque la création d’un besoin de transport dans le système, généralement sous la forme d’un Order Release. L’événement est enregistré lorsqu’un nouvel enregistrement Order Release est créé dans Oracle Transportation Management, ce qui représente la demande initiale d’expédition. | ||
| Pourquoi c’est important En tant que point de départ du processus, cette activité est essentielle pour mesurer le délai total de bout en bout et comprendre les tendances de la demande. Elle permet d’analyser le temps écoulé entre la demande et la planification. Où les obtenir Il s’agit d’un événement explicite enregistré à partir de l’horodatage de création de l’enregistrement Order Release dans la table ORDER_RELEASE. Le champ INSERT_DATE ou un champ de date de création spécifique peut être utilisé. Collecte Utilisez l’horodatage de création de l’Order Release dans la table ORDER_RELEASE. Type d’événement explicit | |||
| Expédition planifiée | Cette activité représente la planification réussie d’un ou plusieurs Order Releases en une expédition viable par le moteur de planification OTM. Elle est enregistrée lorsque le système modifie le statut d’une expédition pour indiquer qu’elle a été planifiée, par exemple « PLANNING_PLANNED FINAL ». | ||
| Pourquoi c’est important Il s’agit d’une étape importante qui sépare la phase de demande de la phase d’exécution. L’analyse du temps précédant cette activité aide à repérer les goulots d’étranglement liés à l’efficacité de la planification et aux performances du moteur. Où les obtenir Cette activité est déduite de l’historique des statuts de l’objet Shipment dans la table SHIPMENT. Recherchez une modification vers un statut indiquant que la planification est terminée. Collecte Identifiez l’horodatage auquel SHIPMENT.SHIPMENT_STATUS_VALUE_GID passe à un statut « Planned ». Type d’événement inferred | |||
| Marchandises enlevées | Cette activité marque le début du transport physique, lorsque le transporteur a récupéré les marchandises au point d’origine. L’événement est enregistré lorsque le premier arrêt de l’expédition est marqué « DEPARTED ». | ||
| Pourquoi c’est important Il s’agit d’une étape essentielle qui marque le début de la phase de transit. Elle est indispensable pour suivre les performances d’enlèvement du transporteur et les temps de transit réels. Où les obtenir Cette activité est déduite du changement de statut du premier arrêt dans la table SHIPMENT_STOP vers « DEPARTED », ou du suivi d’un événement de statut de l’expédition indiquant l’enlèvement. Collecte Utilisez l’horodatage ACTUAL_DEPARTURE du premier enregistrement de la table SHIPMENT_STOP pour l’expédition. Type d’événement inferred | |||
| Marchandises livrées | Cette activité représente la livraison réussie de l’expédition au destinataire de la destination finale. Elle est enregistrée lorsque le dernier arrêt de l’expédition comporte une heure d’arrivée réelle. | ||
| Pourquoi c’est important Il s’agit de l’étape principale pour mesurer les performances de livraison à l’heure et le délai de bout en bout. Elle constitue l’aboutissement du processus d’exécution du transport. Où les obtenir Cette activité est déduite du renseignement du champ ACTUAL_ARRIVAL dans le dernier enregistrement d’arrêt de la table SHIPMENT_STOP associé à l’expédition. Collecte Utilisez l’horodatage ACTUAL_ARRIVAL du dernier enregistrement de la table SHIPMENT_STOP pour l’expédition. Type d’événement inferred | |||
| Paiement traité | Il s’agit de l’activité finale, qui représente le traitement réussi du paiement dû au transporteur pour ses services. Cet événement marque la clôture financière de l’expédition. | ||
| Pourquoi c’est important Cette activité clôt le cycle de vie du transport. Elle est essentielle pour mesurer les délais de traitement des paiements aux transporteurs et gérer efficacement les relations avec ces derniers. Où les obtenir Cette activité est déduite du changement de statut du voucher ou de la facture associée vers « PAID ». Ces données se trouvent dans les tables VOUCHER ou BILL. Collecte Identifiez l’horodatage auquel VOUCHER.VOUCHER_STATUS_ID passe à « PAID ». Type d’événement inferred | |||
| Preuve de livraison reçue | Cette activité représente la réception et l’enregistrement de la confirmation officielle de la livraison, par exemple un document signé. Elle est souvent enregistrée sous la forme d’un type de document spécifique associé à l’expédition. | ||
| Pourquoi c’est important Le POD est essentiel à la facturation et au règlement des litiges. Le suivi de sa réception contribue au respect des processus et accélère le cycle de règlement financier. Où les obtenir Il peut s’agir d’un événement explicite ou d’une activité déduite de la date de création d’un document POD associé à l’expédition. Recherchez dans la table DOCUMENT les documents dont le type est POD. Collecte Utilisez l’horodatage de création d’un document de type « POD » associé à l’expédition. Type d’événement explicit | |||
| Dédouanement effectué | Pour les expéditions internationales, cette activité représente le moment où les marchandises ont franchi avec succès les contrôles douaniers à une frontière ou dans un port. Elle est souvent enregistrée par l’intermédiaire d’un événement ou d’une mise à jour de statut spécifique de l’expédition. | ||
| Pourquoi c’est important Le dédouanement est une source fréquente de retards importants dans la logistique internationale. Le suivi de cette activité permet de mesurer et d’optimiser les délais du cycle de dédouanement. Où les obtenir Cet événement est généralement enregistré au moyen d’un événement d’expédition « Customs » saisi manuellement ou intégré. Recherchez dans la table SHIPMENT_STATUS les codes d’événement spécifiques liés aux opérations douanières. Collecte Identifiez l’horodatage d’un événement « Customs Cleared » dans la table SHIPMENT_STATUS. Type d’événement explicit | |||
| Expédition annulée | Cette activité représente l’annulation d’une expédition après sa planification, ce qui met prématurément fin à son cycle de vie. Elle est enregistrée lorsque le statut de l’objet Shipment passe à un état « cancelled ». | ||
| Pourquoi c’est important Le suivi des annulations est important pour comprendre les exceptions et les échecs des processus. Il aide à identifier les raisons des annulations, comme une évolution de la demande ou des erreurs de planification. Où les obtenir Cette activité est déduite de l’historique des statuts de l’objet Shipment dans la table SHIPMENT. Recherchez une modification vers un statut tel que « PLANNING_CANCELED ». Collecte Identifiez l’horodatage auquel SHIPMENT.SHIPMENT_STATUS_VALUE_GID passe à un statut « Cancelled ». Type d’événement inferred | |||
| Expédition en transit | Cette activité indique que les marchandises ont été enlevées et se dirigent activement vers leur destination. Il ne s’agit pas d’un instant unique, mais le début de cet état est enregistré immédiatement après l’activité « Goods Picked Up ». | ||
| Pourquoi c’est important Cette activité marque le début de la phase de transit, essentielle au suivi de l’avancement des livraisons et à l’identification des retards en cours d’acheminement. Elle constitue la base du Dashboard In-Transit Delay Hotspots. Où les obtenir Il s’agit du même événement que « Goods Picked Up », mais il est souvent représenté comme une activité distincte dans les modèles de processus pour signaler le début d’une nouvelle phase. Il est déduit du départ du premier arrêt. Collecte Identique à « Goods Picked Up » : utilisez l’horodatage ACTUAL_DEPARTURE du premier enregistrement SHIPMENT_STOP. Type d’événement inferred | |||
| Expédition réservée | Cette activité représente la confirmation officielle de la réservation auprès du transporteur après un tender accepté. Elle est généralement enregistrée lorsque le statut de l’expédition passe à « SECURE RESOURCES_BOOKED » ou à un statut équivalent. | ||
| Pourquoi c’est important Elle confirme l’engagement du transporteur et fait officiellement passer l’expédition à la phase d’exécution. Il s’agit d’une étape essentielle pour mesurer le KPI Shipment Planning Cycle Time. Où les obtenir Cette activité est déduite d’un changement de statut de l’objet Shipment dans la table SHIPMENT, en suivant le passage à un statut confirmé ou réservé après l’affectation du transporteur. Collecte Identifiez l’horodatage auquel SHIPMENT.SHIPMENT_STATUS_VALUE_GID passe à un statut « Booked ». Type d’événement inferred | |||
| Facture de transport contrôlée | Cette activité marque la fin du contrôle de la facture de transport, au cours duquel la facture du transporteur est rapprochée des détails de l’expédition et vérifiée. Elle est enregistrée lorsque le statut de la facture d’une expédition passe à « VOUCHER_AUDITED » ou à un état similaire. | ||
| Pourquoi c’est important Le contrôle est essentiel au pilotage financier et à l’identification des écarts de facturation. L’analyse de cette activité aide à optimiser le processus allant du contrôle au paiement et contribue au KPI Freight Bill Discrepancy Rate. Où les obtenir Cette activité est déduite du changement de statut de l’objet Bill associé à l’expédition. Recherchez dans la table BILL les mises à jour de statut indiquant la fin du contrôle. Collecte Identifiez l’horodatage auquel BILL.BILL_STATUS_VALUE_GID passe à un statut « Audited ». Type d’événement inferred | |||
| Rendez-vous d'enlèvement planifié | Cette activité indique qu’une date et une heure précises ont été planifiées et enregistrées pour l’enlèvement. Elle est souvent enregistrée à partir des données de rendez-vous au niveau de l’arrêt de l’expédition. | ||
| Pourquoi c’est important La planification des rendez-vous est une étape clé de la coordination. Son analyse permet de comprendre l’efficacité de la planification et son incidence sur la ponctualité des enlèvements. Où les obtenir Cette activité est déduite du renseignement des champs de date et d’heure du rendez-vous pour le premier arrêt, correspondant au lieu d’enlèvement de l’expédition, dans la table SHIPMENT_STOP. Collecte Utilisez l’horodatage auquel les champs du rendez-vous sont renseignés pour la première fois pour l’arrêt d’enlèvement. Type d’événement inferred | |||
| Rendez-vous de livraison planifié | Cette activité marque le moment où une date et une heure précises de livraison ont été planifiées avec le destinataire. L’événement est enregistré à partir des données de rendez-vous du dernier arrêt de l’expédition. | ||
| Pourquoi c’est important Il s’agit d’une étape importante pour coordonner la livraison finale. L’analyse du temps écoulé entre l’arrivée et la livraison prévue peut révéler des goulots d’étranglement dans les opérations du dernier kilomètre. Où les obtenir Cette activité est déduite du renseignement des champs de date et d’heure du rendez-vous pour le dernier arrêt, correspondant au lieu de livraison de l’expédition, dans la table SHIPMENT_STOP. Collecte Utilisez l’horodatage auquel les champs du rendez-vous sont renseignés pour la première fois pour l’arrêt de livraison. Type d’événement inferred | |||
| Transporteur affecté | Cette activité marque le moment où une expédition a été proposée avec succès à un transporteur donné et acceptée par celui-ci. Elle est enregistrée en observant le changement du statut de tender de l’expédition vers « TENDER_ACCEPTED » ou un état similaire. | ||
| Pourquoi c’est important Son suivi permet d’analyser l’efficacité du choix du transporteur et du processus de tender. Les retards à cette étape peuvent avoir une incidence importante sur le calendrier global, avant même le déplacement de l’expédition. Où les obtenir Cette activité est déduite de l’historique des statuts de la table SHIPMENT_TENDER, en recherchant précisément l’horodatage auquel le statut indique l’acceptation par un transporteur. Collecte Utilisez l’horodatage du changement de statut vers « TENDER_ACCEPTED » dans l’historique des tenders de l’expédition. Type d’événement inferred | |||
Guides d’extraction
Étapes
- Accéder à BI Publisher : Connectez-vous à votre application Oracle Transportation Management (OTM). Accédez à Business Process Automation, puis à Reporting, et sélectionnez Report Manager. L’interface Oracle Business Intelligence Publisher s’ouvre.
- Créer un modèle de données : Dans BI Publisher, cliquez sur le bouton New et sélectionnez Data Model. L’éditeur de modèle de données s’ouvre afin que vous puissiez définir la source de données de votre rapport.
- Définir la requête SQL : Dans l’éditeur de modèle de données, cliquez sur l’icône plus du diagramme Data Sets et sélectionnez SQL Query. Nommez le jeu de données, par exemple « OTM_Process_Mining_DS ». Sélectionnez votre base de données OTM comme Data Source. Copiez la requête SQL complète fournie dans la section « query » de ce document et collez-la dans le champ SQL Query.
- Ajouter les paramètres : La requête utilise des paramètres pour la période et le nom du domaine (:P_START_DATE, :P_END_DATE, :P_DOMAIN_NAME). BI Publisher les détecte automatiquement. Vous pouvez configurer leurs propriétés, notamment définir le type Date pour les paramètres de date.
- Enregistrer le modèle de données : Cliquez sur l’icône Save. Choisissez un emplacement dans le catalogue BI Publisher, indiquez un nom explicite tel que « OTM Shipment Process Extraction », puis enregistrez le modèle de données.
- Créer le rapport : Revenez au catalogue, cliquez sur le bouton New et sélectionnez Report. Dans l’assistant de création du rapport, sélectionnez l’option « Use Data Model » et recherchez le modèle de données que vous venez d’enregistrer.
- Configurer la mise en page du rapport : L’assistant vous guide dans la création de la mise en page. Une mise en page simple de type « Table » suffit. Faites glisser toutes les colonnes de votre jeu de données dans le tableau. N’effectuez aucun regroupement ni aucune agrégation.
- Enregistrer le rapport : Une fois la mise en page configurée, passez à l’étape finale et enregistrez le rapport. Donnez-lui un nom similaire à celui du modèle de données.
- Exécuter le rapport : Ouvrez le rapport nouvellement créé. Vous devrez saisir les valeurs des paramètres (Start Date, End Date, Domain Name). Indiquez la période souhaitée.
- Exporter les données : Une fois le rapport exécuté et les données affichées, cliquez sur le menu Actions et sélectionnez Export. Choisissez le format CSV. Un fichier CSV contenant l’Event Log sera téléchargé.
- Préparer le chargement : Ouvrez le fichier CSV téléchargé. Vérifiez que les en-têtes de colonnes correspondent aux attributs requis :
ShipmentId,ActivityName,EventTime, ainsi qu’aux attributs recommandés. Assurez-vous que la colonneEventTimeutilise un format de date et d’heure cohérent. Le fichier est maintenant prêt à être chargé dans ProcessMind.
Configuration
- Source de données : La requête doit être exécutée sur le schéma de la base opérationnelle principale d’OTM, généralement nommé GLOGOWNER.
- Paramètres du rapport :
P_START_DATE: début de la période couverte par le rapport. Le format doit être « YYYY-MM-DD ».P_END_DATE: fin de la période couverte par le rapport. Le format doit être « YYYY-MM-DD ».P_DOMAIN_NAME: domaine OTM précis dont les données doivent être extraites. Utilisez « [Your Domain Name] ».
- Période : Pour une première analyse, il est recommandé d’extraire les données sur une période de 3 à 6 mois afin de trouver un équilibre entre le volume de données et les performances. Pour les exécutions en production, envisagez des extractions mensuelles ou trimestrielles.
- Autorisations : L’utilisateur OTM qui exécute le rapport doit disposer de rôles spécifiques, tels que BI PUBLISHER DATA MODEL DEVELOPER et BI PUBLISHER REPORT DEVELOPER, pour créer et modifier les modèles de données et les rapports. Un accès en lecture seule aux tables de la base sous-jacente est également requis.
- Performances : La requête joint plusieurs tables volumineuses. Dans les environnements contenant un grand volume de données, il est fortement recommandé d’exécuter ce rapport en dehors des heures de pointe afin de ne pas affecter les performances du système. La période doit être aussi courte que possible pour garantir une exécution rapide du rapport.
a Exemple de requête sql
WITH SHIPMENTS_BASE AS (
SELECT
S.SHIPMENT_GID AS ShipmentId,
SP.SERVPROV_NAME AS CarrierName,
S.TOTAL_ACTUAL_COST AS ShipmentCost,
TM.TRANSPORT_MODE_NAME AS TransportationMode,
(
SELECT MAX(ORL.LATE_DELIVERY_DATE)
FROM SHIPMENT_S_SHIP_UNIT SSU
JOIN S_SHIP_UNIT SU ON SSU.S_SHIP_UNIT_GID = SU.S_SHIP_UNIT_GID
JOIN ORDER_RELEASE ORL ON SU.ORDER_RELEASE_GID = ORL.ORDER_RELEASE_GID
WHERE SSU.SHIPMENT_GID = S.SHIPMENT_GID
) AS RequestedDeliveryDate,
S.DOMAIN_NAME
FROM SHIPMENT S
LEFT JOIN SERVPROV SP ON S.SERVPROV_GID = SP.SERVPROV_GID
LEFT JOIN TRANSPORT_MODE TM ON S.TRANSPORT_MODE_GID = TM.TRANSPORT_MODE_GID
WHERE S.INSERT_DATE BETWEEN TO_DATE(:P_START_DATE, 'YYYY-MM-DD') AND TO_DATE(:P_END_DATE, 'YYYY-MM-DD') + 1
AND S.DOMAIN_NAME = :P_DOMAIN_NAME
)
-- 1. Transportation Request Received
SELECT
SB.ShipmentId,
'Transportation Request Received' AS ActivityName,
MIN(ORL.INSERT_DATE) AS EventTime,
SB.CarrierName,
SB.RequestedDeliveryDate,
SB.ShipmentCost,
SB.TransportationMode,
NULL AS DelayReason
FROM SHIPMENTS_BASE SB
JOIN SHIPMENT_S_SHIP_UNIT SSU ON SB.ShipmentId = SSU.SHIPMENT_GID
JOIN S_SHIP_UNIT SU ON SSU.S_SHIP_UNIT_GID = SU.S_SHIP_UNIT_GID
JOIN ORDER_RELEASE ORL ON SU.ORDER_RELEASE_GID = ORL.ORDER_RELEASE_GID
WHERE SB.DOMAIN_NAME = ORL.DOMAIN_NAME
GROUP BY SB.ShipmentId, SB.CarrierName, SB.RequestedDeliveryDate, SB.ShipmentCost, SB.TransportationMode
UNION ALL
-- 2. Shipment Planned
SELECT
SB.ShipmentId,
'Shipment Planned' AS ActivityName,
SS.STATUS_CHANGE_DATE AS EventTime,
SB.CarrierName,
SB.RequestedDeliveryDate,
SB.ShipmentCost,
SB.TransportationMode,
NULL AS DelayReason
FROM SHIPMENTS_BASE SB
JOIN SHIPMENT_STATUS SS ON SB.ShipmentId = SS.SHIPMENT_GID
WHERE SS.STATUS_CODE_GID = 'PLANNING_PLANNED FINAL'
UNION ALL
-- 3. Carrier Assigned
SELECT
SB.ShipmentId,
'Carrier Assigned' AS ActivityName,
ST.UPDATE_DATE AS EventTime,
SB.CarrierName,
SB.RequestedDeliveryDate,
SB.ShipmentCost,
SB.TransportationMode,
NULL AS DelayReason
FROM SHIPMENTS_BASE SB
JOIN SHIPMENT_TENDER ST ON SB.ShipmentId = ST.SHIPMENT_GID
WHERE ST.TENDER_STATUS_GID = 'TENDER_ACCEPTED'
UNION ALL
-- 4. Shipment Booked
SELECT
SB.ShipmentId,
'Shipment Booked' AS ActivityName,
SS.STATUS_CHANGE_DATE AS EventTime,
SB.CarrierName,
SB.RequestedDeliveryDate,
SB.ShipmentCost,
SB.TransportationMode,
NULL AS DelayReason
FROM SHIPMENTS_BASE SB
JOIN SHIPMENT_STATUS SS ON SB.ShipmentId = SS.SHIPMENT_GID
WHERE SS.STATUS_CODE_GID = 'SECURE RESOURCES_BOOKED'
UNION ALL
-- 5. Pickup Appointment Scheduled
SELECT
SB.ShipmentId,
'Pickup Appointment Scheduled' AS ActivityName,
SST.APPOINTMENT_START_TIME AS EventTime,
SB.CarrierName,
SB.RequestedDeliveryDate,
SB.ShipmentCost,
SB.TransportationMode,
NULL AS DelayReason
FROM SHIPMENTS_BASE SB
JOIN SHIPMENT_STOP SST ON SB.ShipmentId = SST.SHIPMENT_GID
WHERE SST.STOP_NUM = 1 AND SST.APPOINTMENT_START_TIME IS NOT NULL
UNION ALL
-- 6. Goods Picked Up
SELECT
SB.ShipmentId,
'Goods Picked Up' AS ActivityName,
SST.ACTUAL_DEPARTURE_DATE AS EventTime,
SB.CarrierName,
SB.RequestedDeliveryDate,
SB.ShipmentCost,
SB.TransportationMode,
NULL AS DelayReason
FROM SHIPMENTS_BASE SB
JOIN SHIPMENT_STOP SST ON SB.ShipmentId = SST.SHIPMENT_GID
WHERE SST.STOP_NUM = 1 AND SST.ACTUAL_DEPARTURE_DATE IS NOT NULL
UNION ALL
-- 7. Shipment In Transit
SELECT
SB.ShipmentId,
'Shipment In Transit' AS ActivityName,
SST.ACTUAL_DEPARTURE_DATE AS EventTime,
SB.CarrierName,
SB.RequestedDeliveryDate,
SB.ShipmentCost,
SB.TransportationMode,
NULL AS DelayReason
FROM SHIPMENTS_BASE SB
JOIN SHIPMENT_STOP SST ON SB.ShipmentId = SST.SHIPMENT_GID
WHERE SST.STOP_NUM = 1 AND SST.ACTUAL_DEPARTURE_DATE IS NOT NULL
UNION ALL
-- 8. Customs Cleared
SELECT
SB.ShipmentId,
'Customs Cleared' AS ActivityName,
SE.EVENT_DATE AS EventTime,
SB.CarrierName,
SB.RequestedDeliveryDate,
SB.ShipmentCost,
SB.TransportationMode,
SE.EVENT_REMARK_TEXT AS DelayReason
FROM SHIPMENTS_BASE SB
JOIN SHIPMENT_EVENT SE ON SB.ShipmentId = SE.SHIPMENT_GID
WHERE SE.EVENT_CODE = '[Your Customs Cleared Event Code]'
UNION ALL
-- 9. Delivery Appointment Scheduled
SELECT
SB.ShipmentId,
'Delivery Appointment Scheduled' AS ActivityName,
SST.APPOINTMENT_START_TIME AS EventTime,
SB.CarrierName,
SB.RequestedDeliveryDate,
SB.ShipmentCost,
SB.TransportationMode,
NULL AS DelayReason
FROM SHIPMENTS_BASE SB
JOIN SHIPMENT_STOP SST ON SB.ShipmentId = SST.SHIPMENT_GID
WHERE SST.STOP_NUM = (SELECT MAX(SST2.STOP_NUM) FROM SHIPMENT_STOP SST2 WHERE SST2.SHIPMENT_GID = SB.ShipmentId)
AND SST.APPOINTMENT_START_TIME IS NOT NULL
UNION ALL
-- 10. Goods Delivered
SELECT
SB.ShipmentId,
'Goods Delivered' AS ActivityName,
SST.ACTUAL_ARRIVAL_DATE AS EventTime,
SB.CarrierName,
SB.RequestedDeliveryDate,
SB.ShipmentCost,
SB.TransportationMode,
NULL AS DelayReason
FROM SHIPMENTS_BASE SB
JOIN SHIPMENT_STOP SST ON SB.ShipmentId = SST.SHIPMENT_GID
WHERE SST.STOP_NUM = (SELECT MAX(SST2.STOP_NUM) FROM SHIPMENT_STOP SST2 WHERE SST2.SHIPMENT_GID = SB.ShipmentId)
AND SST.ACTUAL_ARRIVAL_DATE IS NOT NULL
UNION ALL
-- 11. Proof of Delivery Received
SELECT
SB.ShipmentId,
'Proof of Delivery Received' AS ActivityName,
SE.EVENT_DATE AS EventTime,
SB.CarrierName,
SB.RequestedDeliveryDate,
SB.ShipmentCost,
SB.TransportationMode,
SE.EVENT_REMARK_TEXT AS DelayReason
FROM SHIPMENTS_BASE SB
JOIN SHIPMENT_EVENT SE ON SB.ShipmentId = SE.SHIPMENT_GID
WHERE SE.EVENT_CODE = '[Your POD Received Event Code]'
UNION ALL
-- 12. Freight Bill Audited
SELECT
SB.ShipmentId,
'Freight Bill Audited' AS ActivityName,
B.UPDATE_DATE AS EventTime,
SB.CarrierName,
SB.RequestedDeliveryDate,
SB.ShipmentCost,
SB.TransportationMode,
NULL AS DelayReason
FROM SHIPMENTS_BASE SB
JOIN BILL B ON SB.ShipmentId = B.SHIPMENT_GID
WHERE B.BILL_STATUS_GID = 'VOUCHER_AUDITED'
UNION ALL
-- 13. Payment Processed
SELECT
SB.ShipmentId,
'Payment Processed' AS ActivityName,
B.UPDATE_DATE AS EventTime,
SB.CarrierName,
SB.RequestedDeliveryDate,
SB.ShipmentCost,
SB.TransportationMode,
NULL AS DelayReason
FROM SHIPMENTS_BASE SB
JOIN BILL B ON SB.ShipmentId = B.SHIPMENT_GID
WHERE B.BILL_STATUS_GID = '[Your Payment Processed Bill Status]'
UNION ALL
-- 14. Shipment Cancelled
SELECT
SB.ShipmentId,
'Shipment Cancelled' AS ActivityName,
S.UPDATE_DATE AS EventTime,
SB.CarrierName,
SB.RequestedDeliveryDate,
SB.ShipmentCost,
SB.TransportationMode,
NULL AS DelayReason
FROM SHIPMENTS_BASE SB
JOIN SHIPMENT S ON SB.ShipmentId = S.SHIPMENT_GID
WHERE S.SHIPMENT_STATUS_GID = 'SHIPMENT_CANCELLED' Étapes
- Établir la connexion à la base de données : Obtenez des identifiants en lecture seule et les informations de connexion (hôte, port, identifiant de service) à la base de données Oracle Transportation Management. Vous devez pouvoir accéder au schéma
GLOGOWNER. - Configurer le client SQL : Configurez un outil client SQL, tel qu’Oracle SQL Developer, DBeaver ou Toad, avec les informations de connexion à la base obtenues à l’étape précédente.
- Préparer la requête : Copiez la requête SQL complète fournie dans ce document dans l’éditeur de requêtes de votre client SQL.
- Définir les paramètres de la requête : Repérez les valeurs de remplacement dans les clauses
WHEREde la requête. Vous devez remplacer[START_DATE],[END_DATE]et[YOUR_DOMAIN_NAME]par les valeurs appropriées pour votre extraction. Par exemple, définissez une période de 3 à 6 mois et indiquez le domaine opérationnel à analyser. - Exécuter la requête : Exécutez la requête SQL modifiée. Selon la période et la taille du système, l’opération peut prendre plusieurs minutes.
- Vérifier les résultats : Une fois la requête terminée, vérifiez rapidement les résultats dans votre client afin de vous assurer que des lignes sont renvoyées et que les colonnes clés telles que
ShipmentId,ActivityNameetEventTimesont renseignées. - Exporter au format CSV : Exportez l’ensemble des résultats dans un fichier CSV. Utilisez les paramètres CSV standard : séparateur virgule, guillemets doubles pour le texte et encodage UTF-8.
- Finaliser les en-têtes de colonnes : Avant le chargement, vérifiez que les en-têtes du fichier CSV correspondent exactement aux noms d’attributs requis :
ShipmentId,ActivityName,EventTime,CarrierName,RequestedDeliveryDate,ShipmentCost,TransportationModeetDelayReason. - Charger dans ProcessMind : Le fichier CSV préparé est maintenant prêt à être chargé et analysé dans ProcessMind.
Configuration
- Schéma de base de données : La requête est conçue pour être exécutée sur le schéma standard de la base Oracle Transportation Management, généralement nommé
GLOGOWNER. - Autorisations requises : Un utilisateur de base de données disposant d’un accès en lecture seule aux tables référencées dans la requête est nécessaire. Ces tables comprennent
SHIPMENT,SHIPMENT_STOP,ORDER_RELEASE,SHIPMENT_STATUS,SERVPROV,SHIPMENT_COST,DOCUMENT,BILLetVOUCHER. - Filtrage par domaine : Dans un environnement OTM mutualisé, il est essentiel d’appliquer un filtre sur
DOMAIN_NAME. La requête contient l’espace réservé[YOUR_DOMAIN_NAME], qui doit être configuré pour extraire les données de la bonne entité opérationnelle. - Période : Pour maîtriser les performances et le volume de données, vous devez définir une date de début et une date de fin. Il est recommandé d’appliquer le filtre sur une colonne indexée telle que
SHIPMENT.INSERT_DATE. Une période de 3 à 6 mois est généralement adaptée à une première analyse. - Personnalisation des codes de statut : La requête utilise des codes de statut courants par défaut, par exemple
PLANNING_PLANNED FINALetTENDER_ACCEPTED. Votre implémentation OTM peut utiliser des codes personnalisés. Vous devrez peut-être adapter les valeurs des clausesWHEREà la configuration de votre système.
a Exemple de requête sql
WITH ShipmentBase AS (
SELECT s.SHIPMENT_GID, s.SERVPROV_GID, s.LATE_DELIVERY_DATE, s.TRANSPORT_MODE_GID, sc.TotalShipmentCost
FROM GLOGOWNER.SHIPMENT s
LEFT JOIN (
SELECT sc.SHIPMENT_GID, SUM(sc.COST) as TotalShipmentCost
FROM GLOGOWNER.SHIPMENT_COST sc
GROUP BY sc.SHIPMENT_GID
) sc ON s.SHIPMENT_GID = sc.SHIPMENT_GID
WHERE s.INSERT_DATE BETWEEN TO_DATE('[START_DATE]', 'YYYY-MM-DD') AND TO_DATE('[END_DATE]', 'YYYY-MM-DD')
AND s.DOMAIN_NAME = '[YOUR_DOMAIN_NAME]'
),
OrderReleaseInfo AS (
SELECT ssu.SHIPMENT_GID, MIN(orl.INSERT_DATE) as Earliest_OR_Date
FROM GLOGOWNER.S_SHIP_UNIT ssu
JOIN GLOGOWNER.S_SHIP_UNIT_LINE ssul ON ssu.S_SHIP_UNIT_GID = ssul.S_SHIP_UNIT_GID
JOIN GLOGOWNER.ORDER_RELEASE_LINE orl ON ssul.ORDER_RELEASE_LINE_GID = orl.ORDER_RELEASE_LINE_GID
GROUP BY ssu.SHIPMENT_GID
)
-- 1. Transportation Request Received
SELECT
sb.SHIPMENT_GID AS "ShipmentId",
'Transportation Request Received' AS "ActivityName",
ori.Earliest_OR_Date AS "EventTime",
sp.SERVPROV_NAME AS "CarrierName",
sb.LATE_DELIVERY_DATE AS "RequestedDeliveryDate",
sb.TotalShipmentCost AS "ShipmentCost",
sb.TRANSPORT_MODE_GID AS "TransportationMode",
CAST(NULL AS VARCHAR(255)) AS "DelayReason"
FROM ShipmentBase sb
JOIN OrderReleaseInfo ori ON sb.SHIPMENT_GID = ori.SHIPMENT_GID
LEFT JOIN GLOGOWNER.SERVPROV sp ON sb.SERVPROV_GID = sp.SERVPROV_GID
WHERE ori.Earliest_OR_Date IS NOT NULL
UNION ALL
-- 2. Shipment Planned
SELECT
sb.SHIPMENT_GID AS "ShipmentId",
'Shipment Planned' AS "ActivityName",
ss.INSERT_DATE AS "EventTime",
sp.SERVPROV_NAME AS "CarrierName",
sb.LATE_DELIVERY_DATE AS "RequestedDeliveryDate",
sb.TotalShipmentCost AS "ShipmentCost",
sb.TRANSPORT_MODE_GID AS "TransportationMode",
CAST(NULL AS VARCHAR(255)) AS "DelayReason"
FROM ShipmentBase sb
JOIN GLOGOWNER.SHIPMENT_STATUS ss ON sb.SHIPMENT_GID = ss.SHIPMENT_GID
LEFT JOIN GLOGOWNER.SERVPROV sp ON sb.SERVPROV_GID = sp.SERVPROV_GID
WHERE ss.STATUS_CODE_GID = 'PLANNING_PLANNED FINAL'
UNION ALL
-- 3. Carrier Assigned
SELECT
sb.SHIPMENT_GID AS "ShipmentId",
'Carrier Assigned' AS "ActivityName",
ss.INSERT_DATE AS "EventTime",
sp.SERVPROV_NAME AS "CarrierName",
sb.LATE_DELIVERY_DATE AS "RequestedDeliveryDate",
sb.TotalShipmentCost AS "ShipmentCost",
sb.TRANSPORT_MODE_GID AS "TransportationMode",
CAST(NULL AS VARCHAR(255)) AS "DelayReason"
FROM ShipmentBase sb
JOIN GLOGOWNER.SHIPMENT_STATUS ss ON sb.SHIPMENT_GID = ss.SHIPMENT_GID
LEFT JOIN GLOGOWNER.SERVPROV sp ON sb.SERVPROV_GID = sp.SERVPROV_GID
WHERE ss.STATUS_CODE_GID = 'TENDER_ACCEPTED'
UNION ALL
-- 4. Shipment Booked
SELECT
sb.SHIPMENT_GID AS "ShipmentId",
'Shipment Booked' AS "ActivityName",
ss.INSERT_DATE AS "EventTime",
sp.SERVPROV_NAME AS "CarrierName",
sb.LATE_DELIVERY_DATE AS "RequestedDeliveryDate",
sb.TotalShipmentCost AS "ShipmentCost",
sb.TRANSPORT_MODE_GID AS "TransportationMode",
CAST(NULL AS VARCHAR(255)) AS "DelayReason"
FROM ShipmentBase sb
JOIN GLOGOWNER.SHIPMENT_STATUS ss ON sb.SHIPMENT_GID = ss.SHIPMENT_GID
LEFT JOIN GLOGOWNER.SERVPROV sp ON sb.SERVPROV_GID = sp.SERVPROV_GID
WHERE ss.STATUS_CODE_GID = 'SECURE RESOURCES_BOOKED'
UNION ALL
-- 5. Pickup Appointment Scheduled
SELECT
sb.SHIPMENT_GID AS "ShipmentId",
'Pickup Appointment Scheduled' AS "ActivityName",
stp.APPT_START_TIME AS "EventTime",
sp.SERVPROV_NAME AS "CarrierName",
sb.LATE_DELIVERY_DATE AS "RequestedDeliveryDate",
sb.TotalShipmentCost AS "ShipmentCost",
sb.TRANSPORT_MODE_GID AS "TransportationMode",
CAST(NULL AS VARCHAR(255)) AS "DelayReason"
FROM ShipmentBase sb
JOIN GLOGOWNER.SHIPMENT_STOP stp ON sb.SHIPMENT_GID = stp.SHIPMENT_GID
LEFT JOIN GLOGOWNER.SERVPROV sp ON sb.SERVPROV_GID = sp.SERVPROV_GID
WHERE stp.STOP_NUM = 1 AND stp.APPT_START_TIME IS NOT NULL
UNION ALL
-- 6. Goods Picked Up
SELECT
sb.SHIPMENT_GID AS "ShipmentId",
'Goods Picked Up' AS "ActivityName",
stp.ACTUAL_DEPARTURE_TIME AS "EventTime",
sp.SERVPROV_NAME AS "CarrierName",
sb.LATE_DELIVERY_DATE AS "RequestedDeliveryDate",
sb.TotalShipmentCost AS "ShipmentCost",
sb.TRANSPORT_MODE_GID AS "TransportationMode",
CAST(NULL AS VARCHAR(255)) AS "DelayReason"
FROM ShipmentBase sb
JOIN GLOGOWNER.SHIPMENT_STOP stp ON sb.SHIPMENT_GID = stp.SHIPMENT_GID
LEFT JOIN GLOGOWNER.SERVPROV sp ON sb.SERVPROV_GID = sp.SERVPROV_GID
WHERE stp.STOP_NUM = 1 AND stp.ACTUAL_DEPARTURE_TIME IS NOT NULL
UNION ALL
-- 7. Shipment In Transit
SELECT
sb.SHIPMENT_GID AS "ShipmentId",
'Shipment In Transit' AS "ActivityName",
stp.ACTUAL_DEPARTURE_TIME AS "EventTime",
sp.SERVPROV_NAME AS "CarrierName",
sb.LATE_DELIVERY_DATE AS "RequestedDeliveryDate",
sb.TotalShipmentCost AS "ShipmentCost",
sb.TRANSPORT_MODE_GID AS "TransportationMode",
CAST(NULL AS VARCHAR(255)) AS "DelayReason"
FROM ShipmentBase sb
JOIN GLOGOWNER.SHIPMENT_STOP stp ON sb.SHIPMENT_GID = stp.SHIPMENT_GID
LEFT JOIN GLOGOWNER.SERVPROV sp ON sb.SERVPROV_GID = sp.SERVPROV_GID
WHERE stp.STOP_NUM = 1 AND stp.ACTUAL_DEPARTURE_TIME IS NOT NULL
UNION ALL
-- 8. Customs Cleared
SELECT
sb.SHIPMENT_GID AS "ShipmentId",
'Customs Cleared' AS "ActivityName",
se.EVENT_DATE AS "EventTime",
sp.SERVPROV_NAME AS "CarrierName",
sb.LATE_DELIVERY_DATE AS "RequestedDeliveryDate",
sb.TotalShipmentCost AS "ShipmentCost",
sb.TRANSPORT_MODE_GID AS "TransportationMode",
se.REMARK_TEXT AS "DelayReason"
FROM ShipmentBase sb
JOIN GLOGOWNER.SHIPMENT_EVENT se ON sb.SHIPMENT_GID = se.SHIPMENT_GID
LEFT JOIN GLOGOWNER.SERVPROV sp ON sb.SERVPROV_GID = sp.SERVPROV_GID
WHERE se.EVENT_CODE_GID = '[Your Customs Cleared Event Code]'
UNION ALL
-- 9. Delivery Appointment Scheduled
SELECT
sb.SHIPMENT_GID AS "ShipmentId",
'Delivery Appointment Scheduled' AS "ActivityName",
stp.APPT_START_TIME AS "EventTime",
sp.SERVPROV_NAME AS "CarrierName",
sb.LATE_DELIVERY_DATE AS "RequestedDeliveryDate",
sb.TotalShipmentCost AS "ShipmentCost",
sb.TRANSPORT_MODE_GID AS "TransportationMode",
CAST(NULL AS VARCHAR(255)) AS "DelayReason"
FROM ShipmentBase sb
JOIN GLOGOWNER.SHIPMENT_STOP stp ON sb.SHIPMENT_GID = stp.SHIPMENT_GID
LEFT JOIN GLOGOWNER.SERVPROV sp ON sb.SERVPROV_GID = sp.SERVPROV_GID
WHERE stp.STOP_NUM = (SELECT MAX(s2.STOP_NUM) FROM GLOGOWNER.SHIPMENT_STOP s2 WHERE s2.SHIPMENT_GID = stp.SHIPMENT_GID)
AND stp.APPT_START_TIME IS NOT NULL
UNION ALL
-- 10. Goods Delivered
SELECT
sb.SHIPMENT_GID AS "ShipmentId",
'Goods Delivered' AS "ActivityName",
stp.ACTUAL_ARRIVAL_TIME AS "EventTime",
sp.SERVPROV_NAME AS "CarrierName",
sb.LATE_DELIVERY_DATE AS "RequestedDeliveryDate",
sb.TotalShipmentCost AS "ShipmentCost",
sb.TRANSPORT_MODE_GID AS "TransportationMode",
CAST(NULL AS VARCHAR(255)) AS "DelayReason"
FROM ShipmentBase sb
JOIN GLOGOWNER.SHIPMENT_STOP stp ON sb.SHIPMENT_GID = stp.SHIPMENT_GID
LEFT JOIN GLOGOWNER.SERVPROV sp ON sb.SERVPROV_GID = sp.SERVPROV_GID
WHERE stp.STOP_NUM = (SELECT MAX(s2.STOP_NUM) FROM GLOGOWNER.SHIPMENT_STOP s2 WHERE s2.SHIPMENT_GID = stp.SHIPMENT_GID)
AND stp.ACTUAL_ARRIVAL_TIME IS NOT NULL
UNION ALL
-- 11. Proof of Delivery Received
SELECT
sb.SHIPMENT_GID AS "ShipmentId",
'Proof of Delivery Received' AS "ActivityName",
d.INSERT_DATE AS "EventTime",
sp.SERVPROV_NAME AS "CarrierName",
sb.LATE_DELIVERY_DATE AS "RequestedDeliveryDate",
sb.TotalShipmentCost AS "ShipmentCost",
sb.TRANSPORT_MODE_GID AS "TransportationMode",
CAST(NULL AS VARCHAR(255)) AS "DelayReason"
FROM ShipmentBase sb
JOIN GLOGOWNER.DOCUMENT d ON sb.SHIPMENT_GID = d.OBJECT_GID
LEFT JOIN GLOGOWNER.SERVPROV sp ON sb.SERVPROV_GID = sp.SERVPROV_GID
WHERE d.OBJECT_TYPE_GID = 'SHIPMENT' AND d.DOCUMENT_TYPE_GID = 'POD'
UNION ALL
-- 12. Freight Bill Audited
SELECT
sb.SHIPMENT_GID AS "ShipmentId",
'Freight Bill Audited' AS "ActivityName",
b.UPDATE_DATE AS "EventTime",
sp.SERVPROV_NAME AS "CarrierName",
sb.LATE_DELIVERY_DATE AS "RequestedDeliveryDate",
sb.TotalShipmentCost AS "ShipmentCost",
sb.TRANSPORT_MODE_GID AS "TransportationMode",
CAST(NULL AS VARCHAR(255)) AS "DelayReason"
FROM ShipmentBase sb
JOIN GLOGOWNER.BILL b ON sb.SHIPMENT_GID = b.SHIPMENT_GID
LEFT JOIN GLOGOWNER.SERVPROV sp ON sb.SERVPROV_GID = sp.SERVPROV_GID
WHERE b.APPROVAL_STATUS_GID = 'VOUCHER_AUDITED'
UNION ALL
-- 13. Payment Processed
SELECT
sb.SHIPMENT_GID AS "ShipmentId",
'Payment Processed' AS "ActivityName",
v.UPDATE_DATE AS "EventTime",
sp.SERVPROV_NAME AS "CarrierName",
sb.LATE_DELIVERY_DATE AS "RequestedDeliveryDate",
sb.TotalShipmentCost AS "ShipmentCost",
sb.TRANSPORT_MODE_GID AS "TransportationMode",
CAST(NULL AS VARCHAR(255)) AS "DelayReason"
FROM ShipmentBase sb
JOIN GLOGOWNER.BILL b ON sb.SHIPMENT_GID = b.SHIPMENT_GID
JOIN GLOGOWNER.VOUCHER v ON b.BILL_GID = v.BILL_GID
LEFT JOIN GLOGOWNER.SERVPROV sp ON sb.SERVPROV_GID = sp.SERVPROV_GID
WHERE v.VOUCHER_STATUS_GID = 'VOUCHER_PAID' -- This status may vary based on configuration
UNION ALL
-- 14. Shipment Cancelled
SELECT
sb.SHIPMENT_GID AS "ShipmentId",
'Shipment Cancelled' AS "ActivityName",
ss.INSERT_DATE AS "EventTime",
sp.SERVPROV_NAME AS "CarrierName",
sb.LATE_DELIVERY_DATE AS "RequestedDeliveryDate",
sb.TotalShipmentCost AS "ShipmentCost",
sb.TRANSPORT_MODE_GID AS "TransportationMode",
CAST(NULL AS VARCHAR(255)) AS "DelayReason"
FROM ShipmentBase sb
JOIN GLOGOWNER.SHIPMENT_STATUS ss ON sb.SHIPMENT_GID = ss.SHIPMENT_GID
LEFT JOIN GLOGOWNER.SERVPROV sp ON sb.SERVPROV_GID = sp.SERVPROV_GID
WHERE ss.STATUS_CODE_GID LIKE '%CANCELLED%'; Prêt à commencer ?
Utilisez ce modèle pour transformer vos données brutes en analyses concrètes et apporter des améliorations significatives à vos processus de transport. Commencez dès aujourd’hui votre démarche d’optimisation.
Optimisez dès aujourd’hui votre gestion du transport
Réduisez le temps de cycle de 30 % et éliminez les goulots d’étranglement d’Oracle OTM.
Aucune carte bancaire requise • Essai gratuit de 14 jours