A Division of Technology Associates International Corporation
Maximo Blog

How to upload a file for processing

June 16, 2009 in Maximo, Maximo 6, Maximo 7, Maximo: Programming by Michael Chrisman 15 Comments

Although the MIF/MEA is great for processing inbound files. However, sometimes they do not meet all your needs. For example, the MIF will require the user to have access to a folder on the server (a security problem). The MIF is also design for automated data import. Sometime you need …

Read More

The relationship between Domains and MBOs

June 06, 2009 in Maximo, Maximo 6, Maximo 7, Maximo: Programming by Michael Chrisman 3 Comments

There is a relationship between domains and MBOs that until you understand it, can be very frustrating. For example, you create an MBO (or even use an existing MBO), you then create a domain, attach it to a field in the MBO, but when you go to use the screen, …

Read More

How to create a dialog box

June 04, 2009 in Maximo, Maximo 6, Maximo 7, Maximo: Programming by Michael Chrisman 10 Comments

Maximo provides many ways to add functionality to an Application Screen, from sub-tables to tabs. Another way is to add a dialog box. In Maximo, a dialog box is a ‘popup’ screen that appears on top of the current screen. You can use these to allow users to add more …

Read More

Auto-populating relationship attributes in a parent/child table relationship

May 27, 2009 in Maximo, Maximo 6, Maximo 7, Maximo: Programming by Michael Chrisman 9 Comments

Although it is easy to create MBOs (tables) that have a parent/child relationship in Maximo, getting the relationship fields to auto-populate when doing data entry on a screen requires a little coding. Let’s go over how. In this example, let’s say we created our own child table of ASSET. We …

Read More

Creating a Custom Dialog- Part 2

March 08, 2009 in Maximo, Maximo 6, Maximo: Programming by Michael Chrisman 14 Comments

Now that we have our dialog box, the next thing is to add some custom functionality to the dialog box. In this example, we will add a button that when the user clicks it, it will call our custom code. First we are going to create our custom java class. …

Read More

Creating a Custom Dialog- Part 1

February 25, 2009 in Maximo, Maximo 6, Maximo: Programming by Michael Chrisman 0 Comments

It is possible to add your own dialog box to an existing (or new) screen in Maximo. A Dialog box in Maximo is like a pop-up window that you can add fields and functionality. This entry will cover the creation of the the dialog window. The first step is to …

Read More

MEA Example: Triggering interface when child record is modified

February 03, 2009 in Maximo, Maximo 6, Maximo: MEA, Maximo: Programming by Michael Chrisman 10 Comments

Sometimes, because of the structure of the message Maximo has to send, you have to make one table the base for the Integration object, but you need to trigger the interface when a record is modified on a child table. Since Maximo only listens for changes on the base MBO, …

Read More

Using Standard Java SQL Connection in Maximo in a UserExit

February 02, 2009 in Maximo, Maximo 6, Maximo: MEA, Maximo: Programming by Michael Chrisman 14 Comments

It is possible to pass a SQL statement into the database without having to define a connection string. From any MBO object, you can get a connection to the current database. From that, you can pass in any SQL statement and use the results to populate values in a Integration …

Read More

Error: Class Not Found. Class bytes found but defineClass()failed

January 27, 2009 in Maximo, Maximo 6, Maximo: MEA, Maximo: Programming by Michael Chrisman 4 Comments

If you created a custom UserExit or Mbo class and when you try to run it in Maximo you get the follow error in the log: Class Not Found. Class bytes found but defineClass()failed Note this is not a standard Class Not Found error. What this means is that you …

Read More

Checking if an MBO has been modified

January 26, 2009 in Maximo, Maximo 6, Maximo: Programming by Michael Chrisman 0 Comments

In Maximo, sometimes when, in code, you try to modify an Attribute on an MBO, you get an error saying that the records was already modified. This usually happens when you have extended the MBO class and the error causes the save to abort altogether. This can be avoided by …

Read More

MEA: More on Query/Response Web Services

January 08, 2009 in Maximo, Maximo 6, Maximo: MEA by Michael Chrisman 0 Comments

Querying on Children MBOs According to the MEA Programming documentation, in Maximo 6, if you create a Query/Response Web Service where the Integration Object has a parent and child MBO, you cannot query fields against the child MBO. I do have people that have tested this and found it to …

Read More

Outbound Interfaces and Domain Descriptions

December 12, 2008 in Maximo, Maximo 6, Maximo: MEA by Michael Chrisman 0 Comments

Sometimes, when dealing with Maximo domains, you need to export the Description for the domain item and not just the Domain Value. This can be done by creating a relationship and then a SET outbound rule. Although in this example I will be using AssetType (and the descriptions are not …

Read More

How to install the INTCLIENT (without installing Maximo)

December 03, 2008 in Maximo, Maximo 6, Maximo: MEA, Maximo: Programming by Michael Chrisman 2 Comments

It is possible to install just the Integration Client on a computer without installing full Maximo on that computer. You will still need to have Maximo installed (and configured) on a computer somewhere so you can copy the needed files. This install is not small (requires around 170 meg) as …

Read More

Maximo Integration Client- The Missing Manual

November 25, 2008 in Maximo, Maximo 6, Maximo: MEA, Maximo: Programming by Michael Chrisman 1 Comment

OK, I hinted that I might create a user's manual for the INTCLIENT and now, here it is. This is just version one and I am sure there are some things I either missed or got wrong. If you find something, please let me know and I'll update the document. …

Read More

Intclient Error: UsernamePasswordCredentials class not found

November 25, 2008 in Maximo, Maximo 6, Maximo: MEA, Maximo: Programming by Michael Chrisman 0 Comments

I got this error when trying to use a web service (SOAPDOC). This error appeared in the command window running the intclient. Nothing appeared in the Message window of the inclient or on the application server. I don't know why this error occurs on some installs and why it doesn't …

Read More

MEA: Overview

November 20, 2008 in Maximo, Maximo 6, Maximo: MEA by Michael Chrisman 9 Comments

Someone recently asked me to teach them about the MEA and I pointed them to this web site. Only, as I was showing it to him, I realized that my site assumes the reader has a basic understanding of how the MEA works. What was missing was a definition of …

Read More

MEA: Adapter

November 19, 2008 in Maximo, Maximo 6, Maximo: MEA by Michael Chrisman 2 Comments

You probably noticed that Maximo (out of the box) is very ridged in the format of the message. Both XML and flat files must be in a "Maximo" centric format. However, you can make Maximo create messages in a different format. To do this, you have to create your own …

Read More

Maximo-Eclipse setup guides

November 04, 2008 in Maximo, Maximo 6, Maximo: Programming by Michael Chrisman 0 Comments

I have heard from more than a few people that they can't get approval to become a member of the Yahoo group to access the setup guides. As such, I provide them here. [legal speak]Please understand that I did not create these document and offer nothing for warrenty or support …

Read More

Deleting an Application in Maximo

November 03, 2008 in Maximo, Maximo 6, Maximo: Programming by Michael Chrisman 1 Comment

As a developer in Maximo, you end up either creating a new app (in app designer) to test something, or cloning existing apps. However, you probably noticed that there isn't an option to delete an application. As it turns out, to delete an application in Maixmo, you have do to …

Read More

Migrating MEA and Database changes

October 17, 2008 in Maximo, Maximo 6, Maximo: MEA, Maximo: Programming by Michael Chrisman 3 Comments

It turns out that you can use the MEA to export your integration and database changes, and then import them into another system. You can do this because out of the box Maximo comes with integration objects for the MEA objects as well as the Object Configuration, Max Messages, Domains, …

Read More

Domains Part 2: Adding to a screen

October 16, 2008 in Maximo, Maximo 6, Maximo: Programming by Michael Chrisman 1 Comment

Now that we have define our domains, the next thing we need to do is setup a screen to use the domain (give the user the little magnifying glass next to the field on the screen). The first step is to edit your screen in the Application Designer. Next, export …

Read More

Domains Part 1: Defining a Domain

October 16, 2008 in Maximo, Maximo 6, Maximo: Programming by Michael Chrisman 5 Comments

Domains are how you tell Maximo what is valid data for a field. It also can be used to display a list of options. You can create a simple list of values or generate a list of values from a table. Let's first talk about the different types of Domains. …

Read More

MaxMessages

October 02, 2008 in Maximo, Maximo 6, Maximo: Programming by Michael Chrisman 24 Comments

One of the most common needs in any customization is the ability to tell the end user something. I am, of course, talking about an alert or message box. Maximo does provide away to do this within your custom Java code. Of course, it is not as simple as calling …

Read More

Maximo Single Sign-on Howto

September 30, 2008 in Maximo, Maximo 6 by Michael Chrisman 4 Comments

Over on the Yahoo Maximo forum, someone posted a howto for configuring WebLogic and Windows 2003 for a Single Sign-on. Here is the link: LDAPSSOAuthentication.doc

Read More

Extending MBOs

September 24, 2008 in Maximo, Maximo 6, Maximo: Programming by Michael Chrisman 7 Comments

Let's talk about how to extend an MBO. Sometimes you need to add extra functionality to an MBO (like setting a field value when a certain set of criteria are added. The first thing to do is to setup your environment. You might also look into the Maximo4Eclipse. OK, the …

Read More

MEA: UserExit Class

September 11, 2008 in Maximo, Maximo 6, Maximo: MEA, Maximo: Programming by Michael Chrisman 18 Comments

So far, we have covered how to interface with Maximo using standard out of the box tools, but sometimes, you need to do some complex processing. Maximo provides a way to do this by creating a custom user exit class. A user exit class is Java code that you can …

Read More

MEA: JMS Queues

August 22, 2008 in Maximo, Maximo 6, Maximo: MEA by Michael Chrisman 5 Comments

If you are using some type SOA tool, then you will need to setup the MEA to send and receive data on different JMS Queues. The MEA actually uses three JMS Queue for internal use. One is an outbound sequential queue, one is an inbound sequential queue (records will be …

Read More

MEA: HTTP Post

August 14, 2008 in Maximo, Maximo 6, Maximo: MEA by Michael Chrisman 14 Comments

Another way of getting data in and out of Maximo is via a HTTP Post method (like submitting a web form). Although this works well for putting data into Maximo, it is not very practical for send data out of Maximo (unless the receiving system is also Maximo). Let talk …

Read More

MEA: XML and Flat files (Outbound)

August 01, 2008 in Maximo, Maximo 6, Maximo: MEA by Michael Chrisman 11 Comments

The Maximo MEA has the ability to automatically generate both XML and flat files for outbound transactions. Out of the box, there is no way to automated the loading (inbound) of flat or XML files. Let's look at how to do it. Setup The Integration Object and Integration Interface are …

Read More

MEA: Web Service Part 3 - Outbound

July 25, 2008 in Maximo, Maximo 6, Maximo: MEA by Michael Chrisman 4 Comments

So far, we have covered how to get data into Maximo via a web service and how to query data out of Maximo. The last step is making Maximo push data out to a web service in another system. Let's get started with the setup. Integration Object and Integration Interface …

Read More

MEA: Behavior of Integration Objects

July 18, 2008 in Maximo, Maximo 6, Maximo: MEA by Michael Chrisman 0 Comments

It is important to under the behavior of Outbound Integration Objects. Specifically, I am talking about when data that is changed in the Maximo, what will trigger the Integration Interface. When you create your Integration Object, you select a main MBO (this is the one without any parent MBO). For …

Read More

MEA: Web Service Part 2 – Query/Response

July 11, 2008 in Maximo, Maximo 6, Maximo: MEA by Michael Chrisman 28 Comments

In the last entry, we talked about the Notify Web Service. This is use for incoming "Syncing" data. If you want to get data out of Maximo (using a web service), then you have to setup a Query/Response web service. Basically, you can use one Integration Object (or two if …

Read More

MEA: Web Service Part 1- Notify

June 26, 2008 in Maximo, Maximo 6, Maximo: MEA by Michael Chrisman 9 Comments

One of the features of the MEA is its ability to create a web service based on an integration interface. This is all done without having to write one line of code. You can create two different types of web services, Notify and Query/Response. A Notify web service is used …

Read More

MEA errors fill log files

June 22, 2008 in Maximo, Maximo 6, Maximo: MEA by Michael Chrisman 0 Comments

One thing you might find is that when you have a MEA record error, the JMS server keeps trying to reprocess the record over and over. This causes the server to slow down and fill up the drive space with log files. The reason for this is that the default …

Read More

MEA: Error Handling

June 22, 2008 in Maximo, Maximo 6, Maximo: MEA by Michael Chrisman 4 Comments

When the MEA processes a record and it has an error, the MEA do three things. The first is that it writes the error message to the server log file. Next it sends the error to the administrators email address. The last thing is that it write an XML file …

Read More

MEA: XML Messages

June 20, 2008 in Maximo, Maximo 6, Maximo: MEA by Michael Chrisman 0 Comments

Let's take a minute to look a the XML message format. When dealing with the MEA you will end up dealing with messages in XML format. Even when you import flat files and interface tables, Maximo converts each record to the XML format. There are three different XML message formats, …

Read More

MEA: External Systems

June 12, 2008 in Maximo, Maximo 6, Maximo: MEA by Michael Chrisman 9 Comments

Let's look at the External Systems screen. External system is a way to group together interfaces that 1) go to the same external application and 2) have the same end point (more on this later) and 3) will be run on the same schedule. Every Integration Interface MUST be assigned …

Read More

MEA Integration Interface Processing Rules: Examples

June 05, 2008 in Maximo, Maximo 6, Maximo: MEA by Michael Chrisman 14 Comments

Now that I have covered how to setup processing rules, I thought it would be good to give some samples on when to use what type of rule. Situation: say you have to have to convert lookup data from system X to Maximo lookup data. You know that each value …

Read More

MEA Integration Interface Processing Rules - Part 2

June 04, 2008 in Maximo, Maximo 6, Maximo: MEA by Michael Chrisman 2 Comments

In my last post, I talked about setting up Stop/Skip rules. In this post I will be talking about the other types of rules. There are two basic types of rules. The first type are rules that either skip a record or stop processing. The other type are rules that …

Read More

MEA Integration Interface Processing Rules - Part 1

May 30, 2008 in Maximo, Maximo 6, Maximo: MEA by Michael Chrisman 2 Comments

Let's talk a little more about processing rules. I covered the Integration Interface screen. In that I talked about the processing rules tabs, but only covered the fields and not how to set up processing rules. I will now attempt to cover how to create processing rules. However, there is …

Read More

Maximo Views: Creating Custom MBO Views

May 13, 2008 in Maximo, Maximo 6, Maximo: Views by Michael Chrisman 16 Comments

Okay, I figured out how to create a real custom view and have it be a valid MBO in Maximo. It is a little bit of a work-a-round, but it does work. The first step is to create your view's SQL statement. If the data is related to another MBO, …

Read More

MEA: Integration Interfaces

April 20, 2008 in Maximo, Maximo 6, Maximo: MEA by Michael Chrisman 1 Comment

Once you have your integration object all setup, the next step is to create your Integration Interface. An Integration Interface is where all data going between the Integration Object and some external system (inbound or outbound) must pass through. This is also where you can attach special processing classes that …

Read More

MEA: Integration Objects

April 11, 2008 in Maximo, Maximo 6, Maximo: MEA by Michael Chrisman 17 Comments

Let's take a minute to look at the Integration Object screen. First we need to define what an Integration Object is. An Integration Object is a Maximo MEA Object used to define what data will be available for both inbound and outbound data flow. It is made up of Maximo …

Read More

Handy MEA tools included with Maximo

March 26, 2008 in Maximo, Maximo 6, Maximo: MEA, Maximo: Programming by Michael Chrisman 8 Comments

Maximo comes with a couple of very hand tools for helping you manage and program the MEA. These tools are officially unsupported, but they are pretty useful. The first tool is called: Integration Client. This is a Java tool that allows you to test your inbound MEA interface. This includes …

Read More

More on Maximo MEA Setup

March 18, 2008 in Maximo, Maximo 6, Maximo: MEA by Michael Chrisman 0 Comments

Here are a few other setup tasks that you might need to do to setup you Maximo MEA. Maximo MEA Server Name For purposes of the MEA each install of Maximo is given a name. This name is very important to the MEA as XML messages must be "addressed" to …

Read More

Error: The Message Driven Bean ‘JMSContQueueProcessor-1′ is transacted,…

March 06, 2008 in Maximo, Maximo 6 by Michael Chrisman 0 Comments

If you have done an install of Maximo using BEA Weblogic with the MEA enabled, then you might see this error message in the log file: I am not sure if this does affect the performance of Maximo, but it is pretty easy to fix. Here's how. With Weblogic running, …

Read More

IBM’s Maximo Data Loader

February 14, 2008 in Maximo, Maximo 6 by Michael Chrisman 39 Comments

IBM has a tool that will help you with loading data into Maximo. This tool, called the Maximo Data Loader (MDL), allows you to quickly migrate data into Maximo. Why use the MDL? The MDL fills a niche very nicely: a way to import data into Maximo without have to …

Read More

Using a Maximo View to add a calculated field

January 18, 2008 in Maximo, Maximo 6, Maximo: Views by Michael Chrisman 7 Comments

Adding a calculated field to a screen can be a daunting task for anyone that is not a Maximo programmer. The current methods include writing a Java Class that does the calculation and returns the value. However, it is possible to use an MBO View to accomplish this. However it …

Read More

Maximo Views - Introduction

January 18, 2008 in Maximo, Maximo 6, Maximo: Views by Michael Chrisman 0 Comments

As anyone who has played with the Database Configuration tool in 6.x will knows, Maximo manages it entire data model within itself. But what you may not know is that Database configuration will also let you create and manage views. When ConfigDB is run, these are translated into real database …

Read More

A look at some Maximo System tables

January 01, 2008 in Maximo, Maximo 6, Maximo: Programming by Michael Chrisman 3 Comments

I thought I would write a little summary of a few of the Maximo tables and what I have found they are for. This will not be a complete coverage, but only the little tidbits that I have found. Table Name Description/Comment AutoKey This table contains the counter for the …

Read More

Work Tech’s new MEA Generic Posting Interface

January 01, 2008 in Maximo, Maximo 6, Maximo: MEA by Michael Chrisman 1 Comment

With the new version of Maximo (6.x), Work Tech had to create new interface for their WorkTech Time application. I have to say, this new interface is pretty nice. They have developed an interface that makes it fairly easy to get data from WorkTech Time to Maximo Using the MEA. …

Read More

Maximo and Unique IDs

December 12, 2007 in Maximo, Maximo 6, Maximo: Programming by Michael Chrisman 12 Comments

If you always enter data from the front end of Maximo, then this post has nothing to do with you. However, if you have to load (or manipulate) data from the back end then let me tell you about Maximo 6.x and unique ids. I recently did an upgrade from …

Read More

Maximo Custom Reports Part 3: Full Integration

November 28, 2007 in Maximo, Maximo 6, Maximo: Reports by Michael Chrisman 5 Comments

So far, we have setup custom reports and then extended it to support multiple reporting tools. Now we are going to fully integrate these reports. Now you might be asking what I mean by "fully integrated" as the reports already show up in the Maximo reports list and you can …

Read More

Maximo Custom Reports Part 2: Supporting multiple external reporting tools

November 28, 2007 in Maximo, Maximo 6, Maximo: Reports by Michael Chrisman 4 Comments

In the last entry, I talked about how to setup and configure Custom reports in Maximo 6.x. In this entry, I am going to talk about how to extend this functionality to support multiple external reporting tools. The documentation that comes with Maximo talks about how it will only support …

Read More

Maximo Custom Reports Part 1: Setup and Configuration

November 25, 2007 in Maximo, Maximo 6, Maximo: Reports by Michael Chrisman 27 Comments

In a recent upgrade project to Maximo 6.2, I got to play a lot with Custom Reports. The client had a large investment in Oracle Reports and Web Reports from their 4.11 installation and wanted to reuse as much of it was possible. In a series of 3 blog entries, …

Read More

Maximo(MXES) MEA Part 3: Debugging/Troubleshooting Interface Tables

November 14, 2007 in Maximo, Maximo 6, Maximo: MEA by Michael Chrisman 19 Comments

In this entry I will be talking about how to debug and troubleshoot the MEA Interface tables. The MEA can seam very much like a "black box" where you put records in and they come out the other end, but what happens inside the box can be a mystery. If …

Read More

Maximo(MXES) MEA Part 2: Programming Interface Tables

November 05, 2007 in Maximo, Maximo 6, Maximo: MEA by Michael Chrisman 0 Comments

In this entry, I will be talking about how to program the MEA interface tables. In the last entry I talked about how to setup the MEA but the one thing to remember is that you do not get to define what the table looks like (at least not directly), …

Read More

Maximo(MXES) MEA Part 1: Overview/Configuration

October 27, 2007 in Maximo, Maximo 6, Maximo: MEA by Michael Chrisman 70 Comments

This is the first of a three part series on the Maximo Enterprise Adapter (MEA). I will be talking about the MEA found in Maximo Version 6.x (MXES). The MEA is a tool that helps you with interfaces to other applications. It allows you to automate importing and exporting data …

Read More