Charger une hiérarchie de défaillances (failure codes) dans Maximo MAS 9
Mis à jour le · VAGANET EAM
En bref. Chargez d'abord les codes (FAILURECODE), puis la
hiérarchie (FAILURELIST) un niveau à la fois : classe, problème, cause,
remède. Rattachez chaque niveau à son parent par PARENTCODE dans
MXAPIFAILURELIST, jamais par l'identifiant généré. Et ne relancez pas une feuille déjà
passée : FAILURELIST n'empêche pas les doublons.
La hiérarchie de défaillances est l'un des objets les plus délicats d'une reprise de données Maximo : quatre niveaux liés par des identifiants que Maximo génère lui-même. Sur MAS 9, les anciennes méthodes (feuilles dédiées de MxLoader 6.x, insertion en base) ne s'appliquent plus.
Le modèle de données
| Table | Rôle |
|---|---|
FAILURECODE | Le code et sa description, une ligne par code, quel que soit son niveau |
FAILURELIST | La hiérarchie : chaque ligne place un code à un niveau (classe, problème, cause, remède) et pointe vers son parent par PARENT, l'identifiant FAILURELIST de la ligne parente |
Le piège vient de là : FAILURELIST est un identifiant numérique attribué au chargement.
Un fichier source ne peut donc pas le connaître à l'avance.
La méthode qui fonctionne sur MAS 9
- Codes et descriptions : chargez tous les codes (classes, problèmes, causes,
remèdes) dans
FAILURECODE. Avec MxLoader 8.5, l'object structureMXL_FAILURECODEsert à cela. - Classes : créez les lignes de premier niveau dans
FAILURELISTpar l'object structure standardMXAPIFAILURELIST, sans parent. - Problèmes, puis causes, puis remèdes : une passe par niveau, en renseignant
l'attribut non persistant
PARENTCODEavec le code du parent. Maximo résout lui-même l'identifiant. - Contrôle : relisez
FAILURELISTet comparez le nombre de lignes par niveau et par classe avec la source.
Les droits comptent : sur MAS 9, l'utilisateur qui charge doit être autorisé sur chaque object structure employée (voir BMXAA9301E).
Les pièges
- Doublons au rechargement : sans index unique fonctionnel, relancer une feuille recrée les lignes. Gardez la trace de ce qui est passé, ou supprimez la classe et recommencez.
- Même code à plusieurs endroits : un problème peut exister sous plusieurs classes.
PARENTCODEdoit alors désigner le bon parent dans la bonne branche ; chargez une classe à la fois si la source est ambiguë. - Insertion en base et surcharge de
PARENT: certaines équipes forcent les identifiants en modifiant la configuration d'intégration directement en base. C'est impossible sur MAS SaaS et fragile ailleurs. - Feuilles anciennes : les modèles de MxLoader 6.x pour les défaillances ne parlent pas l'API REST et ne fonctionnent pas sur MAS 9.
MHFAILURELIST (MAS 9.1)
Depuis MAS 9.1, l'object structure MHFAILURELIST, issue de Maximo Health, regroupe
FAILURELIST et FAILURECODE avec une classe de traitement associée. Elle peut
simplifier le chargement. L'équipe de développement d'IBM a toutefois recommandé de ne pas en dépendre à
moyen terme dans Manage seul, car les évolutions de Health peuvent la modifier. Une demande
d'amélioration est ouverte chez IBM (MASM-I-1482).
Place dans l'ordre de chargement
Chargez la hiérarchie de défaillances avant les actifs et emplacements qui y font référence par leur classe de défaillance, et avant tout historique de bons de travail. Voir l'ordre complet dans le guide data init IBM Maximo.
Questions fréquentes
Dans quel ordre charger une hiérarchie de défaillances ?
D'abord les codes et leurs descriptions (FAILURECODE), puis la hiérarchie (FAILURELIST) niveau par niveau : classes, puis problèmes rattachés à leur classe, puis causes rattachées à leur problème, puis remèdes rattachés à leur cause.
Comment rattacher un problème à sa classe sans connaître l'identifiant FAILURELIST ?
L'object structure standard MXAPIFAILURELIST expose l'attribut non persistant PARENTCODE sur FAILURELIST : on fournit le code du parent plutôt que l'identifiant numérique généré par Maximo.
Pourquoi un second chargement crée-t-il des doublons ?
FAILURELIST n'a pas d'index unique fonctionnel sur le couple code et parent : relancer la même feuille ajoute de nouvelles lignes. Il faut contrôler avant tout rechargement, ou supprimer la classe concernée et recommencer.
Faut-il utiliser MHFAILURELIST sur MAS 9.1 ?
MHFAILURELIST, livrée avec Maximo Health, contient FAILURELIST et FAILURECODE dans une même object structure. Elle peut dépanner, mais l'équipe de développement d'IBM a recommandé de ne pas s'y fier à moyen terme dans Manage seul, car les évolutions de Health peuvent la modifier.
Charger vos données Maximo sans erreur silencieuse
MAS9 vérifie vos fichiers face à la configuration de chaque environnement, charge en reprise sans doublon après une coupure, puis relit Maximo pour prouver que chaque ligne est arrivée.
Découvrir MAS9