Import Inventory Records using Maximo Integration Framework (MIF)

Maximo has a powerful feature that can take the load off of both user and administrator. A common example of a request a Maximo administrator may get is, ‘Is there anyway I can avoid typing in this list of 286 new inventory items into Maximo?’. In older versions of Maximo (e.g. 4.x and 5.x), an administrator would take the data and have to create complex SQL query scripts to insert and validate the data. The common result was 99.9% of the entries worked fine, but an administrator would then spend hours chasing down problems with one or two records.

Maximo now has a much more powerful way to do the same work, it’s called the Maximo Integration Framework (MIF). Using the MIF, administrators can essentially create a template, called an Object Structure, that can be used repeatedly by users to load data through the Maximo Business Objects (MBO’s) to validate the data and automatically manage critical data like record sequence numbers. Data will be loaded in a CSV file that can be created using a common spreadsheet application (e.g. Excel, Numbers, etc).

In this article the example data will be used to load Inventory records into Maximo using the MIF. It’s assumed that your Maximo installation is ready to accept transactions via the MIF. If it’s not, you can review information at Maximo Times MIF Series, IBM KB Doc 1385813, IBM KB Doc 1330565, or Maximo Middleware Manual Configuration for help on setting up your Maximo installation. The other assumption is that you have full access to the Integration applications in Maximo. A quick check to verify this is to log into Maximo and navigate to Go To -> Integrations and see a list of applications like this.

Integration App List

Loading data into Maximo via the MIF is similar to adding information via the UI, any required information used by the UI will need to be provided when loading data through the MIF. To load Inventory records the first step will be to enter Item Master records.  To do that, we’ll need to setup the Object Structures first.

Setting up the Object Structures

To setup the Item Master data load template, log into Maximo and navigate to Go To -> Integration -> Object Structure.  Search for the for the Object Structure ‘MXITEM’ and from the Select Action menu click on Duplicate Object Structure. This will create a new Object Structure based on existing Maximo record. Update the following on the duplicated record:

  1. Name the new object to something unique, like MIF_ITEM.
  2. Make sure the ‘Support Flat Structure’ checkbox is enabled.
  3. Click new row to include the ITEM table as Source Object for the object structure.
  4. Click Save.

image

After the record is saved, go to the Select Action menu and click on ‘Exclude/Include Fields’. A new window will open and you will see a list of database field for the Item table. Checking a field to be excluded means that the MIF will not expect, or process, data related to this database field. A list of fields that have been included for this are shown below.  Fields that are grayed out are required fields that are needed no matter what.

Item MIF Exclude Fields

Once the list of fields that are to be included/excluded, click ‘Ok’ to save the changes. From select action, click on ‘Exclude/Include Fields’ again to bring up the list. When the dialog box pops up with your list of fields, click on the ‘Download’ button to save a copy of what fields you have chosen to include and exclude. Click ‘Cancel’ to close the dialog box. I chose ‘Cancel’ in case a check box accidentally got changed, but is not what you expected or reflected in the file you downloaded.

Repeat the same steps for your Inventory Object Structure.

  1. Duplicate the previous steps to duplicate MXINVENTORY into MIF_INVENTORY.
  2. Update the Include/Exclude files.

Unlike Item Master records, Inventory records are more complicated because additional database tables may be used (or even required) to load all the information. Some of the additional tables that may be used to load Inventory data could be:

  • INVBALANCES
  • INVCOSTS
  • INVVENDOR

Inventory MIF OS

As you add the child tables, a relationship is needed back to the partent table.  In the example below, the INVCOST table is setup as a child to the INVENTORY table.

  1. Click new row and add a 2nd Source Object and select the INVCOST table.
  2. Select the INVENTORY table as the Parent Object.
  3. Select a relationship from the parent table (INVENTORY) to the child table (INVCOST).
  4. Go to Select Action and update the Include/Exclude fields.
  5. Click Save.

INVCOST Child Object

Repeat the steps for the INVBALANCES table and any additional tables you wish to add.  In the event you want to add a child table that does not have a relationship built-in you can add  one via Database Configuration on the Relationships tab for the parent table.

At the database level, tables like INVBALANCES and INNVENDOR, may have fields that have the same name as those on the INVENTORY table – e.g. CONDITIONCODE or BINNUM.  When the flat file is created to contain all the data that you want to load into Maximo, these duplicate fields needs to be identified.  To do this, go to Select Action and click on ‘Add/Modify Alias’.  Look through each child table for any indications of a duplicate record, like this:

Duplicate Field Review

Update the ‘Alias Name’ to something that will make the column name unique.  When the changes are made, click Ok, and re-open the ‘Add/Modify Alias’ dialog box to verify all Duplicate flags are gone.

Duplicate Flags Gone

Now that all fields have been Included/Excluded and duplicate fields have a correct alias you can down load the fields that will be needed in the Inventory flat file.  From Select Action click on Exclude/Include Fields to open the dialog box again. When the dialog box opens, click on each Object name and click on the Download button to save a copy of the included/excluded files.

Download Field Headers

 

Setting up the Enterprise Services

An Enterprise Service is an interface used to import data into Maximo. The Enterprise Service that is used to import our Item Master and Inventory data will be based on the Object Structure previously created. Navigate to Go To -> Integration -> Enterprise Service.

image

Since we need to load two sets of data, Item Master records and Inventory records, two new Enterprise Services will need to be created.

Click New Record and enter the following details for the Item Master service:

  • Enterprise Service: MIF_ItemData
  • Service Description: MIF Item Data Load Interface
  • Operation: Sync
  • Adapter: Maximo
  • Object Structure: MIF_ITEM

image

Click Save and then repeat the steps for the Inventory service:

  • Enterprise Service: MIF_InvData
  • Service Description: MIF Inventory Data Load Interface
  • Operation: Sync
  • Adapter: Maximo
  • Object Structure: MIF_INVENTORY

image

 

Setting up External Systems

The next step is to setup the External System. An External System is the interface in the Maximo UI that is used to import the data file that will be processed by the Maximo Business Objects (MBO’s). It is this functionality that makes the data loading via the MIF so powerful. The External System will upload the data file into Maximo to have the data file structure against the Object Structure. It will then validate the data, using the MBO’s, to ensure all the data is correct. Then finally push the data into the Maximo database. Now there is actually a lot more going on, but that’s 20,000′ view of what’s happening.

Navigate to Go To -> Integration -> External System, click New Record, and entering the following details:

  1. System: Data
  2. Description: MIF Data Import
  3. End Point: MXFLATFILE
  4. Verify the ‘Enabled’ check box is marked.
  5. Set the JMS queues via the Select Value menu. This will ensure any custom queues will be properly selected.
  6. Click Save.

image

Once the External System is saved, click on the ‘Enterprise Services’ tab and doing the following:

  1. Click the ‘New Row’ button.
  2. Use the Select Value or enter the name of the Enterprise Service for Item Master.
  3. Verify the ‘Enabled’ check box is marked.
  4. Verify the ‘Use Continuous Queue’ check box is marked.

image

Repeat the same steps to add the Inventory Enterprise Service to the External System.

Maximo is now setup to import files in a CSV format to load data into Item Master and Inventory. If no Queues are listed in your Select Value menu, you will need to setup the JMS Queues for your application server.

 

Setup CSV Template

The last step is to setup the flat file, which will be in CSV format, that will be used to store all the data for loading into Maximo. Since we are loading two sets of data, Item Master and Inventory, we will need to create two CSV template files. These template files will be based on the files that were downloaded as part of the Object Structures.

Open the spreadsheet file, in this case Excel, to edit the Item include/exclude file.

image

Do the following to setup the Item CSV template:

  1. The only fields we need to be worried about are those in the list with a ‘N’. So copy the fields only with a ‘N’.
  2. Click on a new tab and in field B1, right click and use Paste Special.
  3. Use the ‘Transpose’ option to paste the values from up/down to left/right.
  4. In the top row, add the following values in the following cells:
    1. A1: DATA
    2. A2: MIF_ITEM
    3. A3: Add
    4. A4: EN
  5. Delete the first tab that listed all the field values
  6. Close the file and acknowledge any warnings Excel may give you.

image

Do the following to setup the Inventory CSV template:

  1. The only fields we need to be worried about are those in the list with a ‘N’. So copy the fields only with a ‘N’.
  2. Click on a new tab and in field B1, right click and use Paste Special.
  3. Use the ‘Transpose’ option to paste the values from up/down to left/right.
  4. In the top row, add the following values in the following cells:
    1. A1: DATA
    2. A2: MIF_INVENTORY
    3. A3: Add
    4. A4: EN
  5. Delete the first tab that listed all the field values
  6. Open the other two files and copy/transpose the fields that are not excluded.
  7. Update any aliased field column names (like INVBALANCES.BINNUM) with the alias name created in the ‘Add/Modify Alias’ dialog box.image
  8. Close the file and acknowledge any warnings Excel may give you.

 

image

 

You can now copy/paste data into the respective columns in the template files and use the files to load data into Maximo.  Save the file as a CSV file from Excel.  After saving the file, open it again in Notepad (or another plain text editor) and remove the extra comma’s that Excel inserted in the top line of the CSV file.  It should read as:

DATA, MIF_ITEM, Add, EN

At this point the file is ready to be loaded into Maximo.

 

Data Loading into Maximo

To load data into Maximo will be a two step process.  One, load the Item Master data.  Two, load the Inventory data.  To a load Item Master data do the following:

  1. Navigate to Go To –> Integration –> External Systems.
  2. Open the MIF_DATA record.
  3. Click on the Enterprise Services tab.
  4. Open the MIF_ITEM data service.
  5. Click on the Data Import button to open the import dialog boximage
  6. Browse for the flat file that was created.
  7. Verify that the ‘Flat File’ radio button is check.
  8. Click OK.

This will now load the flat file into Maximo and run the data through the Maximo Business Objects.

image

Repeat the steps for loading your Inventory data.

Series Navigation< Exporting data to XML with MIF event listener for any changes on an object automaticallyImport users security groups 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

5 thoughts on “Import Inventory Records using Maximo Integration Framework (MIF)

  1. One quick note about the initial Item Master data load.  If your site happens to autonumber your Item Master records you will need to reset your autonumber seed in Administration -> Organizations.  Otherwise when your normal onesie, twosie entries catch up to your bulk load starting number you’re users will start getting an index entry error.

  2. I have followed all of the steps and was able to successfully load items; however, when I import inventory records I get a message that it was successful but I don’t see the storeroom on the item record. Do you have any ideas of what could be causing this?

Leave a Reply

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