MIF Maximo : object structures, enterprise services et import de fichiers
Mis à jour le · VAGANET EAM
En bref. Le MIF (Maximo Integration Framework) charge des données à travers trois
couches : l'object structure (quels objets et attributs), l'enterprise
service (comment le message entrant est traité) et le système externe (qui
envoie, avec quelles règles). Pour une data init rejouable, utilisez l'action AddChange et
contrôlez vos fichiers avant l'import.
Le Maximo Integration Framework est le socle de toutes les intégrations d'IBM Maximo Manage, y compris dans MAS 9. Même quand on charge par l'API REST ou par MxLoader, ce sont les object structures du MIF qui définissent ce qui peut être écrit. Comprendre ses briques évite la plupart des rejets.
Les briques du MIF
| Brique | Rôle | Exemple |
|---|---|---|
| Object structure | Définit l'objet principal, ses enfants et les attributs exposés | MXASSET : ASSET + ASSETSPEC + ASSETMETER |
| Enterprise service | Traite un message entrant pour une object structure (règles, transformations) | MXASSETInterface |
| Système externe | Regroupe les services autorisés pour un émetteur, avec ses files et ses règles | EXTSYS1 |
| Canal de publication | Envoie des données sortantes (hors périmètre du chargement) | MXASSETInterface sortant |
| Point de terminaison | Destination technique d'un échange (HTTP, fichier, JMS) | Endpoint HTTP |
Les object structures utiles pour une data init
Les object structures livrées en standard couvrent la plupart des besoins de chargement :
MXDOMAIN(listes de valeurs),MXCLASSIFICATION(classifications) ;MXVENDOR(sociétés),MXPERSON(personnes),MXCRAFT,MXLABOR;MXOPERLOCouMXLOCATION(emplacements),MXASSET(actifs),MXMETER(compteurs) ;MXITEM(articles),MXINVENTORY(stocks) ;MXJOBPLAN(gammes),MXPM(maintenance préventive),MXWO(ordres de travail).
Avant de charger, vérifiez dans l'application Object Structures que les attributs de votre fichier sont
bien inclus : une colonne absente de l'object structure est ignorée ou rejetée selon le canal. Les
attributs ajoutés par le projet doivent y être ajoutés aussi. Pour éviter d'altérer une object structure
standard, dupliquez-la (par exemple ZZ_MXASSET) et travaillez sur la copie.
Les actions de traitement
Chaque enregistrement entrant porte une action qui dicte le comportement de Maximo :
| Action | Si l'enregistrement n'existe pas | S'il existe | Usage |
|---|---|---|---|
Add | Créé | Erreur | Premier chargement strict |
AddChange | Créé | Mis à jour (enfants absents conservés) | Data init rejouable |
Change | Erreur | Mis à jour | Correction en masse |
Replace | Créé | Remplacé, enfants compris | Alignement complet |
Sync | Créé | Mis à jour et enfants alignés | Synchronisation depuis un système maître |
Delete | Erreur | Supprimé | À manier avec prudence |
AddChange est l'action de référence pour une reprise : un fichier interrompu
puis relancé ne crée pas de doublon, et une correction se rejoue sans préparation.
Importer un fichier CSV ou XML
L'application d'import de données du MIF accepte des fichiers plats (CSV, avec délimiteur et qualificateur de texte configurables) ou XML. Pour un fichier plat :
- déclarer l'object structure en structure plate (attributs sans conflit de nom, alias si nécessaire) ;
- associer l'enterprise service au système externe et l'activer ;
- préparer le fichier : en-tête technique (nom du service et action), puis une ligne par enregistrement ;
- importer en mode immédiat pour un petit volume, ou par la file entrante pour un gros volume.
En traitement par file, les messages en erreur s'examinent et se rejouent dans l'application Message Reprocessing. Sur des centaines de milliers de lignes, ce suivi devient vite lourd : il faut alors un outil qui regroupe les erreurs par cause et rejoue seulement les lignes corrigées.
Envoyer par HTTP
Les enterprise services sont aussi joignables par HTTP sur /meaweb/es/<système
externe>/<enterprise service>, et les object structures sur
/meaweb/os/<object structure>, avec un message XML. C'est utile pour réutiliser
exactement les règles de traitement configurées sur le service. Pour du JSON et des appels groupés,
l'API REST est plus simple : voir le guide de l'API
REST.
Les erreurs MIF les plus courantes
- Enregistrement déjà existant : action
Addsur une clé présente ; passez àAddChange. - Valeur hors liste : statut, type ou unité absent du domaine de l'environnement cible.
- Référence inexistante : emplacement, actif parent ou article pas encore chargé ; revoir l'ordre de chargement.
- Attribut obligatoire manquant ou longueur dépassée.
- Colonnes décalées : délimiteur, qualificateur ou séparateur décimal mal déclaré.
- Droits insuffisants : l'utilisateur d'intégration n'a pas l'accès à l'application ou au site.
Le guide contrôle qualité explique comment détecter ces erreurs avant l'envoi plutôt qu'après.
Questions fréquentes
Qu'est-ce qu'une object structure dans Maximo ?
Une object structure est la définition d'un message d'intégration : un objet principal (par exemple ASSET) et ses objets enfants (spécifications, compteurs), avec la liste des attributs inclus. Elle sert de contrat aux échanges entrants et sortants du MIF et à l'API REST. Les object structures standard commencent par MX (MXASSET, MXITEM, MXPERSON) ; celles conçues pour l'API REST par MXAPI.
Quelle différence entre Add, AddChange et Sync ?
Add crée l'enregistrement et échoue s'il existe déjà. AddChange crée l'enregistrement s'il n'existe pas et le met à jour sinon, sans toucher aux enfants absents du message. Sync crée ou met à jour l'enregistrement et aligne aussi ses enfants sur le contenu du message. Pour un chargement rejouable, AddChange est le choix le plus sûr.
Comment importer un fichier CSV dans Maximo ?
Par l'application d'import de données du MIF : on choisit un système externe et un enterprise service dont l'object structure est déclarée en structure plate, puis on importe le fichier. Le traitement peut être immédiat ou passer par la file entrante, où les erreurs se consultent et se rejouent dans l'application Message Reprocessing.
Le délimiteur et le qualificateur de texte comptent-ils ?
Oui pour l'import de fichiers plats : ils doivent correspondre au fichier. Un délimiteur point-virgule non déclaré ou un guillemet non fermé dans une description décale les colonnes. Contrôlez le fichier avant l'envoi.
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