Lorsqu'un utilisateur ou une interface transmet une valeur dépassant la taille définie dans la métadonnée d'un attribut, le framework MBO lève immédiatement l'erreur BMXAA4049E. Cet article présente le diagnostic précis et la procédure de résolution sous Maximo 7.6.1.3 et MAS 9.

Symptômes et contexte

L'erreur se manifeste lors d'une saisie utilisateur sur une application écran ou lors de l'intégration d'un message MIF/REST :

BMXAA4049E - The value entered for field {0} exceeds the maximum allowed length of {1} characters.

Ce problème est reproductible tant sur Maximo 7.6.1.3 que sur MAS 9 et bloque la sauvegarde du MBO concerné.

Prérequis et précautions

  • Identifier précisément l'objet Maximo et l'attribut cible mentionné dans les logs.
  • Tester toute modification de taille d'attribut sur un environnement de développement non productif.
  • Prévoir une fenêtre d'interruption si une modification de structure de base de données est requise.

Diagnostic étape par étape

Étape 1 — Identifier le contexte et l'attribut concerné

Consultez le fichier journal SystemOut.log ou les journaux de pods MAS Manage pour repérer le nom de l'objet et du champ rejeté.

Étape 2 — Contrôler les données du dictionnaire Maximo

Exécutez la requête SQL en lecture seule suivante pour vérifier la taille actuelle configurée dans MAXATTRIBUTE :

SELECT objectname, attributename, length, maxtype
FROM maxattribute
WHERE objectname = 'WORKORDER' AND attributename = 'DESCRIPTION';

Correction ou procédure

Méthode 1 — Extension de la longueur via Database Configuration

  1. Connectez-vous à Maximo et ouvrez System Configuration > Platform Configuration > Database Configuration.
  2. Recherchez l'objet cible et accédez à l'onglet Attributes.
  3. Modifiez la valeur de la colonne Length pour l'attribut concerné.
  4. Activez le mode de configuration de base de données et appliquez les modifications de structure (Apply Structural Changes).

Méthode 2 — Tronquage préventif par script d'automatisation

Dans le cas où la structure de la base ne peut pas être modifiée, appliquez un script de tronquage au point d'extension validation du champ :

# Script d'automatisation : Field Validation
max_len = 50
if value and len(value) > max_len:
    mbo.setValue(attrname, value[:max_len], MboConstants.NOVALIDATION)

Vérifications et résultats attendus

Contrôle Résultat attendu
Reproduction du symptôme L'erreur BMXAA4049E est identifiée sur le champ cible
Vérification après intervention La valeur est correctement enregistrée ou tronquée sans exception
Non-régression Les interfaces MIF et écrans sauvegardent les données sans blocage

Limites et cas particuliers

L'extension de taille sur des champs natifs clés peut avoir des répercussions sur les tables d'audit ou les vues associées. Vérifiez la cohérence globale avant application sur la production.

Ressources liées

Références officielles

—