Blog
Analyze groups to users association
The following SQL query lists all the security groups and the associated users. SELECT maxgroup.groupname, maxgroup.description, maxuser.userid, maxuser.loginid, maxuser.defsiteFROM maxgroupJOIN groupuser ON groupuser.groupname=maxgroup.groupnameJOIN maxuser ON maxuser.userid=groupuser.useridORDER BY maxgroup.groupname, maxuser.userid; The best approach to analyze the results is to load them into Excel and create a pivot table.
October 30, 2013
Automatically refresh Maximo Start Center
Users that heavily rely on StartCenters to check for incoming tickets or work orders sometimes ask if the StartCenter can automatically refresh itself. To accomplish this you can inject a small JavaScript into the StartCenter JSP code. Backup the following file and open it with a text editor: [SMPDIR]\maximo\applications\maximo\ maximouiweb\webmodule\webclient\components\startcenter-options.jsp Search for a row like this <table ... Add the following code just before that row.
October 21, 2013
Object Quick Summary
One of the customer that I’m working with is heavily relying on work logs. Unfortunately, the work logs are displayed in a standard table so there is no way of quickly displaying all the logs entered by the users. The solution I have designed is a QuickSummary tab in the Work Order Tracking application that displays the main attributes of the selected work order together with the historical work logs in one single text box.
October 18, 2013
Implementing a Smart Search feature
Using Maximo search functionality can be sometimes complex or even frustrating. Several customers have asked me if there is a simple Google-like functionality to search for all the objects that contains a specific set of words. This article describes how to implement such feature in the Work Order Tracking application. The solution described in this tutorial allows to display a simple search dialog when the user clicks on a specific button on the toolbar. When the user presses the ‘Search’ button the application will list the work orders containing all the keywords in any of the following fields: description, long description, location, asset, work logs. Note that this is not achievable using the Advanced Search dialog since this will search with an AND logic instead of an OR logic implemented here.
October 17, 2013
Display a summary of an object
NOTE: This techniques requires Java programming. A similar article describes how to achieve the same results with scripting. One of the customer that I’m working with is heavily relying on work logs. Unfortunately, the work logs are displayed in a standard table so there is no way of quickly displaying all the logs entered by the users. The solution I have designed is a Summary tab in the Work Order Tracking application that displays the main attributes of the selected work order together with the historical work logs in one single text box.
October 16, 2013
How to implement stateful MBOs
This entry is part of the Maximo Java Development series. Many objects in Maximo has a STATUS attribute that can be changed using the status icon or the change status menu option. The STATUS attribute is always associated with a synonym domain that has the valid statuses for the object. Examples of these domains are: POSTATUS for the PO (Purchase Order) object WOSTATUS for the WORKORDER object The objects with changes of status must inherit from the StatefulMbo class which provides the basic functionality to change the status. For example the WORKORDER object has the following class hierarchy:
October 15, 2013
MBOs attribute current, previous, initial values
When implementing business logic in Java code it may be useful to compare the value of an attribute to it’s previous or initial value. This is particularly useful when overriding MboValueAdapter.action() method to validate the new value of an attribute as soon as it changes. Look at how the three values are retrieved in the following example. @Overridepublic void action() throws MXException, RemoteException{ super.action(); String currVal = getMboValue().getString(); String oldVal = getMboValue().getPreviousValue().asString(); String initialVal = getMboValue().getInitialValue().asString(); if (!currVal.equals(oldVal)) { ... }}
October 13, 2013
MaximoDev Facts and Stats (September 2013)
Checkout the updated MaximoDev stats. MaximoDev Facts and Stats (September 2013) from Bruno Portaluri
October 7, 2013
System requirements for IBM Maximo and SmartCloud Control Desk
Sometimes is a bit hard to find an exact list of system requirements and prerequisites for IBM Maximo and SmartCloud Control Desk (SCCD) products. If you want to know what are the supported operating systems and middleware versions here are the most important sources of information: IBM SmartCloud Control Desk system requirements IBM Maximo system requirements Product Configuration Matrix for Maximo Asset Management, Maximo Asset Management for IT, Tivoli Service Request Manager, Tivoli Change and Configuration Management Database and SmartCloud Control Desk products
October 6, 2013
Translate workflow messages and labels
Translated messages and labels are not enabled by default on Maximo workflows. This means that if you have a multilanguage environment all the users will see the same task descriptions interaction messages when using workflows. To be able to insert translated labels and messages for workflows you have to enable the multi-language option for the following attributes: WFACTION.INSTRUCTION WFASSIGNMENT.DESCRIPTION WFINTERACTION.DIRECTIONS WFINTERACTION.DIRECTIONS_LONGDESCRIPTION To set multi-language option go to System Configuration > Platform Configuration > Database Configuration find each attribute and set the ‘Multilanguage in use?’ flag. Enable the admin-mode and apply database changes. After having done this you should be able to login as MAXADMIN with a different language and set different labels for actions and tasks using the standard ‘Workflow Designer’.
September 30, 2013