Blog
How to disable the 7.5 Rich Text editor
TPAE 7.5 has introduced a nice Rich Text editor control for editing and formatting long descriptions. This applies to both Maximo and SmartCloud Control Desk starting from version 7.5. This feature is very cool in some cases but may cause some troubles. I personally do not like the effects of pasting text into such RTF text boxes. To disable the formatting features of these controls you can just add the following attributes to the richtexteditor element in the application XML definition: plugins="[]" extra_plugins="[]"
September 21, 2013
Automatically start Maximo or SCCD server
To automatically start Maximo or SmartCloud Control Desk (SCCD) when the hosting server starts you need to configure the WebSphere Node Agent to start automatically start at server boot. Automatically start WebSphere Node Agent This can be achieved on Windows setting up the WebSphere Node Agent as a Windows service using the WASService command located in the [APPSRVDIR]\bin directory. WASService -add “Node Agent” -servername nodeagent -profilePath “[APPSRVDIR]\profiles\[PROFILENAME]” -wasHome “[APPSRVDIR]” -logRoot “[APPSRVDIR]\profiles\[PROFILENAME]\logs\nodeagent” -logFile “[APPSRVDIR]\profiles\[PROFILENAME]\logs\nodeagent\startNode.log” -restart true -startType automatic
September 11, 2013
Is an MBO change originated by user?
In some cases you are in the middle of an MBO Java code and you need to know if the current method has been triggered by an interactive UI session or by background process like MIF or escalation. This is what you need. boolean isGUI = getUserInfo().isInteractive(); The getUserInfo() method is available on both Mbo and MboSet classes.
August 5, 2013
Custom Java Action Class Example
This entry is part of the Maximo Java Development series. In a previous post I have described how create a custom action class using Java. Here is a full example that can help to understand how to navigate objects and set values. package cust.psdi.app.workorder;import java.rmi.RemoteException;import psdi.common.action.ActionCustomClass;import psdi.mbo.MboConstants;import psdi.mbo.MboRemote;import psdi.mbo.MboSetRemote;import psdi.util.MXException;/** * Sets the Workorder description with a new one obtained concatenating the * following related descriptions: * - :JOBPLAN.DESCRIPTION * - :PM.LOCATIONS.DESCRIPTION * - :PM.ASSET.DESCRIPTION * * @author Bruno Portaluri */public class ActionSetDescriptionFromPm implements ActionCustomClass{ public ActionSetDescriptionFromPm() { super(); } public void applyCustomAction(MboRemote mbo, Object[] params) throws MXException, RemoteException { String desc = ""; // Get the description of the Job Plan MboSetRemote jp = mbo.getMboSet("WO_JOBPLAN"); if (jp.getMbo(0)!=null) { desc = desc + jp.getMbo(0).getString("DESCRIPTION"); } // Get the description of the Job Plan MboSetRemote pm = mbo.getMboSet("WO_PM"); if (pm.getMbo(0)!=null) { // Get the description of the PM's Location MboSetRemote locations = pm.getMbo(0).getMboSet("LOCATIONS"); if (locations.getMbo(0)!=null) { desc = desc + " - " + locations.getMbo(0).getString("DESCRIPTION"); } // Get the description of the PM's Asset MboSetRemote asset = pm.getMbo(0).getMboSet("ASSET"); if (asset.getMbo(0)!=null) { desc = desc + " - " + asset.getMbo(0).getString("DESCRIPTION"); } } // Truncates to fit the field length desc = desc.substring (0, 100); System.out.println("Setting WO's " + mbo.getString("WONUM") + " description:" + desc); mbo.setValue("DESCRIPTION", desc, MboConstants.NOACCESSCHECK|MboConstants.NOVALIDATION_AND_NOACTION); }}
July 19, 2013
How to make record readonly based on an attribute's value
This entry is part of the Conditional Expressions HowTo. A very typical customization task is to make readonly some records of a specific table based on the value of an attribute. For example you may wish prevent the editing of purchase orders that have a total costs higher than 1000$ for a specific group. Here is a small tutorial about how you can achieve this. Open Administration - Conditional Expression Manager application and create the following conditional expression:
July 13, 2013
Best practices for Maximo projects
Today I have received the following questions from one of our customers. Are there any best practices or recommendations on how to develop and maintain different versions of a Maximo based solution? How can we do source control? Are there any compare tool/utility to find differences in various version of application (available in different environments)? Expanding a little, in this article I will present my own recipes to cook successful Maximo projects.
July 9, 2013
Commodity Codes in Maximo
Commodity codes are standard classification codes for products and services used to detail where money is spent within a company. In Maximo commodity codes are used to define similar types of items, tools, or services. Commodity codes are also grouped together in commodity groups. A commodity group contains a grouping of individual commodity codes. Commodity groups and codes can be created and managed selecting the Add/Modify Commodity Codes action in the one of following applications: Companies, Item Master, Purchase Orders, Service Items, Tools. This IBM TechNote describes how to manually enter commodity codes.
July 7, 2013
How to import Failure Codes from Excel into Maximo
This article is outdated! Please go to Load failure codes with MxLoader. This entry is part of the Maximo Integration Framework series. Creating and maintaining the hierarchy of failure codes can be quite complex using the standard Failure Codes application. Unfortunately there is no common solution to import Maximo failure codes. This evening I have worked on creating an Excel spreadsheet that can help in such cases. This is an experimental tool. Use with care on development environments.
July 5, 2013
Automatically set Everyplace start center for mobile users
Maximo Everyplace is the easiest solution to go mobile with Maximo however there is one little thing that always annoys me (and mobile users). After having created mobile versions of the Maximo apps, the administrator has to define a mobile start center with a Favorite Applications portlet to access them. Unfortunately, there is no way to set this as a ‘mobile’ Start Center so each user have to click on the Display Settings link and select the Is Mobile check box for the specific start center.
June 26, 2013
Opening of Maximo Summer Series!
Italy may not be the strongest economy in the EU but certainly offers some benefits. I will stay for the next three weeks in a wonderful place in the south of Italy where I can enjoy some sun and sandy beaches like this. Maximo and EAM are both my job and my hobby so I will continue to post new articles and tips from my beach chair. Stay tuned!
June 24, 2013