Import assets and asset specifications with MIF

I have already given a simple tutorial on how to import assets with MIF using interface tables.  Now, if you want to import asset specifications as well, this is a detailed tutorial on how to do that with interface tables.  You can also download a sample excel document that I used to import into the interface table, prior to the MIF importing into Maximo, which you can use as base structure for your own data import.

Prior to loading data, I will assume that you have already setup the MIF, entered locations, and created some classifications for your assets.  To setup MIF that is ready to import assets you can read this post.

Now that you have the MIF setup to import assets, we need to do a little bit more to get it completely ready for importing assets and asset specs.  First go to Integration -> Object Structures and find MXAsset.  In the Object Structure you can see a list of source objects which are:


These are the tables that this object structure imorts data into.  So for our purpose, we will be inserting data into ASSET and ASSETSPEC and we will be creating an excel document that conforms to the interface table.  But first we need to include a CLASSSTRUCTUREID field that we will use to assign a classstructure to an asset.  So go to Select Action -> Exclude/Include Fields and uncheck CLASSSTRUCTUREID like so:

Asset - Exclude/Include Fields
Asset – Exclude/Include Fields

Save.  Now you should notice, towards the right of the screen, that the ‘Alias Conflict?’ is now checked.  This just means that you have two or more fields that have the same alias name, so we have to change.  Don’t worry, it’s easy.  Go to Select Action -> Add/Modify Alias, you should notice that the alias setting for the field CLASSSTRUCTUREID is a duplicate.  Change the ‘ALIASNAME’ from ‘CLASSSTRUCTUREID’ to ‘AS_CLASSSTRUCTUREID’.  This is so we know that this field name is specific to the ASSET object as opposed to the ASSETSPEC object.  You will see what I mean later.  Hit OK and Save.  The ‘Alias Conflict?’ should now be unchecked.  If you have already created your interface table, you should recreate them so the changes we made take affect.

Now that you set that up, the rest is pretty straight forward.  It’s pretty much the same as the previous post, except that there are a few details that need to be addressed.  First we need to create an excel document that contains the same column names as our interface table.  So go ahead and go do that… just kidding.  I have a sample excel document with some assets and asset specs for you so you can use that as a guideline.

Download Sample Asset Import Excel
Download Sample

First you will notice that the first few rows are just assets without any asset specifications and the 6th row is an asset that has been classified.  We classified that asset by setting the AS_CLASSSTRUCTUREID column to the classstructureid, which is 2266.  If you are in the Classifications module in Maximo, you won’t find any classstructureid anywhere on the screen.  In Maximo 4.1.1 , they used to show it.  Just because you don’t see it, that doesn’t mean it’s not there.  You can query the database to find the classstructureid with this SQL query:


You can replace ‘AIRDRYER’ with your own classification.

Moving on.  Back to the excel document, the rows 7-12 are the asset attributes and the values for each attribute.  You can notice that I have set the CLASSSTRUCTUREID field to the same value that we set for the ASSET.  That is not to be confused with the AS_CLASSTRUCTUREID field we used earlier.  When MIF imports data, it looks for certain fields to use for each object.  So for example, when it inserts an asset, it takes the value from the AS_CLASSSTRUCTUREID column, and when it inserts the asset specs it takes the value from the CLASSSTRUCTURE column.

Next, another important thing to notice is the OBJECTNAME column.  The value in this column is the object name found in the Object Structure module.  This tells the MIF what object this row is supposed to be inserted into.  So for example, the ‘ASSET’ value tells MIF that the data in this row in going into the ASSET object and the ‘ASSETSPEC’ value tells MIF that this data is going into the ASSETSPEC object.  If you don’t specify these values, MIF with throw exceptions on you saying some fields are required.

The other thing you should notice is the order of the data.  You can see that I entered the data so that whenever an asset has been classified, where the AS_CLASSTRUCTUREID has been filled, the following rows are the asset attributes and values.  This works for me.  I have tried to insert assets first, then tried to insert and associate asset specs at a later time and wasn’t successful.  So it’s important that you follow this structure.

Now you are ready to import the data into the interface table and have the MIF fire away.  Assuming you did everything right, you should now see the assets and the associated asset specifications.  But wait, did you notice something?  Did you notice that the asset status is set to ‘NOT READY’?  But how is that possible if we set the AS_STATUS value to ‘OPERATING’ in the excel document?  Shouldn’t it have changed?  The answer is YES!  Nobody wants to go through all the imported assets and manually change the status to OPERATING.  So in order to have the assets change status to OPERATING when importing you have to change the restriction on the status field under database configurations.

Now when you import assets, the status should change accordingly.

Series Navigation< Screencast: Import data with XML flat filesExport data to XML files with MIF >

Did You Know...

As Maximo Experts, we have developed several add-on products for Maximo that mobilize the work force, simplifies assignments, provides ad-hoc reporting capabilities and facilitates the seamless integration of Service Requests into Maximo.

Check out our products by clicking on the following links: EZMaxMobileEZPLanner and EZInsight.

Find Out More

26 thoughts on “Import assets and asset specifications with MIF

  1. Hi,Guys
    I need a help..i have Data in XLS file and iam using maximo 7.1 so i am able to use MEA …but there is no option for importing the XLS files …
    I had also tried to save the xls file to txt format and imported but it is saying that fileheader is not correct …so some one sort out me from this

    WIth Regards & thanks

    1. @Praveen, You should use the interface tables to import data. Map your excel document to the interface table structure, then import the data from excel. Then use MIF to insert records from the interface table into Maximo

  2. what does this error imply to:
    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.
    psdi.util.MXSystemException: BMXAA4214E – An unknown error has occurred.
    Please contact your system administrator for assistance.

    trying to load MATUSETRANS record via MIF and i get this error. i never faced in while importinf ASSET, LOCATIONS, ITEM, INVENTORY,INVBALANCES, COMPANIES etc.

  3. hi chon,
    i got the thing working. the sendersysid was null. i loaded the inventory record through MIF so the ownersysid was the external sys name. so i had to pass the sendersysid as the external sys name when adding data into the iface table for INVISSUE,so that when MAXIMO checks the inventory it does not pass null MBO set.

  4. Hi
    ” I have tried to insert assets first, then tried to insert and associate asset specs at a later time and wasn’t successful. ” Can you please explain…We are in process of loading assets and assetspec.. Any help would be appreciated..

    1. If I tried to associate asset specs with an already existing asset that was already classified, it would fail because the asset specs already existed. I think this was due to the fact that the MIF was trying to insert records that already existed when in actuality it should of just updated the values.

  5. Thanks Chon!!!
    We are in process of loading assets and assetspec (new data) we are using max6.2 weblogic8 n sql2005. any suggestions/advise we should consider or known pitfalls ?
    Thank you again in advance for your time.

    1. I think the same rules apply with Maximo 6 as with 7. There are too many to list, so I guess it’s all just trial and error as with any other import process.

  6. Chon, incredibly helpful post. You saved me many hours of work and, no doubt, frustration. I appreciate this very much.

  7. Chon, one question. In your example Excel file you have a column labeled OBJECT that you mention in your post above. When I create the interface tables I do not see a column by that name. I’m using Maximo 7.1. I’m trying to take this lesson and apply it to FailureCode and FailureList. Can you suggest why that column might be missing?

    1. That column is a non-persistent column. You have to manually add it to the object structure. You may or may not need that column. I’ve got it working without it.

  8. I need someone to help me in “How to Import data from excel sheet to MAXIMO”. can any one tell me step by step procedure. ASAP…!!!

    1. You can’t directly import from excel. You can either use interface tables that import data from excel or you can use CSV files to import directly into Maximo. The CSV needs to follow a certain format to work properly.

  9. @CHON: Can you please tell me the detail procedure to import excel sheet data into MAXIMO 7.1

    it will be really grateful, i am still learning MAXIMO 7.1

  10. Hi I have a question which is along the same lines,..

    I want to import CISPEC data in to CCMDB.

    the issue I have is that if a ci record has say 35 exisitng specifications. When I run an update to update a value in 2 of these, it updates the 2 fine, but deletes the other 33 specifications..

    I could list all 35 on the spreadsheet, but with 1000’s of records to update this is not a good way of doing it.

    Any one had this issue?

    I have tried a direct import to CISPEC, also CI with CISPEC, with update and add,.. I get the same resutls,

  11. Hi Chon

    I’m trying to import Asset data into Maximo. We want to retain our legacy asset number and use the Maximo sequence number for ASSETNUM field. Please let me know how can I do this?
    I’m using flat file and MIF to load the data.


    1. Hi, Please post support questions in our forum… You can import your assets and specify the legacy asset numbers in the import. Just follow the directions here.

Leave a Reply

Your email address will not be published. Required fields are marked *