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
- Connectez-vous à Maximo et ouvrez System Configuration > Platform Configuration > Database Configuration.
- Recherchez l'objet cible et accédez à l'onglet Attributes.
- Modifiez la valeur de la colonne Length pour l'attribut concerné.
- 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
—
Commentaires
Une question ou un retour d’expérience sur cette procédure ? Partagez-le ici.
Connectez-vous pour participer à la discussion.
Se connecter