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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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