Votre modèle de données pour la maintenance des actifs
Votre modèle de données pour la maintenance des actifs
- Liste complète des attributs de maintenance
- Jalons essentiels du processus à suivre
- Instructions détaillées pour l’extraction technique
Attributs de maintenance des actifs
| Nom | Description | ||
|---|---|---|---|
| Activité Activity | Événement précis ou changement de statut survenu au cours du cycle de vie de l’ordre de travail. | ||
| Description Cet attribut désigne l’étape du processus de maintenance, par exemple « Ordre de travail approuvé » ou « Main-d’œuvre enregistrée ». Dans IBM Maximo, il est généralement déduit des changements de statut consignés dans les tables d’historique ou dans des journaux de transactions spécifiques, comme les déclarations de main-d’œuvre. Il constitue les nœuds de la cartographie du processus et permet d’en visualiser l’enchaînement. L’analyse de ces valeurs aide les organisations à repérer les variantes, les boucles et les écarts par rapport à la procédure de maintenance standard. Pourquoi est-ce important ? Il définit le « quoi » du processus, indispensable pour créer la cartographie du processus et comprendre l’exécution du flux de travail. Où trouver ces données Table : WOSTATUS (colonne : STATUS) ou WOLOG Exemples APPRINPRGCOMPCLOSEWMATL | |||
| Horodatage de l’événement EventTimestamp | Date et heure précises auxquelles l’activité a eu lieu. | ||
| Description Cet attribut consigne le moment exact où un événement s’est produit, par exemple lorsqu’un statut a changé ou que des heures de travail ont été enregistrées. Il fournit la dimension temporelle nécessaire à l’analyse des performances, notamment au calcul des délais et des durées. Des horodatages exacts sont indispensables pour calculer le « délai moyen de planification et d’approbation » et établir le bon ordre des événements. Dans Maximo, il s’agit généralement de la date de modification de l’enregistrement de statut. Pourquoi est-ce important ? Nécessaire pour classer les événements par ordre chronologique et calculer tous les KPI liés au temps. Où trouver ces données Table : WOSTATUS, colonne : CHANGEDATE Exemples 2023-10-12T08:30:00Z2023-10-12T14:15:00Z2023-10-13T09:00:00Z | |||
| Ordre de travail de maintenance WorkOrderNumber | Identifiant alphanumérique unique de l’ordre de travail de maintenance. | ||
| Description Cet attribut sert d’identifiant central pour les cas du processus de maintenance. Il distingue chaque ordre de travail dans IBM Maximo et relie toutes les activités, les transactions de main-d’œuvre et les consommations de matériel associées à une même intervention. Dans l’analyse de Process Mining, cet identifiant permet de regrouper les événements en un cas cohérent. Les analystes peuvent ainsi suivre l’ensemble du cycle de vie d’une intervention, de la création de la demande initiale à la clôture administrative, en passant par l’approbation et l’exécution. Pourquoi est-ce important ? Il constitue la clé de base pour reconstituer le flux du processus et suivre des interventions précises d’un service à l’autre. Où trouver ces données Table : WORKORDER, colonne : WONUM Exemples WO100234WO100235CM-99281PM-11002 | |||
| Dernière mise à jour des données LastDataUpdate | Horodatage de l’extraction ou de la dernière actualisation des données. | ||
| Description Indique la date du dernier traitement ou de la dernière extraction de l’enregistrement pour le Process Mining. Cet attribut permet d’évaluer l’actualité et la fiabilité des données, afin que l’analyse reflète l’état le plus récent des opérations de maintenance. Il est indispensable aux chargements incrémentiels et permet de vérifier que les Dashboards présentent des informations à jour sur le statut des ordres de travail et le retard accumulé. Pourquoi est-ce important ? Essentiel pour comprendre le délai de mise à jour et l’actualité des données. Où trouver ces données Heure système au moment de l’extraction Exemples 2023-11-01T00:00:00Z2023-11-01T12:00:00Z | |||
| Système source SourceSystem | Nom du système d’origine des données. | ||
| Description Identifie l’application source de l’enregistrement. Il s’agit généralement d’« IBM Maximo ». Cet attribut est particulièrement utile lorsque les données proviennent de plusieurs systèmes de maintenance ou sont intégrées à des données ERP. Il permet aux analystes de filtrer les résultats par système de référence lorsque le projet de Process Mining couvre un environnement complexe comprenant plusieurs instances de GMAO. Pourquoi est-ce important ? Assure la traçabilité de l’origine des données dans les environnements comportant plusieurs systèmes. Où trouver ces données Renseigné en dur lors de l’extraction Exemples IBM MaximoMaximo PRODMaximo Legacy | |||
| Criticité de l’actif AssetCriticality | Score indiquant l’importance de l’actif pour les opérations de l’entreprise. | ||
| Description Classification, généralement de 1 à 10 ou A/B/C, enregistrée dans la fiche de l’actif et indiquant les conséquences d’une défaillance. Elle doit être associée à la vue des ordres de travail. Cet attribut est indispensable au Dashboard « Performance du SLA des actifs critiques ». Il permet de concentrer l’analyse sur les enjeux les plus importants : un retard concernant un générateur critique pèse davantage qu’un retard concernant une machine à café de salle de pause. Pourquoi est-ce important ? Permet de segmenter les performances du processus selon le niveau de risque pour l’entreprise. Où trouver ces données Table : ASSET, colonne : PRIORITY (association via ASSETNUM) Exemples 1510 | |||
| Date d’achèvement prévue TargetCompletionDate | Échéance prévue ou requise pour l’ordre de travail. | ||
| Description Date à laquelle l’ordre de travail doit être terminé. Elle est souvent calculée en fonction de la priorité et de la date de création. Elle sert de référence au Dashboard « Performance du SLA des actifs critiques ». En comparant cet attribut à la « Date de fin réelle », les analystes peuvent calculer le taux de respect des délais et repérer les catégories d’actifs qui dépassent fréquemment leurs périodes de maintenance prévues. Pourquoi est-ce important ? Référence pour mesurer le respect du SLA et des délais prévus. Où trouver ces données Table : WORKORDER, colonne : TARGCOMPDATE Exemples 2023-10-20T17:00:00Z2023-10-25T08:00:00Z | |||
| Date de fin réelle ActualFinishDate | Date et heure auxquelles les travaux sur site ont été achevés. | ||
| Description Indique la date à laquelle l’intervention de maintenance a été achevée sur le plan technique. Elle se distingue de la clôture administrative du ticket. La comparaison avec la « Date d’achèvement prévue » permet de calculer le respect du SLA. Le Dashboard « Délai administratif de clôture des ordres de travail » utilise cet attribut pour mesurer le temps écoulé entre la fin de l’intervention et la clôture des formalités dans le système. Pourquoi est-ce important ? Marque la fin de la phase d’exécution technique. Où trouver ces données Table : WORKORDER, colonne : ACTFINISH Exemples 2023-10-15T16:00:00Z2023-10-16T10:30:00Z | |||
| Heures réelles de main-d’œuvre ActualLaborHours | Nombre total d’heures réellement consacrées à l’ordre de travail par l’ensemble des techniciens. | ||
| Description Somme de toutes les heures de main-d’œuvre enregistrées pour l’ordre de travail. Cette métrique donne une mesure concrète de l’utilisation des ressources et contribue au KPI « Écart d’utilisation des techniciens ». Elle sert à calculer les coûts de main-d’œuvre et à améliorer les plans d’intervention futurs grâce aux données historiques sur le temps réellement nécessaire à chaque type de tâche. Pourquoi est-ce important ? Métrique principale pour analyser les coûts et l’efficacité de la main-d’œuvre. Où trouver ces données Table : WORKORDER, colonne : ACTLABHRS Exemples 2.55.012.0 | |||
| Numéro d’actif AssetNumber | Identifiant unique de l’équipement ou de l’actif faisant l’objet de la maintenance. | ||
| Description Machine, véhicule ou composant d’installation concerné par les travaux de maintenance. Cet attribut relie les données du processus à la hiérarchie des actifs physiques et aide à repérer les actifs qui tombent fréquemment en panne. Utilisé dans l’analyse « Qualité de la maintenance et taux de reprises », il permet de regrouper les ordres de travail par actif, de calculer le temps moyen entre les pannes (MTBF) et de repérer les problèmes récurrents de fiabilité. Pourquoi est-ce important ? Relie l’exécution du processus aux performances des infrastructures physiques. Où trouver ces données Table : WORKORDER, colonne : ASSETNUM Exemples PUMP-101HVAC-02FLEET-99 | |||
| Priorité Priority | Niveau d’urgence attribué à l’ordre de travail. | ||
| Description Valeur numérique ou catégorie indiquant l’importance et l’urgence de l’ordre de travail. Dans Maximo, il s’agit généralement d’un nombre, les valeurs les plus faibles correspondant souvent à une urgence plus élevée (par exemple, 1 = urgence). Cet attribut sert à prioriser les travaux en attente et est indispensable au Dashboard « Performance du SLA des actifs critiques ». Il permet de vérifier si les travaux hautement prioritaires sont traités assez rapidement par rapport aux interventions moins prioritaires. Pourquoi est-ce important ? Permet de vérifier si l’organisation affecte ses ressources aux interventions les plus urgentes. Où trouver ces données Table : WORKORDER, colonne : WOPRIORITY Exemples 1234 | |||
| Statut actuel Status | État actuel de l’ordre de travail dans son cycle de vie. | ||
| Description Statut administratif actuel de l’ordre de travail, par exemple « APPR », « WAPPR » ou « COMP ». L’attribut « Activité » retrace l’historique des changements, tandis que celui-ci indique le dernier état connu. Il permet de filtrer les données pour n’afficher que les ordres « Ouverts » ou « Clôturés », notamment dans l’analyse « Répartition de la charge de travail de maintenance ». Pourquoi est-ce important ? Donne un aperçu de la charge de travail et des travaux en attente. Où trouver ces données Table : WORKORDER, colonne : STATUS Exemples APPRCLOSEINPRG | |||
| Technicien affecté AssignedResource | Personne ou technicien principal chargé d’effectuer les travaux. | ||
| Description Identifie la personne ou le technicien principal responsable de l’ordre de travail. Cette information figure dans le champ « Lead » ou peut être déduite des affectations de main-d’œuvre. Elle permet d’alimenter le Dashboard « Productivité des ressources et des sous-traitants ». L’analyse de cet attribut aide à repérer les déséquilibres de charge dans la vue « Répartition de la charge de travail de maintenance » et à comparer l’efficacité des techniciens ou des équipes. Pourquoi est-ce important ? Indispensable pour analyser la productivité des équipes et équilibrer la charge de travail. Où trouver ces données Table : WORKORDER, colonne : LEAD (ou table ASSIGNMENT) Exemples JSMITHBPATELMRODRIGUEZ | |||
| Type d’ordre de travail WorkType | Classe l’ordre de travail comme préventif (PM), correctif (CM) ou urgent (EM). | ||
| Description Cet attribut classe la nature de l’intervention de maintenance. Dans Maximo, les valeurs courantes sont PM (maintenance préventive), CM (maintenance corrective) et EM (maintenance d’urgence). Cette classification constitue la base du Dashboard « Maintenance proactive ou réactive ». En filtrant sur cet attribut, les analystes peuvent calculer le KPI « Taux de maintenance d’urgence » et repérer les évolutions de la stratégie de maintenance, des interventions réactives vers des travaux planifiés visant à améliorer la fiabilité. Pourquoi est-ce important ? Distingue les travaux planifiés des travaux non planifiés, un indicateur important de la maturité de la maintenance. Où trouver ces données Table : WORKORDER, colonne : WORKTYPE Exemples PMCMEMCPMOD | |||
| Code de défaillance FailureCode | Code normalisé décrivant la cause de la défaillance de l’actif. | ||
| Description Code structuré sélectionné par le technicien pour classer la cause de la défaillance, par exemple « Usure », « Électricité » ou « Erreur de l’opérateur ». Il est essentiel à l’analyse des causes profondes (RCA). Le regroupement de ces codes aide les équipes d’ingénierie à repérer les problèmes systémiques dans l’ensemble des actifs. Il alimente l’analyse « Qualité de la maintenance et taux de reprises » et éclaire l’évolution des stratégies de maintenance préventive. Pourquoi est-ce important ? Donnée de référence pour l’ingénierie de la fiabilité et l’analyse des défaillances. Où trouver ces données Table : WORKORDER, colonne : FAILURECODE Exemples FUITESURCHAUFFEVIBRATION | |||
| Coût réel total TotalActualCost | Somme des coûts de main-d’œuvre, de matériel, de services et d’outils pour l’ordre de travail. | ||
| Description Représente le coût total de l’intervention de maintenance. Dans Maximo, il correspond à la somme des différents postes de coûts (main-d’œuvre + matériel + services + outils). Cet attribut permet d’analyser les coûts du processus et de relier directement les inefficacités, comme les retards ou les reprises, aux pertes financières. Il aide à repérer les types de maintenance ou les catégories d’actifs les plus coûteux. Pourquoi est-ce important ? Relie les activités opérationnelles aux résultats financiers. Où trouver ces données Table : WORKORDER, colonnes : ACTMATCOST + ACTLABCOST + ACTSERVCOST + ACTTOOLCOST Exemples 150.002500.500.00 | |||
| Date de signalement ReportedDate | Date et heure du premier signalement du problème ou de la création de la demande. | ||
| Description Horodatage indiquant le moment où le besoin de maintenance a été identifié et saisi pour la première fois dans le système. Il marque le début réel du parcours de prise en charge. Il sert à calculer le « délai moyen de planification et d’approbation », en mesurant le temps écoulé entre le signalement et le début effectif des travaux. Il permet d’évaluer la réactivité de l’organisation de maintenance. Pourquoi est-ce important ? Définit le point de départ pour mesurer la réactivité tout au long du cycle de vie de la maintenance. Où trouver ces données Table : WORKORDER, colonne : REPORTDATE Exemples 2023-10-10T08:00:00Z2023-10-10T09:15:00Z | |||
| Emplacement Location | Emplacement fonctionnel ou site physique où les travaux sont effectués. | ||
| Description Indique la zone physique ou le code d’emplacement fonctionnel de l’actif. Plus général que le numéro d’actif, cet attribut facilite les analyses géographiques ou par zone. Utilisé dans le Dashboard « Répartition de la charge de travail de maintenance », il permet de visualiser les zones où les activités de maintenance sont concentrées et de planifier les déplacements des techniciens entre les sites. Pourquoi est-ce important ? Fournit un contexte géographique pour la logistique et la répartition des ressources. Où trouver ces données Table : WORKORDER, colonne : LOCATION Exemples BRILER-RMPLANT-AOFFICE-1 | |||
| Est une urgence IsEmergency | Indicateur précisant si l’ordre de travail concerne une urgence. | ||
| Description Indicateur booléen calculé à partir du type de travail ou de la priorité. Il prend la valeur vrai si le type de travail est « EM » (urgence) ou si la priorité est égale à 1. Cet attribut simplifie le filtrage dans les Dashboards et permet d’isoler facilement le « Taux de maintenance d’urgence », sans logique complexe dans la couche de visualisation. Pourquoi est-ce important ? Simplifie le filtrage pour l’analyse de la maintenance réactive. Où trouver ces données Calculé à partir de WORKTYPE Exemples truefalse | |||
| Fournisseur Vendor | Sous-traitant chargé de l’ordre de travail, le cas échéant. | ||
| Description Identifie l’entreprise externe chargée de l’intervention de maintenance. Cet attribut est renseigné lorsque les travaux sont sous-traités. Il est essentiel au KPI « Efficacité d’exécution des sous-traitants ». Son analyse permet à l’organisation de comparer les performances des différents fournisseurs, en matière de coûts, de délais et de qualité, entre elles et avec celles des équipes internes. Pourquoi est-ce important ? Permet de gérer les fournisseurs et d’analyser les performances de la sous-traitance. Où trouver ces données Table : WORKORDER, colonne : VENDOR Exemples ACME SERVICESSIEMENSFAST REPAIR INC | |||
| Heures de main-d’œuvre estimées EstimatedLaborHours | Temps de main-d’œuvre prévu pour l’ordre de travail. | ||
| Description Nombre total d’heures estimé pour réaliser l’intervention pendant la phase de planification. Cette valeur est comparée aux « Heures réelles de main-d’œuvre » dans le Dashboard « Précision des estimations de main-d’œuvre ». Un écart important entre l’estimation et les heures réelles peut révéler une planification insuffisante, l’absence de procédures opératoires standard ou des conditions imprévues de l’actif qui ont nécessité davantage de travail. Pourquoi est-ce important ? Indispensable pour évaluer la précision de la planification et prévoir les ressources nécessaires. Où trouver ces données Table : WORKORDER, colonne : ESTLABHRS Exemples 2.04.58.0 | |||
| ID du site SiteId | Identifiant général du site dans les déploiements Maximo multisites. | ||
| Description Dans les grandes organisations, Maximo est souvent réparti par « site ». Cet attribut distingue les différentes usines ou installations au niveau de la base de données. Il est indispensable pour comparer les performances entre les différentes unités opérationnelles dans l’analyse « Respect du processus de maintenance standard » et garantir que les comparaisons tiennent compte du contexte opérationnel approprié. Pourquoi est-ce important ? Indispensable pour délimiter les données dans les déploiements multisites. Où trouver ces données Table : WORKORDER, colonne : SITEID Exemples BEDFORDNASHUATEXAS | |||
| SLA dépassé IsSlaBreached | Indicateur précisant si la date de fin réelle est postérieure à la date prévue. | ||
| Description Champ calculé booléen qui compare la « Date de fin réelle » à la « Date d’achèvement prévue ». Si la date réelle est postérieure à la date prévue, la valeur est vraie. Cette métrique précalculée simplifie le Dashboard « Performance du SLA des actifs critiques » et permet de compter immédiatement les SLA non respectés, sans calcul de dates à l’exécution. Pourquoi est-ce important ? Permet de voir immédiatement si les objectifs de performance sont respectés. Où trouver ces données Calculé à partir de ACTFINISH et TARGCOMPDATE Exemples truefalse | |||
Activités de maintenance des actifs
| Activité | Description | ||
|---|---|---|---|
| Début des travaux | Marque le début réel des travaux sur le terrain par le technicien. L’événement est enregistré lorsque l’utilisateur modifie le statut pour indiquer que l’intervention est en cours. | ||
| Pourquoi est-ce important ? Étape clé pour distinguer le temps de planification du temps d’exécution. Sert à calculer le délai moyen de planification et d’approbation. Où trouver ces données Table WOSTATUS où STATUS = 'INPRG' Données à recueillir Enregistré lors de la transaction qui fait passer le statut à INPRG Type d’événement explicit | |||
| Demande de maintenance créée | Événement initial correspondant à la création d’un ordre de travail dans le système, souvent à la suite d’une demande de service ou d’un calendrier automatisé. Il est enregistré à partir de l’horodatage de création dans la table WORKORDER ou de la première entrée de l’historique WOSTATUS. | ||
| Pourquoi est-ce important ? Marque le début de l’instance du processus et sert de référence pour mesurer le délai total de résolution et la rapidité de la première réponse. Où trouver ces données WORKORDER.REPORTDATE ou première entrée dans la table WOSTATUS (généralement avec le statut WAPPR) Données à recueillir Enregistré lors de la transaction qui crée l’enregistrement WO Type d’événement explicit | |||
| Ordre de travail annulé | Le processus s’arrête prématurément, car le travail a été jugé inutile, redondant ou impossible à réaliser. Il s’agit d’un état final. | ||
| Pourquoi est-ce important ? Alimente le Dashboard d’analyse des annulations d’ordres de travail. Un taux élevé révèle des défaillances en amont dans la création des demandes. Où trouver ces données Table WOSTATUS où STATUS = 'CAN' Données à recueillir Enregistré lorsque la transaction passe au statut CAN Type d’événement explicit | |||
| Ordre de travail approuvé | Indique que l’ordre de travail a passé les contrôles nécessaires de planification et d’autorisation financière. Cette étape est déduite d’un changement de statut dans l’historique du système. | ||
| Pourquoi est-ce important ? Indispensable au calcul de l’indicateur du délai de planification et d’approbation. Les retards à cette étape signalent des goulots d’étranglement administratifs. Où trouver ces données Table WOSTATUS où STATUS = 'APPR' Données à recueillir Comparer la valeur du champ de statut avant et après pour repérer le passage à APPR Type d’événement explicit | |||
| Ordre de travail clôturé | Dernier événement du cycle de vie : l’ordre de travail est réglé financièrement et passe en lecture seule. Aucun frais supplémentaire ne peut alors être imputé. | ||
| Pourquoi est-ce important ? Marque la fin du délai administratif. Les retards à cette étape ont une incidence sur le reporting financier. Où trouver ces données Table WOSTATUS où STATUS = 'CLOSE' Données à recueillir Enregistré lors de la transaction qui fait passer le statut à CLOSE Type d’événement explicit | |||
| Ordre de travail terminé | Le technicien confirme que les travaux sur le terrain sont terminés. Ce changement de statut arrête le décompte des indicateurs de temps d’exécution. | ||
| Pourquoi est-ce important ? Horodatage principal de fin de l’exécution technique. Sert à calculer le respect des SLA et le taux d’utilisation des techniciens. Où trouver ces données Table WOSTATUS où STATUS = 'COMP' Données à recueillir Enregistré lors de la transaction qui fait passer le statut à COMP Type d’événement explicit | |||
| Contrôle qualité non réussi | Se produit lorsqu’un travail terminé est refusé lors de la vérification, ce qui ramène souvent le statut à In Progress. Correspond à une boucle de reprise. | ||
| Pourquoi est-ce important ? Alimente directement le Dashboard de qualité de la maintenance et des taux de reprise en mettant en évidence les défaillances du processus. Où trouver ces données Déduit du passage de WOSTATUS de COMP à INPRG ou WAPPR Données à recueillir Déduire l’événement en comparant l’historique du champ WOSTATUS pour repérer les changements de statut en arrière Type d’événement inferred | |||
| Date cible mise à jour | Enregistre une modification de la date d’achèvement prévue ou de l’objectif SLA. Cela permet de repérer les changements de délai destinés à compenser des retards. | ||
| Pourquoi est-ce important ? Important pour analyser le respect des SLA des équipements critiques et repérer les cas où les dates sont modifiées pour éviter un dépassement du SLA. Où trouver ces données Piste d’audit des champs TARGETCOMPDATE ou SCHEDFINISH Données à recueillir Enregistré lors d’une transaction qui met à jour les champs de date Type d’événement explicit | |||
| Demande de matériel soumise | Indique que des pièces de rechange ou des consommables ont été demandés pour l’intervention de maintenance. L’événement peut être déduit du passage au statut Waiting on Material ou de la création de lignes de besoins en matériel. | ||
| Pourquoi est-ce important ? Indispensable au Dashboard de disponibilité du matériel pour repérer les retards d’approvisionnement qui empêchent l’exécution des travaux. Où trouver ces données Table WOSTATUS où STATUS = 'WMATL' ou création d’entrées dans la table WPMATERIAL Données à recueillir Déduit du passage au statut WMATL Type d’événement inferred | |||
| Heures de travail enregistrées | Correspond à la saisie du temps réellement consacré par un technicien à un ordre de travail précis. Plusieurs saisies peuvent être associées à un même ordre si plusieurs techniciens interviennent. | ||
| Pourquoi est-ce important ? Alimente le Dashboard de précision des estimations de main-d’œuvre en fournissant les heures réelles à comparer aux estimations. Où trouver ces données Entrées de la table LABTRANS liées à l’ordre de travail Données à recueillir Enregistré lors d’une transaction dans LABTRANS Type d’événement explicit | |||
| Inspection terminée | Indique qu’une inspection de sécurité ou technique a été effectuée au cours du cycle de vie. L’événement correspond souvent à un changement de statut ou à la validation d’une mesure de contrôle. | ||
| Pourquoi est-ce important ? Indispensable au Dashboard de documentation de sécurité et de conformité. Permet de vérifier que les étapes réglementaires n’ont pas été omises. Où trouver ces données Passage de WOSTATUS à 'INSP' ou à un statut personnalisé similaire, ou validation d’entrées MEASUREMENT Données à recueillir Comparer la valeur du champ de statut avant et après Type d’événement inferred | |||
| Matériel délivré | Enregistre la sortie ou la consommation physique de pièces du stock pour l’ordre de travail. Cela confirme que les pièces sont disponibles et utilisées. | ||
| Pourquoi est-ce important ? Permet de vérifier le processus d’approvisionnement et influe sur le calcul du coût total de l’intervention de maintenance. Où trouver ces données Table MATUSETRANS où ISSUETYPE = 'ISSUE' Données à recueillir Enregistré lors d’une transaction dans MATUSETRANS Type d’événement explicit | |||
| Ressources planifiées | Étape à laquelle des techniciens ou des équipes sont affectés à l’ordre de travail. Elle est suivie lors de la création des affectations ou du passage au statut Waiting Schedule. | ||
| Pourquoi est-ce important ? Alimente le Dashboard d’analyse du cycle de planification et d’approbation en isolant le temps nécessaire pour trouver des techniciens disponibles. Où trouver ces données Création de lignes dans la table ASSIGNMENT ou passage du statut WOSTATUS à 'WSCH' Données à recueillir Déduire l’événement de la création d’enregistrements Assignment liés à l’ordre de travail Type d’événement inferred | |||
Guides d’extraction
Étapes
Définir la stratégie de vue de base de données : ProcessMind nécessite un journal d’événements à plat, tandis que Maximo stocke les données de manière hiérarchique : les en-têtes dans WORKORDER, l’historique dans WOSTATUS et les coûts dans WOLABTRANS. La méthode la plus fiable consiste donc à créer d’abord une vue de base de données dans Maximo. Cette vue servira de source au cadre d’intégration.
Créer la vue SQL : Exécutez le SQL fourni dans la section Query à l’aide de votre outil de gestion de base de données (SQL Developer, SSMS). Cette requête regroupe
WORKORDER,WOSTATUS,WOLABTRANS,MATUSETRANSetA_WORKORDER(audit) dans une seule structure à plat.Enregistrer la vue dans Maximo : Connectez-vous à Maximo en tant qu’administrateur. Accédez à Configuration système, Configuration de la plateforme, Configuration de la base de données. Créez un objet nommé
PM_WO_EVENTLOGet associez-le à la vue de base de données créée à l’étape précédente. ExécutezConfigDBpour l’enregistrer. Les vues ne nécessitent généralement pas d’interruption de service, mais vérifiez vos procédures.Créer la structure d’objet : Accédez à Intégration, Structures d’objet. Créez une structure d’objet nommée
MX_PM_EVENTS. AjoutezPM_WO_EVENTLOGcomme objet source. Cochez la prise en charge de la structure à plat, si cette option est disponible.Configurer le canal de publication : Accédez à Intégration, Canaux de publication. Créez un canal nommé
PC_PM_EVENTSassocié à la structure d’objetMX_PM_EVENTS. Vous pourrez ainsi définir des règles de traitement, si nécessaire.Configurer le système externe : Accédez à Intégration, Systèmes externes. Sélectionnez votre système cible ou créez un système générique EXTSYS. Ajoutez le canal de publication
PC_PM_EVENTSà ce système.Activer l’export des données : Dans l’application Systèmes externes, ouvrez l’onglet d’export des données. Sélectionnez le canal
PC_PM_EVENTS. Vous pouvez y définir une clause SQL Where, par exempleEVENTTIMESTAMP >= '2023-01-01', afin de limiter la période d’export.Exporter les données : Cliquez sur Exporter. Le système génère le fichier au format XML ou CSV, selon le point de terminaison configuré. Pour ProcessMind, privilégiez le CSV. Vérifiez que votre point de terminaison, par exemple
MXFLATFILE, est configuré pour produire un fichier CSV.Vérifier le résultat : Ouvrez le fichier CSV généré. Vérifiez que les en-têtes correspondent aux attributs définis dans la requête (WorkOrderNumber, Activity, etc.) et qu’il ne reste aucune balise XML hiérarchique.
Mise en forme finale : Si l’export CSV de Maximo comprend des colonnes de métadonnées système standard, comme
OWNER1ouORGID, supprimez-les si elles ne sont pas nécessaires. Importez le fichier CSV nettoyé dans ProcessMind.
Configuration
- Synonymes de statut Maximo : Maximo permet de définir des codes de statut personnalisés, par exemple APPR et WAPPR. La requête part du principe que les valeurs internes standard sont utilisées. Vérifiez le domaine
WOSTATUSdansSYNONYMDOMAINpour associer correctement les statuts personnalisés. - Tables d’audit : L’extraction de l’activité « Date cible mise à jour » dépend de la table d’audit
A_WORKORDER. Si l’audit n’est pas activé pour l’objetWORKORDER, cette activité ne renverra aucune ligne. Si cette activité est importante, activez l’audit dans Configuration de la base de données. - Période : Pour le chargement initial, filtrez
EVENTTIMESTAMPsur les 6 à 12 derniers mois. Les chargements historiques volumineux peuvent expirer dans l’interface Web du cadre d’intégration. Pour les jeux de données de plus de 50 000 lignes, utilisez le traitement en arrière-plan. - Filtres de site et d’organisation : Maximo gère plusieurs sites. Filtrez toujours par
SITEIDsi l’analyse du processus porte sur un établissement précis. - Performances : La requête
UNION ALLsollicite fortement les ressources. Vérifiez que des index existent surWOSTATUS.WONUM,WOLABTRANS.REFWOetMATUSETRANS.REFWO.
Exemple de requête sql
/* Create a Database View or Run directly to extract Event Log */
/* 1. Maintenance Request Created */
SELECT
W.WONUM AS WorkOrderNumber,
'Maintenance Request Created' AS Activity,
W.REPORTDATE AS EventTimestamp,
'Maximo' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
W.WORKTYPE AS WorkType,
W.WOPRIORITY AS Priority,
W.ASSETNUM AS AssetNumber,
W.LEAD AS AssignedResource,
W.ACTFINISH AS ActualFinishDate,
W.TARGCOMPDATE AS TargetCompletionDate,
0 AS ActualLaborHours,
W.ASSETLOCPRIORITY AS AssetCriticality,
W.STATUS AS Status
FROM WORKORDER W
WHERE W.REPORTDATE IS NOT NULL
UNION ALL
/* 2. Status Driven Activities (Approved, Scheduled, Commenced, Completed, Closed, Cancelled, etc.) */
SELECT
S.WONUM AS WorkOrderNumber,
CASE
WHEN S.STATUS = 'APPR' THEN 'Work Order Approved'
WHEN S.STATUS = 'WMATL' THEN 'Material Requisition Submitted'
WHEN S.STATUS = 'WSCH' THEN 'Resources Scheduled'
WHEN S.STATUS = 'INPRG' THEN 'Work Commenced'
WHEN S.STATUS = 'INSP' THEN 'Inspection Completed' /* Verify Synonym */
WHEN S.STATUS = 'COMP' THEN 'Work Order Completed'
WHEN S.STATUS = 'REJECT' THEN 'Quality Check Failed' /* Verify Synonym */
WHEN S.STATUS = 'CLOSE' THEN 'Work Order Closed'
WHEN S.STATUS = 'CAN' THEN 'Work Order Cancelled'
ELSE 'Status Change: ' || S.STATUS
END AS Activity,
S.CHANGEDATE AS EventTimestamp,
'Maximo' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
W.WORKTYPE AS WorkType,
W.WOPRIORITY AS Priority,
W.ASSETNUM AS AssetNumber,
S.CHANGEBY AS AssignedResource,
W.ACTFINISH AS ActualFinishDate,
W.TARGCOMPDATE AS TargetCompletionDate,
0 AS ActualLaborHours,
W.ASSETLOCPRIORITY AS AssetCriticality,
S.STATUS AS Status
FROM WOSTATUS S
JOIN WORKORDER W ON S.WONUM = W.WONUM AND S.SITEID = W.SITEID
WHERE S.STATUS IN ('APPR', 'WMATL', 'WSCH', 'INPRG', 'INSP', 'COMP', 'REJECT', 'CLOSE', 'CAN')
UNION ALL
/* 3. Labor Hours Recorded */
SELECT
L.REFWO AS WorkOrderNumber,
'Labor Hours Recorded' AS Activity,
L.STARTDATE AS EventTimestamp,
'Maximo' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
W.WORKTYPE AS WorkType,
W.WOPRIORITY AS Priority,
W.ASSETNUM AS AssetNumber,
L.LABORCODE AS AssignedResource,
W.ACTFINISH AS ActualFinishDate,
W.TARGCOMPDATE AS TargetCompletionDate,
L.REGULARHRS AS ActualLaborHours,
W.ASSETLOCPRIORITY AS AssetCriticality,
W.STATUS AS Status
FROM WOLABTRANS L
JOIN WORKORDER W ON L.REFWO = W.WONUM AND L.SITEID = W.SITEID
UNION ALL
/* 4. Material Issued */
SELECT
M.REFWO AS WorkOrderNumber,
'Material Issued' AS Activity,
M.TRANSDATE AS EventTimestamp,
'Maximo' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
W.WORKTYPE AS WorkType,
W.WOPRIORITY AS Priority,
W.ASSETNUM AS AssetNumber,
M.ISSUETO AS AssignedResource,
W.ACTFINISH AS ActualFinishDate,
W.TARGCOMPDATE AS TargetCompletionDate,
0 AS ActualLaborHours,
W.ASSETLOCPRIORITY AS AssetCriticality,
W.STATUS AS Status
FROM MATUSETRANS M
JOIN WORKORDER W ON M.REFWO = W.WONUM AND M.SITEID = W.SITEID
WHERE M.ISSUETYPE = 'ISSUE'
UNION ALL
/* 5. Target Date Updated (Requires Audit Table) */
SELECT
A.WONUM AS WorkOrderNumber,
'Target Date Updated' AS Activity,
A.AUDITSTAMP AS EventTimestamp,
'Maximo' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
W.WORKTYPE AS WorkType,
W.WOPRIORITY AS Priority,
W.ASSETNUM AS AssetNumber,
A.AUDITUSER AS AssignedResource,
W.ACTFINISH AS ActualFinishDate,
A.TARGCOMPDATE AS TargetCompletionDate,
0 AS ActualLaborHours,
W.ASSETLOCPRIORITY AS AssetCriticality,
W.STATUS AS Status
FROM A_WORKORDER A
JOIN WORKORDER W ON A.WONUM = W.WONUM AND A.SITEID = W.SITEID
WHERE A.TARGCOMPDATE IS NOT NULL
AND A.TARGCOMPDATE <> COALESCE((SELECT TOP 1 PREV.TARGCOMPDATE FROM A_WORKORDER PREV WHERE PREV.WONUM = A.WONUM AND PREV.AUDITSTAMP < A.AUDITSTAMP ORDER BY PREV.AUDITSTAMP DESC), '1900-01-01') Étapes
Connexion à la base de données : Établissez une connexion JDBC ou ODBC en lecture seule à la base de données IBM Maximo, généralement DB2, Oracle ou SQL Server. Vérifiez que l’utilisateur dispose des autorisations SELECT sur les tables WORKORDER, WOSTATUS, LABTRANS et MATUSETRANS.
Définir le périmètre : Déterminez les SITES ou ORGIDS à extraire. Maximo gère plusieurs sites, et les numéros d’ordre de travail (WONUM) ne sont uniques qu’en combinaison avec SITEID. Définissez la période, généralement à l’aide de REPORTDATE (date de création) ou de STATUSDATE.
Comprendre le modèle de données : La table WORKORDER contient les en-têtes. La table WOSTATUS conserve l’historique des changements de cycle de vie. LABTRANS contient les détails des heures de main-d’œuvre, et MATUSETRANS, les mouvements de matériel. Ces tables doivent être regroupées à l’aide de UNION ALL pour former un flux d’événements unique.
Gérer les synonymes : Pour les statuts définis dans SYNONYMDOMAIN, Maximo utilise des valeurs internes (MAXVALUE) et des valeurs affichées (VALUE). Dans l’idéal, la requête doit filtrer sur la valeur interne MAXVALUE afin d’assurer la cohérence entre les sites, qui peuvent afficher différemment un même statut logique.
Préparer la requête : Copiez le SQL fourni dans la section Query. Remplacez les espaces réservés, tels que [Your Database Schema] et [Start Date], par les valeurs correspondantes dans votre environnement. Si vous utilisez des codes de statut personnalisés pour les inspections ou les contrôles qualité, modifiez les clauses WHERE des sections concernées.
Lancer l’extraction : Exécutez la requête. Selon le volume de données, vous devrez peut-être procéder par lots, par exemple mois par mois, afin d’éviter les délais d’expiration de la base de données.
Valider les données : Vérifiez que l’événement « Demande de maintenance créée » existe pour chaque ordre de travail. Assurez-vous que les horodatages sont dans un format compatible avec ProcessMind. Le format ISO 8601 est recommandé.
Post-traitement : Les horodatages Maximo comprennent généralement des millisecondes. Veillez à les conserver pour préserver l’ordre exact des événements qui se produisent à peu d’intervalle.
Exporter : Enregistrez les résultats dans un fichier CSV ou Parquet. Les en-têtes de colonnes doivent correspondre aux attributs définis dans le résultat de la requête.
Importer dans ProcessMind : Importez le fichier dans ProcessMind. Associez « WorkOrderNumber » à l’identifiant du cas, « Activity » au nom de l’activité et « EventTimestamp » à l’horodatage.
Configuration
- Systèmes de base de données : Maximo fonctionne généralement avec IBM DB2, Oracle ou SQL Server. La syntaxe fournie est du SQL standard, mais peut nécessiter de légers ajustements aux fonctions de date, par exemple TO_DATE au lieu de CAST, selon votre plateforme.
- Filtrage par date : Utilisez la colonne REPORTDATE de la table WORKORDER pour définir le périmètre des instances de processus. Une période glissante couvrant les 12 derniers mois est courante.
- Importance de l’identifiant de site : Ne vous fiez jamais à WONUM seul pour garantir l’unicité. Concaténez toujours WONUM et SITEID, ou incluez SITEID comme attribut de cas si vous analysez plusieurs sites.
- Logique des statuts : Maximo permet de définir des valeurs de statut personnalisées. Si les statuts standard, tels que WMATL ou COMP, ne renvoient aucun résultat, vérifiez la table SYNONYMDOMAIN.
- Performances : Les tables LABTRANS et MATUSETRANS peuvent être très volumineuses. Vérifiez qu’elles sont indexées sur REFWO et SITEID.
Exemple de requête sql
SELECT
W.WONUM AS WorkOrderNumber,
'Maintenance Request Created' AS Activity,
W.REPORTDATE AS EventTimestamp,
'Maximo' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
W.WORKTYPE AS WorkType,
W.WOPRIORITY AS Priority,
W.ASSETNUM AS AssetNumber,
W.LEAD AS AssignedResource,
W.ACTFINISH AS ActualFinishDate,
W.TARGCOMPDATE AS TargetCompletionDate,
W.ACTLABHRS AS ActualLaborHours,
W.ASSETLOCPRIORITY AS AssetCriticality,
W.STATUS AS Status
FROM
WORKORDER W
WHERE
W.REPORTDATE >= '2023-01-01'
UNION ALL
SELECT
WS.WONUM AS WorkOrderNumber,
CASE
WHEN WS.STATUS = 'APPR' THEN 'Work Order Approved'
WHEN WS.STATUS = 'WMATL' THEN 'Material Requisition Submitted'
WHEN WS.STATUS = 'WSCH' THEN 'Resources Scheduled'
WHEN WS.STATUS = 'INPRG' THEN 'Work Commenced'
WHEN WS.STATUS = 'INSP' THEN 'Inspection Completed'
WHEN WS.STATUS = 'COMP' THEN 'Work Order Completed'
WHEN WS.STATUS = 'REJECT' THEN 'Quality Check Failed'
WHEN WS.STATUS = 'CLOSE' THEN 'Work Order Closed'
WHEN WS.STATUS = 'CAN' THEN 'Work Order Cancelled'
ELSE 'Status Change: ' || WS.STATUS
END AS Activity,
WS.CHANGEDATE AS EventTimestamp,
'Maximo' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
W.WORKTYPE AS WorkType,
W.WOPRIORITY AS Priority,
W.ASSETNUM AS AssetNumber,
WS.CHANGEBY AS AssignedResource,
W.ACTFINISH AS ActualFinishDate,
W.TARGCOMPDATE AS TargetCompletionDate,
W.ACTLABHRS AS ActualLaborHours,
W.ASSETLOCPRIORITY AS AssetCriticality,
WS.STATUS AS Status
FROM
WOSTATUS WS
JOIN
WORKORDER W ON WS.WONUM = W.WONUM AND WS.SITEID = W.SITEID
WHERE
W.REPORTDATE >= '2023-01-01'
AND WS.STATUS IN ('APPR', 'WMATL', 'WSCH', 'INPRG', 'INSP', 'COMP', 'REJECT', 'CLOSE', 'CAN')
UNION ALL
SELECT
L.REFWO AS WorkOrderNumber,
'Labor Hours Recorded' AS Activity,
L.STARTDATE AS EventTimestamp,
'Maximo' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
W.WORKTYPE AS WorkType,
W.WOPRIORITY AS Priority,
W.ASSETNUM AS AssetNumber,
L.LABORCODE AS AssignedResource,
W.ACTFINISH AS ActualFinishDate,
W.TARGCOMPDATE AS TargetCompletionDate,
W.ACTLABHRS AS ActualLaborHours,
W.ASSETLOCPRIORITY AS AssetCriticality,
W.STATUS AS Status
FROM
LABTRANS L
JOIN
WORKORDER W ON L.REFWO = W.WONUM AND L.SITEID = W.SITEID
WHERE
W.REPORTDATE >= '2023-01-01'
UNION ALL
SELECT
M.REFWO AS WorkOrderNumber,
'Material Issued' AS Activity,
M.TRANSDATE AS EventTimestamp,
'Maximo' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
W.WORKTYPE AS WorkType,
W.WOPRIORITY AS Priority,
W.ASSETNUM AS AssetNumber,
M.ENTERBY AS AssignedResource,
W.ACTFINISH AS ActualFinishDate,
W.TARGCOMPDATE AS TargetCompletionDate,
W.ACTLABHRS AS ActualLaborHours,
W.ASSETLOCPRIORITY AS AssetCriticality,
W.STATUS AS Status
FROM
MATUSETRANS M
JOIN
WORKORDER W ON M.REFWO = W.WONUM AND M.SITEID = W.SITEID
WHERE
W.REPORTDATE >= '2023-01-01'
AND M.ISSUETYPE = 'ISSUE'
UNION ALL
SELECT
WC.WONUM AS WorkOrderNumber,
'Target Date Updated' AS Activity,
WC.CHANGEDATE AS EventTimestamp,
'Maximo' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
W.WORKTYPE AS WorkType,
W.WOPRIORITY AS Priority,
W.ASSETNUM AS AssetNumber,
WC.CHANGEBY AS AssignedResource,
W.ACTFINISH AS ActualFinishDate,
W.TARGCOMPDATE AS TargetCompletionDate,
W.ACTLABHRS AS ActualLaborHours,
W.ASSETLOCPRIORITY AS AssetCriticality,
W.STATUS AS Status
FROM
WOCHANGE WC
JOIN
WORKORDER W ON WC.WONUM = W.WONUM AND WC.SITEID = W.SITEID
WHERE
W.REPORTDATE >= '2023-01-01'
AND (WC.MODIFIEDATTRIBUTE = 'TARGCOMPDATE' OR WC.MODIFIEDATTRIBUTE = 'SCHEDFINISH') Prêt à commencer ?
Commencez dès aujourd’hui à faire évoluer votre stratégie de maintenance en appliquant ce modèle à votre processus d’extraction des données. Notre équipe vous accompagne pour transformer vos journaux techniques en analyses concrètes de vos processus.
Améliorez la maintenance de vos actifs et réduisez les arrêts dès aujourd’hui
Réduisez de 30 % le temps de cycle de maintenance et éliminez les goulots d’étranglement
Essai gratuit de 14 jours, sans carte bancaire