Aller au contenu
Maximo Integration Framework

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

BriqueRôleExemple
Object structureDéfinit l'objet principal, ses enfants et les attributs exposésMXASSET : ASSET + ASSETSPEC + ASSETMETER
Enterprise serviceTraite un message entrant pour une object structure (règles, transformations)MXASSETInterface
Système externeRegroupe les services autorisés pour un émetteur, avec ses files et ses règlesEXTSYS1
Canal de publicationEnvoie des données sortantes (hors périmètre du chargement)MXASSETInterface sortant
Point de terminaisonDestination 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 ;
  • MXOPERLOC ou MXLOCATION (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 :

ActionSi l'enregistrement n'existe pasS'il existeUsage
AddCrééErreurPremier chargement strict
AddChangeCrééMis à jour (enfants absents conservés)Data init rejouable
ChangeErreurMis à jourCorrection en masse
ReplaceCrééRemplacé, enfants comprisAlignement complet
SyncCrééMis à jour et enfants alignésSynchronisation depuis un système maître
DeleteErreurSuppriméÀ 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 :

  1. déclarer l'object structure en structure plate (attributs sans conflit de nom, alias si nécessaire) ;
  2. associer l'enterprise service au système externe et l'activer ;
  3. préparer le fichier : en-tête technique (nom du service et action), puis une ligne par enregistrement ;
  4. 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 Add sur 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