A Division of Technology Associates International Corporation
Maximo Blog

Maximo 7 Integration: A first look

March 10, 2009 in Maximo, Maximo 7, Maximo: MIF by Michael Chrisman 28 Comments

I can accurately say that in Maximo 7, IBM changed just about everything in the MEA and yet, changed very little. (I just really wanted to say that.) In Maximo 7, IBM changed many of the names of things as well as how you access them. Functionally speaking, it works pretty much the same way (with a few small changes).

The MEA is dead, long live the MIF

The first change is that it is no longer called the Maximo Enterprise Adapter (MEA). It is now called the Maximo Integration Framework (MIF). IBM does still sell Enterprise Adapters, but these are for specific applications (like Oracle Financials, etc.). This is literally just a name change.

The split personality of interfaces

Technically, Integration Interfaces no longer exist in 7. Instead you have Published Channels, Invocation Channels and Enterprise Services. Basically, all three of these are Integration interfaces, but each are a specific type. Here is comparison chart:

Maximo 6

Maximo 7

Outbound Interface, type: Notify Publish Channel
In/Out bound Interface, type: Query/Response Invocation Channel
Inbound Interface, type: Notify Enterprise Service
Inbound Interface Web Service Web Services Library

Better access

Many of the items that were buried in the Select Action menu have now been moved out to the menu. For example, Web Services now has its own menu option.

Error Handling from the UI

OK, I really like this feature. From the Integration menu, you can now view any MEA MIF error message without having to have access to the back end file system. You can view the errors, remove them and even send them to be reprocessed. That is pretty cool as sometimes it is a pain to get rights to the file side to manage your errors. In fact, the default is that errors are now stored in the database and not on the file system. You have to apply a patch (7.1.1.4 I think) in order to enable storing the error messages on the file side.

In Maximo 7, IBM enabled a lot of functionality from the UI that you used to have to do outside the application (like running a configdb). From a developer's point of view.

My plan is to go over every screen in the MIF and document it like I did for the MEA in 6.

Comments

Leonardo Bastos
Posted on March 13, 2009

Hello man, first of all, congratulations, you must be one of the best MEA experts today. I would like to ask you a question about an inbound issue I’m having with MX 7.1.1.3:
I have a problem when the crontask brings the records from the interface table to Maximo (inbound).
Example.:
The interface table has 1 purchase requisition, but after the crontask runs, I have two, three, four or more records of that same requisition in PR table.

The problem occur with a certain frequency, but not all the time. I want to know if this is a CORE problem related to java classes, DB or JMS.
I can use a few workarounds to solve this, but I like to know if you are aware of this situation and if you know a regular way to solve it.
Thanks in advance.

Mike
Posted on March 14, 2009

Leonardo,
I have not run into this error before. Wish I could be more help, sorry.
MikeC

Steve C
Posted on March 25, 2009

Hi I am using the Maximo 7.1 Integration Framework. Am I finding that using the SET rule does not always work (if ever). I am exporting the InvoiceTrans table to an Interface table when the TRANSTYPE is TOTAL. When I use the SET to modify a data field it just basically ignores it.

Matt
Posted on March 31, 2009

Hi,…
Great site.,..!
I am using Maximo 7.1.1.4 and have imported and exported csv files fine,…
I exported some XML workflows and now, struggling to get them back in,.. can’t seem to find any info on what I need to change within the file to get it back in,…
any one know of a document?
keep getting;
com.ibm.xml.xlxp.api.stax.events.EndDocumentImpl incompatible with javax.xml.stream.events.StartElement

Matt
Posted on May 08, 2009

.... just for info I fixed my issue,... I hadn’t moved/created my custom actions over to the target system,... soon as I added them they went in,..

Steve
Posted on May 11, 2009

Hello Mike,

Currently we using Oracle MEA out of box under Maximo 6.2x, any upgrade path or any works involved to upgrade to Maximo 7 MIF? Thanks

Michael Chrisman
Posted on May 14, 2009

Steve,

Are you looking to upgrade your 6.2 data or the Oracle MEA? If it is the data, then IBM has scripts for that. If you are looking to updrate the ORacle MEA, then I don’t know of any such upgrade. However IBM does have a new Oracle MEA available.

MikeC

Ravi Shankar
Posted on May 15, 2009

Hi Mike,

I need to create Item, Company, GL Account and GL component from an incoming PO. I need to take this PO and use the userExit to create all the four object mentioned above. I have a sample which creates company record from a PO. It uses setUserValueIn method to create a company from PO if the company does not exists in maximo. But this is for only one object and it returns the structureData object for company ... my problem is how do I return an Item then a company, then a GL Account one after the other from the same userExit ? Any help is highly appreciated ....

Michael Chrisman
Posted on May 27, 2009

Ravi,

The only way to do this is to create an integration object that relates all the MBOs together. You should be able to do that with a PO MBO as the base. The only thing is that all the sub records must be related to the parent (PO).

MikeC

Pankaj
Posted on July 15, 2009

Hi Mike,
I found this article very useful. Considering that you are having quiet good knowledge of MIF,I want to put a query.
We are upgrading Maximo from v5.2 to v7.1.There are several interfaces between Maximo and Oracle apps (v11.5.10)using MEA.Could you please let me know about changes which we do need to make (if any)at Oracle Apps side.

maxadmin
Posted on August 10, 2009

hi Mike,
firstly let me thank the MIF Guru for all the valid posts. grt work!!
i have started using MAM 7115 MIF as the tool for importing data via interface tables. i was successful with assets, locations, item, inventory, ivbalances, ivvendor, companies,labor. now i am INVISSUE(MATUSETRANS). i created the iface table IFACEINVISSUE enabled MXINVISSUEInterface enterprise service. enabled lister to publish channel. and checked flat file for the object. i loaded data into my iface table and added a line into MXIN_INTER_TRANS table to load data via cron task and i get this error:
11 Aug 2009 09:12:46:843 [ERROR] Processing failed for MXINVISSUEInterface. The
object structure is 1. The primary object is null. The key is null.null
11 Aug 2009 09:12:46:875 [ERROR] BMXAA4214E - An unknown error has occurred.
Please contact your system administrator for assistance.
      null
psdi.util.MXSystemException: BMXAA4214E - An unknown error has occurred.
Please contact your system administrator for assistance.

can u help me on this?

Timothy Beel
Posted on August 26, 2009

I am currently developing a number of individual Web Services for an integration with Maximo 7.1.1.5 and SAP XI but am needing to perform multiple Operations within the same Web Service. Eg. A single WSDL file with an Add operation (from 1 Enterprise Service) and a Query (from a second Enterprise Service). Standard (non-Maximo) Web Services allow this - but I cannot find any documentation on how to do this within the MIF. Would anyone know about this?

Manoj
Posted on August 27, 2009

Hi,
Wanted to verify a configuration, we are thinking of integrating Maximo with Oracle.
We want to perform an issue transaction in Maximo but do not want it to reduce the inventory balance, when we send the issue record to Oracle and it comes back with new inventory balance from Oracle.
Is this possible through configuration only? How?
Many Thanks,
Manoj

Ian Richer
Posted on October 16, 2009

Hi Mike we are using Maximo v 6.2
My problem is set up PM’s with a frequency of 1, for example unit month frequency 1 then a sequence of 3 months x 3 job plans with a one year, so the sequencer looks like 3,0,0,3,0,0,3,0,0,12
This seems cause the system to crash Why ?

Michael Chrisman
Posted on October 30, 2009

Useually errors like this are either 1) you are trying to load an empty record or 2) you have missed some field that Maximo wants but the ConfigDb does not have it marked as required.

MikeC

Michael Chrisman
Posted on October 30, 2009

Ian,

I don’t know. You might contact IBM to see if this is a known bug (with a patch).

MikeC

Ian Richer
Posted on October 30, 2009

Hi Mick.
We are using Maximo Version 6.2.
We would like to link our building Management system to Maximo.
So need a link of some kind, that will automatically generate a work order every time a selected alarm shows up on the BMS
Ian

Michael Chrisman
Posted on October 31, 2009

Ian,

Your options will depend on what BMS can do. If BMS can send an email, you could use the email listener and workflow to create one. Otherwise you could create some program that would either look for the “alarm” event or would be triggered by an alarm in BMS. The job could then create a Work Order via a web service or a JMS Message Queue message.

MikeC

Ian Richer
Posted on October 31, 2009

Mike,
Re BMS link to CMMS
Is there a standard piece of software that will carry out this function on the market?
I’m a maximo user at the coal face, not a IT engineer !)

Michael Chrisman
Posted on November 02, 2009

Ian,

There is not standard piece of software to meet your needs, but one could be developed using the MIF.

MikeC

Ian richer
Posted on November 02, 2009

Mike,
What is MIF ?
Could a Electrical Enginneer use it ?
Regards
ian

Michael Chrisman
Posted on November 05, 2009

Ian,

The MIF stands for Maximo Integration Framework. In Maximo 7, the all it the MIF while in Maximo 6 it is called the MEA.

MikeC

Janhavi
Posted on March 01, 2010

Hi mike,

i want to import and export data from/in excelsheet using integration framework.i tried with xml and flat files and its working
but how to do it with excelsheet or csv file, please reply

Thanks

Michael Chrisman
Posted on March 23, 2010

Janhavi,

Maximo cannot read Excel files directly. And although it can read CSV files, they have to be in teh format that Maximo wants. You will need a program that will convert the Excel file to maximo format. You might look at using interface tables since Excel can read/write database tables directly.

MikeC

HUHandEH
Posted on May 16, 2010

Hi there,

Just started using Maximo, is there a way to import data from a SQL database table that I could use in Maximo. Can we write a query in maximo to talk to other databases?

Thank you in advance,
HUH.

Mike N.
Posted on May 23, 2010

Mike,
We are in the process or an attempt at integrating Max 7.1 with Oracle to permit Maintenance to function in Maximo for all maintenance transactions of materials and services, while Oracle remains the database of record and the program for corporate use. Our corp IT decided to hire other than IBM to set-up the Oracle integration app and have been working on it for almost 5 months while experiencing unbelievable problems. They and the hired contractors tout the integration app doesn’t work and that they are needing to write new code to just get inventory levels, purchase requests, etc. back and forth between Max and Oracle.  I have a simple question for you, for everyone, actually . . . does this sound ‘normal’?  Have others had unsurmountable problems integrating financials, purchasing, and material transactions between Maximo 7.1 and Oracle?

Michael Chrisman
Posted on August 14, 2010

It is not recommended to use SQL to update Maximo tables as all of the business rules are in the java code and not in the database. It is too easy to insert data that is not visable in Maximo. The closest you can do is intergration tables. This is where MIF creates tables that it will import/export data.

MikeC

Michael Chrisman
Posted on August 14, 2010

No that does not sound normal. The MIF is a very powerful and fexible tool with many options.

Post a Comment

Remember my personal information.
Notify me of follow-up comments?

We don't know if you're a human. Confirm below: