En cas d'émission d'un article rotatif à stock nul, IBM Maximo Manage peut déclencher une erreur système générique BMXAA4214E. Cet article explique l'origine du dysfonctionnement lié à l'instanciation des MBOs et détaille les étapes de résolution.
Synthèse du problème et cas d'usage
Lors de la validation d'un mouvement d'article rotatif (Rotating Item) depuis l'application Inventory Usage, le système interrompt la transaction de manière inattendue sans message explicatif pour l'utilisateur.
| Détails techniques de l'anomalie BMXAA4214E | |
| Application impactée | Inventory Usage (ISSUE) |
| Code d'erreur | BMXAA4214E |
| APAR associé | DT499752 |
| Composant | MboSet / Object Framework |
Cause racine et diagnostic
L'erreur survient lors du contrôle de disponibilité de l'article en magasin. Lorsque la quantité disponible (curbal) est égale à zéro, le framework instancie un MboSet d'actifs liés qui génère une exception NullPointerException non interceptée au lieu d'afficher un avertissement d'inventaire classique.
⚠️ Attention aux scripts personnalisés Si vous utilisez un script d'automatisation sur la table
MATUSETRANSau point d'extension Save, l'erreur système peut être masquée ou provoquer un échec silencieux du tuteur (Cron Task).
Procédure de résolution
Option A : Application du patch MAS (Recommandé)
La solution définitive consiste à appliquer le patch de l'opérateur Manage sur votre cluster Red Hat OpenShift.
# Extrait du Custom Resource ManageApp (MAS 9.2)
spec:
version: 9.2.5
settings:
deploymentMode: Managed
Option B : Script de contournement (Automation Script)
En l'absence de possibilité d'appliquer le patch immédiatement, vous pouvez intercepter la condition via un script Jython/Python sur l'événement MATUSETRANS.ADD :
# Script d'automatisation : MATUSETRANS.ADD
# Évite le crash système si le solde de l'article rotatif est nul
mbo = scriptWithParam.getMbo()
if mbo and mbo.getBoolean("ITEM.isrotating"):
invSet = mbo.getMboSet("INVENTORY")
inv = invSet.moveFirst()
if inv and inv.getDouble("curbal") <= 0:
service.log("Avertissement : Tentative d'émission sur un stock rotatif nul.")
💡 Bonne pratique Ne tentez pas de forcer la modification du champ
curbalpar script. Utilisez systématiquement les réajustements de stock réglementaires via l'application Inventory.
Résumé
- L'erreur
BMXAA4214Elors des émissions à stock nul provient d'une exception système non gérée dans le MboSet.
- Le correctif officiel est disponible à partir du Patch Operator 9.2.5 de MAS Manage.
- Un script d'automatisation sur
MATUSETRANSpermet d'anticiper la vérification en attendant la mise à jour du cluster.
Commentaires
Une question ou un retour d’expérience sur cette procédure ? Partagez-le ici.
Connectez-vous pour participer à la discussion.
Se connecter