IBM Support

Date field calculation issue when using Daylight Savings in MAXIMO

Technical Blog Post


Abstract

Date field calculation issue when using Daylight Savings in MAXIMO

Body

Daytime and Date field calculation issue when using Daylight Savings in MAXIMO

 

When using daylight savings option in MAXIMO, bug occurs in date and date time calculation where 1 hour is added or deducted from the date, and this can result in completely different date when 1 hour is deducted from 00:00, so it becomes 23:00 on the previous date. This bug affects all applications in MAXIMO including the Invoices and Scheduler, where it can create numerous issues, since dates will not be aligned and transactions can get registered in different financial period. This can lead to reconciliation and scheduling errors, where period balances do not match or work orders end up scheduled on previous day when asset is not available.

 

There are number of issues reported about this including these:

IZ88935: TIMEZONE PROBLEM IN MAXIMO INTEGRATION FRAMEWORK

http://www-01.ibm.com/support/docview.wss?uid=swg1IZ88935

 

IV42059: CALENDAR DISPLAYS WORK TIMES INCORRECTLY FOR MONTHS WHERE DAYLIGHT SAVINGS STARTS AND FINISHES

http://www-01.ibm.com/support/docview.wss?uid=swg1IV42059

 

Java Daylight Saving Time: Known problems and workarounds

/support/pages/node/87495

 

Day Light Savings Time update with the ICU4J Time Zone Update Utility.

/support/pages/node/1133379

 

Resolving ICU4J class conflicts between Alphablox and WebSphere Application Server

/support/pages/node/99945

 

Dates are not shown correctly in the Calendars application

/support/pages/node/512281

 

Cause

MAXIMO uses the Java ICU4J library to calculate date operations, but there is a bug in this library and both MAXIMO and WebSphere include copy of this library which contains this bug. This library needs to be updated in both MAXIMO and WebSphere. Location and names used to store ICU4J library are given below.

 

In Web Sphere

\WebSphere\AppServer\plugins\com.ibm.icu.jar                           

In MAXIMO

\maximo\applications\maximo\lib\icu4j.jar                              

\maximo\applications\maximo\maximouiweb\webmodule\webclient\applets\scheduler\icu4j-4_0_1.jar

 

IMPORTANT NOTE: Replacing new versions of the ICU4J library in MAXIMO will not fix the issue, since JAR file in WebSphere is first on the class path and will be loaded before WebSphere even tries to load JAR files from MAXIMO. Since this library is already available in WebSphere and has priority on the CLASSPATH, the JAR files from MAXIMO will never get loaded. Hence, in order to fix this issue, JAR file in WebSphere needs to be updated as well, or WebSphere class path needs to be changed.

 

/support/pages/node/99945

 

Solution

Solution for this issueis to download up to date copy of ICU4J files and replace all three above files with newly downloaded one. You can follow following steps to download ICU4J library and copy it into WebSphere and MAXIMO.

 

1. Go to website and select download link                              

http://site.icu-project.org/download

 

2. Click on the latest version of ICU4J (currently 52.1)               

http://site.icu-project.org/download/52#TOC-ICU4J-Download

 

3. Click on icu4j*.jar file (currently it should be icu4j-52_1.jar)    

http://download.icu-project.org/files/icu4j/52.1/icu4j-52_1.jar

 

4. Download file and rename it to "com.ibm.icu.jar"                    

 

5. Stop all Web Sphere services                                        

 

6. Go to the following folder under Web Sphere root folder             

   \WebSphere\AppServer\plugins\com.ibm.icu.jar                          

 

7. Rename current file to com.ibm.icu.old_jar and copy new file instead

 

8. Steps to fix MAXIMO are to copy same JAR file over these libraries in MAXIMO.

\maximo\applications\maximo\lib\icu4j.jar                              

\maximo\applications\maximo\maximouiweb\webmodule\webclient\applets\scheduler\icu4j-4_0_1.jar

 

NOTE: We expect that MAXIMO team will provide new releases of MAXIMO with updated versions of these libraries.

However, WebSphere team has suggested that applications should amend CLASSPATH in WebSphere to ensure application libraries are loaded first as suggested in the this article.

/support/pages/node/99945

 

 

 

[{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSLKT6","label":"IBM Maximo Asset Management"},"Component":"","Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"","Edition":"","Line of Business":{"code":"LOB59","label":"Sustainability Software"}}]

UID

ibm11133019