Tuesday 24 May 2016

Asset Field Automatically Filled in PM Work Order

Problem(Abstract)

In Maximo, if you are generating a work order from a PM record, the asset field will be automatically populated on the generated work order if the location field if the PM has a single asset on it.

Resolving the problem

Regarding the PM generated work order filling asset field automatically, the system automatically adds a single asset for you on tasks generated from job plans on PM WOs even though no asset was specified on either (just a location) if there is only one asset in the hierarchy under that location.

When creating a PM for a location who has only one associated asset, will generate a work order with the location and the asset.

The reason for this is that the location and the asset have a one to one relationship.

There are a few Workarounds;

1. Associate another ASSET/EQUIPMENT to the LOCATION (even if it's a DUMMY asset)

2. Remove the ASSET/EQUIPMENT from the workorder when the workorder is Generated


If the workorder is not editable due to the workorder being in WSCH or in APPR status, you can do the following;

Change the WPEDIT settings for the ASSET Field to make it Editable in APPR status

This has been reported before, and the following enhancement request has been previously submitted:

MR091907688 - Issue WO against location having one and only one asset

[Default behavior of standard Maximo]

(1) There exists one-to-one correspondence between asset and its associated location. When PM work order against the location is created by CronTask, due to that associated asset is automatically filled in by CronTask, auto-filled asset must be discarded manually. If an user specifies location upon creating PM work order against the location, PM work order application automatically fills in the associated asset in asset field on PM work order detail screen.

(2) When PM work order is manually created against location with only one asset associated as its child, the same situation occurs to PM work order. PM work order is issued against the asset instead of location which is one level upper in the hierarchy, a user intends to create PM work order against the location, though.


[Enhancement Request]
In work order tracking application, discard auto fill for asset field when newly creating PM work order against location having only one asset as its child.

This enhancement request has been acknowledged.

Should you need any assistance, please contact IBM Maximo Support

Error Trying to Change Work Order Status to Closed

Problem(Abstract)

BMXAA4590E - Could not change Work Order XXXX status to CLOSE. BMXAA4129E - Record already exists for Site=TEST, Work Order=XXXX, Asset=YYYY.

Symptom

Unable to change work orders to closed status.

Cause

This can be caused by closing work orders via the application and then re-opening them via the database.

Diagnosing the problem

Run the following select statements:
Select * from ASSETHIERARCHY where wonum = 'XXXX' and siteid = 'TEST';

Select * from ASSETHISTORY where wonum = 'XXXX' and siteid = 'TEST';

If the work order is still open/completed but not closed there should be no rows in the database for the ASSETHIEARCHY table.

Resolving the problem

You can either update the row by adding a value to the wonum so that the row is retained for historical purposes.....

update assethierarchy set wonum = 'XXXXA' where wonum = 'XXXX'
and siteid = 'TEST' and assetnum = 'YYYY';

......or simply delete the row.

Return to the application and attempt to close the work order.

Error: BMXAA4590E - Could Not Change Work Status to CLOSE


Problem(Abstract)

Unable to close a work order.

Symptom

When trying to change work order status from Complete to Close, you receive the error:
BMXAA4590E Could not change Work Order status to Close.
BMXAA4129E Record already exists for site=BEDFORD, Work Order=12345, Asset=
TRUCK.
Confirm that the key value for the given record is unique.

Cause

This could be caused by a data issue. If a record is set to complete via the front end it may actually be closed in the WOSTATUS table.

The same work order record exists in both ASSETHIERARCHY and ASSETHISTORY tables with the same asset number.

Resolving the problem

Delete the record from the ASSETHIERARCHY and ASSETHISTORY tables. At this point, you should be able to close the work order without issue

Creating summary or detail Query-Based Reports in cloned (duplicated) applications


Technote (FAQ)


Question

From Maximo 7.1.1.6 onwards, you can create Summary or Detail Query-Based-Report (QBR). But in cloned applications, the option to select the type of QBR is disabled. How can you enable that option?

Answer

The steps below will show how to create the Summary or Detail QBR in cloned applications with an example:
1. Go to Application Designer - Open the WOTRACK application.
2. Select Action - Duplicate Application Definition - Create WOTRACK2 application with the description 'Work Order Tracking 2'.
3. Go to Security Group - Give adequate privileges for the WOTRACK2 application to the security group, for example MAXADMIN.
4. Login again and open the WOTRACK2 application.
5. Click on the 'Create Report' toolbar button to create the Query-Based-Report.
As you can see below, the option to be able to select the style of report ( Summary or Detail Report) is not enabled.



By default, all cloned (duplicated) applications have the same problem.
In order to enable the option above, please follow the steps below:
When the WOTRACK2 application is cloned from WOTRACK , the WOTRACK2 application has the same report object as the original application WOTRACK.
For example:



1. Create the report object for the cloned application (WOTRACK2).
Go to the Integration / Object Structures application - Find 'REP_WORKORDER' .
Based on 'REP_WORKORDER', create the new report object for WOTRACK2 called 'REP_WO2' (you can also duplicate 'REP_WORKORDER' to create 'REP_WO2' )
-- Object Structure : REP_WO2
-- Description : Work Order Details 2
-- Consumed By : REPORTING
-- Application : WOTRACK2


2. Save the record.
3. Go to the Report Administration application.
4. Run Select Action / Set Report Object Structure Security.
5. Filter application with the value 'Work Order Tracking 2' . You can see the newly-created report object 'REP_WO2' for WOTRACK2 application.
P.S. : the WOTRACK2 application's description is 'Work Order Tracking 2'.
The REP_WO2 report object's description is 'Work Order Details 2'.



6. Now you need to define any security groups who can access the newly-created report object .
- Click New Row
- Add the 'MAXADMIN' group.



7. Go to the 'Work Order Tracking 2' application (WOTRACK2)
Try to run 'Create Report'. Now you can select the style for the QBR report (Summary or Detail).

Setting up Password Expiration in Maximo


Question

How to set up password expiration in Maximo.

Answer

Password Expiration can be set in a few places in Maximo. The default setting is set In the Security Groups application, in the Select Action menu, using the Security Controls option.
All new groups created after this setting is made will inherit this value, however any groups that existed prior to this setting being in place will not get updated.
This value only gets referenced when a new group is created.
If a group is created and has inherited the value, then the value is changed in the Security Controls option, the groups that existed prior to this change will not be updated.
For this reason, when setting up Maximo for the first time, it may be better to decide on a default password expiration value and have that value in place prior to creating your groups.
Once the value for a group has been set, or if no value has been set prior to creating the group, you can update the password expiration setting by using the Override Password Duration option in the Select Action menu of Security Groups.
This also allows you set a specific password duration at a group level different from the default.
Here is a breakdown of how the password expiration is handled by Maximo:
Each group has a password expiration value.
If a user belongs to more than one group, the longest expiration period is the one inherited.
For example, if a user belongs to one group that has a setting of 90 days and another that has a value of 30 days, the user inherits a 90 day expiration setting.
In the case of a user belonging to any groups not containing a password expiration, the user's password will never expire.
You would need to use the Override Password Duration option to set an expiration value for each group the user belongs to.
Once the password expiration settings are set, the clock starts to count down after the password is changed with the expiration settings in place.
NOTE:
If the user existed before the password expiration is set, the password will not expire because the timer does not start until the next password change after the password expiration has been set.
The remedy is to change the user's password after setting the password expiration.
Removing the user from the group the expiration date is set on and adding them back will also work.

Difference between ear,jar,war files

•    .jar files: - It’s a collection java class files.
•    .war files: - It’s a collection of web files (XML, JSP, HTML etc.).
•    .ear files: - it’s a collection of .jar files and .war files.

Create attachments through MIF

Starting from Maximo 7.1.1.6 it is possible to add an attachment (aka doclink) to an objects through MIF.
In this example I will show how to add a short text file to an asset record.

First of all you have to create an Object Structure with DOCLINK as a child object of ASSET.



Now you can use HTTP or REST calls to add an attachment to an asset. If you are not familiar with this things I suggest you to take a look at this post.

After server attempts I have managed to find the minumum set of attributes to do the job.

<SyncMYASSET xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.ibm.com/maximo">
<MYASSETSet>
<ASSET action="AddChange">
<ASSETNUM>13150</ASSETNUM>
<SITEID>BEDFORD</SITEID>
  <DOCLINKS>
    <ADDINFO>1</ADDINFO>
    <URLTYPE>FILE</URLTYPE>
    <DOCTYPE>Attachments</DOCTYPE>
    <DESCRIPTION>test.txt</DESCRIPTION>
    <DOCUMENTDATA>MTIzNA==</DOCUMENTDATA>
  </DOCLINKS>
</ASSET>
</MYASSETSet>
</SyncMYASSET>

Modify the XML above for your case:
  • ASSETNUM and SITE uniquely identify the asset record
  • DOCTYPE is the folder where you want to put your attachment
  • DESCRIPTION is the descriptive name of the file
  • DOCUMENTDATA is the binary content of your file encoded with Base64 algorithm

How to get Service Request Contains Attachments

1. Create one new field to display Attachment Count in Service Request Application.
    Attachment Count(Attribute Name-XYZ) 
2. Create Automation Script to get count and Display in Attachment Count Field.
3. Go To->System Configuration->Platform Configuration->Automation Scripts
4. Create Object Launch Point with below details
    Script Name: Test
    Script Description: Test 
    Script Language: Jython
    Object : SR
    Events-select Save radio button,on Save Event select 3 checkboxes(add,update,delete) and   selectBefore Save Radio button.
5.Click Next and provide launch point details as mentioned below
   Launchpoint Name: Test
   Description: Test
6. Click Next and Copy the code ,Click On create. 
   
from psdi.mbo import MboSet
from psdi.mbo import MboConstants
from psdi.mbo import Mbo

ticid=mbo.getString("TICKETUID")
orgcls=mbo.getString("CLASS")
docquery="ownerid='"+ticid+"'"+ "AND OWNERTABLE='"+orgcls+"'"
docMboSet=mbo.getMboSet("$$DOCLINKS","DOCLINKS",docquery)
count=docMboSet.count()
count1=str(count)
mbo.setValue("XYZ",count1)

Calculate Actual Spent Time-Service Request

from psdi.util.logging import MXLogger
from psdi.util.logging import MXLoggerFactory
from psdi.mbo import MboConstants

print "CALCSPENTTIME - BEGIN"
#print "Calculate Duration"

#Log for debugging
#logger = MXLoggerFactory.getLogger("maximo.script");
#logger.debug("ScriptName" + launchPoint)

actual_start = mbo.getDate("ACTUALSTART")
actual_finish = mbo.getDate("ACTUALFINISH")
if (actual_start is not None and actual_finish is not None):
    actual_duration = (actual_finish.getTime() - actual_start.getTime())/3600000.0
    mbo.setValue("ACTDUR", actual_duration,MboConstants.NOACCESSCHECK)

#print "End Calculate Duration"
print "CALCSPENTTIME - END"

IBM SmartCloud Control Desk Online Training

IBM SCCD Online Training Registration Types:

  • Instructor-Led  Regular  Online (Limited Persons Per Group) Training
  • Instructor-Led Online On Demand Training ( 1-1  or Corporate Training )

  • Contact@kumarmaximo8@gmail.com


Saturday 7 May 2016

Overview of Maximo Industry Solutions and Extensions

Overview of Maximo Industry Solutions and Extensions

After 2 years of blogging on MaximoDev and more than 100 posts to explain how to configure and customize Maximo I want to spend few minutes to explain how to NOT customize Maximo.
Customizing Maximo may be challenging and fun but should always taken carefully because it can inject problems and generate additional costs and risks when upgrading.

One of the most interesting features of Maximo is its ecosystem of extensions, add-ons, integration modules and industry solutions. This ecosystem is populated by many IBM and non-IBM products and solutions that allows to extend the product's core features.
The following picture describes the IBM portfolio of Maximo extensions and industry solutions.



Before starting to implement your own solution to a common problem, take a look at this list of the available Maximo Industry Solutions and Extensions.

Add-ons

Industry Solutions
  • Maximo for Transportation helps address stringent regulatory requirements and managing all transportation asset types, including fleets of cars, trucks, buses, locomotives and rail vehicles, aircraft and vessels.
  • Maximo for Aviation MRO is designed to transform the managing of maintenance, repair, and overhaul (MRO) activities for service providers working in the Aviation industry.
  • Oil & Gas provides oil & gas companies with best practices to help improve the productivity and efficiency of their critical assets.
  • Maximo for Utilities supports work and asset management for transmission and distribution in water, gas and electric utilities.
  • Maximo for Nuclear Power Supports industry-specific requirements by modeling nuclear objects and business processes, including tech specs, lineups, clearances, permits, surveillance testing, and corrective actions.
  • Maximo for Life Sciences Helps monitor, track and manage equipment, facilities, mobile and IT assets on a single platform and be fully FDA compliant. Consolidates solutions under one umbrella – asset and service management, calibration, mobile calibration, CAPA support – and integrates with RFID, SCADA systems, LIMS.

Mobile Solutions
  • Maximo Anywhere is the brand new mobile solution for Maximo built on IBM Mobile First platform..
  • Maximo Mobile Suite is a family of solutions to provide remote access to the Maximo Asset Management processes for work, asset and inventory management.
  • Maximo Everyplace provides the ability to use Maximo from supported mobile devices and smartphones using a web browser.

Free Integration Modules on ISM Library

Free Maximo Training Courses

Are you looking for Maximo training courses?  Well look no further because the Watson Internet of Things Academy is here.
Free courses include:
  • Maximo 7.6 – New Features
  • Maximo 7.6 – Work Management
  • Maximo 7.6 – Safety Management
  • Maximo 7.6 – Inventory Management
  • Maximo 7.6 – Contract Management
  • Maximo 7.6 – Workflows
  • Maximo 7.6 – Database Configuration
  • Maximo 7.6 – Infrastructure and Implementation Certificate Study Guide
  • Maximo 7.6 – Reporting
  • and many more…

MxLoader now supports Web Services

MxLoader now supports Web Services

By default MxLoader uses plain Object Services through HTTP calls. These services are automatically exposed when an Object Structure is created in Maximo. Using Web Services is possible to have more control over data defining processing classes, user exit classes, XSL maps, and processing rules.

MxLoader 5.1 now allows to use Web Services as well. To enable MxLoader to work with Web Services you need two settings in the Config sheet:
  • Server address must be changed to http://[MXHOST]/meaweb/services/
  • Use Web Service option must be set to ‘True’
When a WebService is defined from an Object Structure you can just specify the WS name in cell A2 as you normally do. However, when the WebService is defined from an Enterprise Service you have to specify the web service name with a dotted notation in cell A2 with format [EXTSYSNAME]_[ESNAME].[OSNAME]. For example, if your External System is ‘MYEXTSYS’ your Enterprise Service is named ‘MYESVC’ and based on ‘MXASSET’ you have to specify MYEXTSYS_MYESVC.MXASSET in cell A2.

You can download MxLoader from here.
 Please use MxLoader forum to report any issue.

Display bulletin board messages opened by default

Display bullettin board messages opened by default

A common requirement is to display the bulletin board messages in a more visible way.
A simple solution is to display the formatted message opened by default.


To achieve this you can edit the following JSP file: [SMP]\applications\maximo\maximouiweb\webmodule\webclient\components\bulletinboard.jsp

On my Maximo 7.5.0.6 i have this line of code at row 335:

style="display:none;overflow:visible"


If you change the display attribute to 'inline' it will show the full message without clicking.

style="display:inline;overflow:visible"


Rebuild and redeploy maximo.ear file and you are done.

Useful Links

Useful Links

IBM Documentation

IBM Resources

Unofficial Maximo information sources

Public Demo sites

Home

Welcome to IBM Maximo Development And Support blog.

When I started working on Maximo/TPAE products I was feeling excited about the new challenge but I often loose myself in tons of product documentation. In many cases I have tried to search on the web to solve specific problems and I seldom found answers to my questions. That's why I decided to create my blog to discuss and share IBM Maximo features, customization and development topics.

IBM Readme for IBM Maximo Asset Management 7.6.1.3 Fix Pack

  Fix Readme Abstract This fix pack updates IBM® Maximo® Asset Management version 7.6.1, 7.6.1.1, and 7.6.1.2 Content IBM Maximo Asset Manag...