Aller au contenu
Dépannage

Erreurs de chargement Maximo les plus courantes : diagnostic et corrections

Mis à jour le · VAGANET EAM

En bref. Presque tous les rejets de chargement Maximo tombent dans six familles : accès refusé, valeur hors domaine, référence absente (parent, site, organisation), champ obligatoire ou longueur, format (dates, décimales) et doublon ou verrou. Lisez le message complet de la réponse, classez l'erreur, corrigez à la source, puis rejouez uniquement les lignes rejetées.

Un chargement ne « plante » presque jamais pour une raison mystérieuse. Maximo applique ses règles métier ligne par ligne et renvoie un code BMXAA… avec un message qui nomme l'objet, le champ ou la valeur. La difficulté est d'abord de lire ce message, ensuite de décider si la correction se fait dans le fichier ou dans la configuration de l'environnement.

Lire une erreur avant de la corriger

Trois informations suffisent pour diagnostiquer : l'objet concerné (asset, location, item…), le champ ou la valeur cités, et la ligne du fichier. Notez-les avant toute modification. Deux réflexes évitent des heures perdues :

  • Traiter la première erreur d'un objet parent d'abord. Si un emplacement échoue, tous les actifs qui le référencent échoueront ensuite : ce sont des erreurs en cascade, pas des problèmes distincts.
  • Reproduire à la main. Saisissez la même valeur dans l'application Maximo concernée. Si la saisie échoue aussi, la cause est la configuration ; sinon elle est dans le fichier.

Les six familles d'erreurs

FamilleSymptôme typiqueCause fréquenteCorrection
Accès refusé401, 403 ou message « not authorized »Identifiant ou clé invalide, object structure non accordée au groupe de l'utilisateurVérifier l'authentification, puis les droits (voir plus bas)
Valeur hors domaineValeur « not valid » pour un champ à listeStatut, type, unité de mesure absents du domaine de l'environnement cibleAligner le fichier sur le domaine, ou ajouter la valeur après décision métier
Référence absenteObjet parent, site ou organisation introuvableOrdre de chargement non respecté, ou clé écrite autrementCharger les référencés avant les référençants ; contrôler la casse et les espaces
Obligatoire / longueurChamp obligatoire vide, valeur trop longueColonne vide dans le fichier, valeur plus longue que le champ MaximoRenseigner ou raccourcir à la source ; ne jamais tronquer silencieusement
FormatDate ou nombre refuséFormat de date, séparateur décimal ou encodage non attendusNormaliser avant chargement
Doublon ou verrouEnregistrement existant, ou modifié par un autre utilisateurClé répétée dans le fichier, rechargement en création pure, traitement concurrentDédoublonner ; charger en AddChange ; éviter les chargements simultanés sur un même objet

Accès refusé : authentification ou autorisation ?

Distinguez les deux. Une authentification en échec (401) signifie que Maximo ne reconnaît pas l'appelant : clé ou jeton expiré, mauvais environnement. Une autorisation en échec (403 ou « not authorized ») signifie que l'appelant est connu mais n'a pas le droit sur l'objet. Sur MAS 9, ce second cas est typique pour les object structures qui n'ont pas de nom d'autorisation ; il est détaillé dans le guide BMXAA9301E sur Maximo MAS 9.

Valeur hors domaine : le rejet le plus fréquent

Un champ gouverné par un domaine n'accepte que les valeurs de ce domaine, et celles-ci diffèrent d'un environnement à l'autre. Un statut d'actif valide en développement peut être absent de la recette. Avant de charger, extrayez les valeurs distinctes de chaque colonne à liste et comparez-les au domaine de l'environnement cible. Quand une valeur manque, la question n'est pas technique : c'est au métier de décider s'il faut mapper la valeur source vers une valeur existante ou créer la valeur dans le domaine, et dans ce cas de le faire dans la configuration avant le chargement.

Les domaines de synonymes ont leur propre piège : le fichier porte la valeur affichée, Maximo en déduit la valeur interne. Contrôlez les deux.

Références absentes et erreurs en cascade

La cause numéro un est l'ordre de chargement : un actif ne peut pas référencer un emplacement qui n'existe pas encore. Respectez l'ordre décrit dans le guide data init Maximo : organisation et site, listes de valeurs, emplacements (parents avant enfants), puis actifs. Si l'ordre est bon, cherchez les différences de saisie : espace en fin de valeur, casse, zéros de tête perdus par un tableur (« 00123 » devenu « 123 »).

Champs obligatoires, longueurs et formats

  • Obligatoire : le caractère obligatoire peut dépendre de la configuration de l'environnement (champ rendu obligatoire localement). Comparez le fichier à la configuration de la cible, pas à celle de la source.
  • Longueur : une description plus longue que le champ est rejetée. Mesurez les longueurs maximales dans le fichier avant le chargement ; décidez avec le métier de raccourcir ou d'utiliser le champ de description longue.
  • Dates et nombres : un tableur réécrit silencieusement les dates et les décimales selon la langue du poste. Fixez un format unique, de préférence ISO pour les dates, et un séparateur décimal unique.

Doublons, verrous et rejeu

Une clé présente deux fois dans le fichier produit un conflit ; un rechargement en création pure d'objets déjà chargés aussi. L'action AddChange crée ou met à jour selon la clé et rend le rejeu sûr. Attention toutefois aux objets sans clé fonctionnelle unique : rejouer la même feuille peut dupliquer les lignes, comme décrit dans le guide sur les hiérarchies de défaillances. Quant aux messages d'enregistrement modifié par un autre utilisateur, ils signalent un traitement concurrent : ne chargez pas deux fichiers touchant le même objet en parallèle.

Méthode de reprise après rejets

  1. Exportez la liste des rejets avec objet, champ, valeur et message.
  2. Regroupez par cause, pas par ligne : une valeur de domaine manquante peut expliquer des milliers de rejets.
  3. Corrigez à la source et conservez le fichier corrigé comme version de référence.
  4. Rejouez les lignes rejetées en AddChange.
  5. Relisez Maximo et comparez avec le fichier : voir contrôler et prouver une reprise.

Ces rejets se découvrent le plus tôt possible sur un chargement d'essai (mock load), jamais le jour de la bascule (cutover). MAS9 vérifie les fichiers face à la configuration de chaque environnement avant chargement, de façon à faire remonter ces familles d'erreurs avant le premier envoi.

Questions fréquentes

Pourquoi mon chargement Maximo renvoie-t-il « Bad Request » sans détail ?

« Bad Request » est l'enveloppe HTTP : la raison précise est dans le corps de la réponse, sous la forme d'un code BMXAA… et d'un message. Lisez ce message en entier, il nomme presque toujours l'objet, le champ ou la valeur en cause. Si votre outil n'affiche que l'enveloppe, interrogez la réponse brute ou le suivi des messages d'intégration de Maximo.

Comment savoir si l'erreur vient du fichier ou de la configuration de Maximo ?

Rejouez la même ligne sur un autre environnement, ou saisissez la valeur à la main dans l'application. Si la saisie manuelle échoue aussi, la cause est la configuration de l'environnement (domaine, droit, paramètre). Si elle passe, la cause est dans le fichier : format, valeur ou ordre de chargement.

Faut-il relancer tout le fichier après avoir corrigé quelques lignes rejetées ?

Non, à condition de charger avec une action de type AddChange, qui crée ou met à jour selon la clé de l'objet. Rejouer les seules lignes rejetées, ou même tout le fichier, ne crée alors pas de doublon. Sans cette garantie, rejouer un fichier entier est risqué.

Une ligne chargée sans erreur est-elle forcément dans Maximo ?

Non. Un accusé de réception de l'outil n'est pas une preuve : une règle métier, un traitement différé ou une coupure peuvent laisser une ligne absente. La seule preuve est de relire Maximo après chargement et de comparer avec le fichier.

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