The web blog www.atonepoint.com strives to be a comprehensive guide to SCCD, TADDM, SERVICE NOW and MAXIMO tools. This is a personal site maintained solely by me. I intend to update it regularly.For live updates please follow us on.

Maximo 7.6 - BIRT setup for Report Development

Maximo 7.6 - BIRT Setup for Report Development

This guide provides the steps to configure BIRT for Maximo 7.6 with DB2 database.

Step 1:
Download the latest “birt-report-designer-all-in-one-4.6.0” version of BIRT which support Maximo 7.6 reports from http://www.eclipse.org/downloads/download.php?file=/birt/downloads/drops/R-R1-4.6.0-201606072112/birt-report-designer-all-in-one-4.6.0-20160607-win32.win32.x86_64.zip

Step 2:
Locate the classes used for report scripting in <v76_SMP_folder>\maximo\reports\birt\scriptlibrary\classes and copy into <birt_install_path>\eclipse\plugins\org.eclipse.birt.report.viewer_4.6.0.v201606072122\birt\WEB-INF overwriting classes folder

Step 3
Locate the JDBC driver for DB2 db2jcc.jar in <v76_SMP_folder>\maximo\applications\maximo\lib and copy into <birt_install_path>\eclipse\plugins\org.eclipse.birt.report.viewer_4.6.0.v201606072122\birt\WEB-INF\lib

Step 4
Open the JDBC jar file you copied and extract the contents of the jar file into <birt_install_path>\eclipse\plugins\org.eclipse.birt.report.viewer_4.6.0.v201606072122\birt\WEB-INF\classes

Step 5
Modify the mxreportdatasources.properties in <birt_install_path>\eclipse\plugins\org.eclipse.birt.report.viewer_4.6.0.v201606072122\birt\WEB-INF\classes to include following properties –
      a.   maximoDataSource.url=jdbc:db2://<database_server_host<database_server_port>/<database_sid
  b.   maximoDataSource.driver=com.ibm.db2.jcc.DB2Drive
  c.  maximoDataSource.username=<database_server_username
  d.   maximoDataSource.password=<database_server_password
  e.   maximoDataSource.schemaowner=maximo

Step 6
Create local folders of the Maximo 7.6 libraries and templates 
  1.   Copy the libraries folder from <v76_SMP_folder>\reports\birt\libraries and store them locally
  2.   Copy the templates folder from <v76_SMP_folder>\reports\birt\templates and store them locally.


Step 7
Launch BIRT and create a workspace.Note : Workspace can be created at any local path

Step 8
Set the BIRT Preferences as follows –
  1.    From the Menu, select Window à Preference
  2.    Expand Report Design and select Resource
  3.    Using the 'File System' icon, navigate to the location of your local libraries folder created in step 6
  4.    Select Apply.
  5.    From the Menu, select Window à Preference
  6.    Expand Report Design and select Template
  7.    Using the ‘Select’ icon, navigate to the location of your local templates folder created in step 6.
  8.    Select Apply.


Step 9
Create new project

Step 10
Create new folders for Out of Box reports (<v76_SMP_folder>\maximo\reports\birt\reports) and Custom reports

Step 11
Import reports into respective folders.

Maximo 7.6.0.9 Major bugs with PMWOGENCRONTASK and Person&Person Group roles

Maximo 7.6.0.9 Major bugs

Careful with Maximo 7.6.0.9 version, We found few issues with PMWOGENCRONTASK and Roles(Person and PersonGroup).

Issue 1: PMWOGENCRONTASK deleting worklog data

When PMWOGENCRONTASK runs, it will clear all the data from Worklog table.

Please apply IFIX006 on top of IBM Maximo 7.6.0.9. Otherwise daily we can see empty worklog table.

Please find the below link to download IFix006 for Maximo 7.6.0.9

https://www-945.ibm.com/support/fixcentral/swg/selectFixes?product=ibm%2FTivoli%2FIBM+Maximo+Asset+Management&fixids=7.6.0.9-TIV-MBS-IFIX006&source=SAR&function=fixId&parent=ibm/Tivoli

Issue 2: Person and Person group Role Types.


Whenever we want to send communication with role types person and Person Groups, it will not resolve to send communication.

IBM Provided IFix for this issue.

BMXAA6713E-MBO fetch operation failed in the mboset with the SQL error code 208. Record could not be retrieved from the database

BMXAA6713E-MBO fetch operation failed in the mboset with the SQL error code 208

Symptom

The error above can happen on a Maximo 7.x running on SQL Server and the SQL error 208 happens when you try simple actions like filter by application object description in Security Groups app.

Security Groups --> Everyone --> Applications --> Filter the applications and type in WORKORDER in the MAIN Object box and hit enter. You get the following error:

BMXAA6713E - The MBO fetch operation failed in the mboset with the SQL error code 208. The record could not be retrieved from the database.
See the log file for more details about the error. More information.

In the logs you may see something like this :

[ERROR] [MAXIMO] [CID-UIASYNC-36] BMXAA6714E - The data for the next record in the mboset could not be retrieved for the SQL query select * from maxapps where (exists (select 1 from maximo.maxobject where ((upper (description) like '%WORKORDER%')) and (objectname = maxapps.maintbname))) and (1=1) and (app in ('CONDCODE','DRAWINDEX','ACTIVITY','TZRULE','SETS','PMOOB','SRVCOMMOD','SCHSUPER','MASTERPM','INTSRV','DM','TAGLOCKS','WOTRACKOOB','INTOBJECT','
TOOL','TECHPHONE','SROOB','QUICKREPOO','SCCONFIG','ACTION','BBOARD','FACONFIG','COMPANY','LAUNCH','TKTEMPLATE','OSLCRES','AMCREW','TERMCOND','FO
RGOTPSWD','CUSTAPP','INVUSAGE','MFMAILCFG','VIEWDRFT','RLADMIN','ASSETCAT','POOOB','INTERROR','WFADMIN','RFQ','REPLISTCFG','CONTPURCH','ASSET','LABOROOB','INVENTOR','VIEWSR','ROLE','RECEIPTS','CONTMASTER','INBXCONFIG','PRECAUTN','MOBDATAMAN','SCVNDIFACE','HAZARDS','CREATESROO','KPIGCONFIG','VIEWDR','DEPLCOLLS','INTMSGTRK','INVOICE','INVISSUEOO','WORKVIEW','ESCALATION','AMCREWT','DESIGNER','WOTRACK','KPITPL','IPC','AUTOSCRIPT','SCGLTIFACE','ITEMOOB','KPILCONFIG','SOLUTION','WSREGISTRY','SCTAXMAT','SCFMEA','SHIPREC','CIRCUITS','USER','PM','LOCATION','PO','PERSON','CURRENCY','METER','OSLCPROV','INVOKE','COMMTMPLT','RACEWAYS','CRAFT','SCVOIFACE','CREATEDROO','TOOLINV','JOBPLANOOB','REPORT','MPMAN','PLUSCTMPLT','MOBILEINV','SLA','COGNOSHOME','DOMAINADM','STOREROOM','RECEIPTSOO','COMPANI
ESO','IM','RPTOUTPUT','STARTCNTR','CHRTACCT','QUAL','KPIVIEWER','FAILURE','VIEWSROOB','SECUGRPMOB','INVISSUE','EXCHANGE','EMAILSTNER','CREATEINT','ECOMMADAPT','COLLECTION','PR','INVOICEOOB','SEARCHSOL','JOBPLAN','CRONTASK','SRVAD','RSCONFIG','PERSONGR','CONTLABOR','CONTLEASE','LOCATI_OOB','WORKMAN','VIEWTMPL','QUICKREP','MOBILEINST','ENDPOINT','FMEA','ITEM','TECHTABLET','TECHLITE','SAFEPLAN','RELATION','SELFREG','LOGGING','SRVITEM','MOBERRHND','LABOR','ASSETOOB','CONTWARRTY','LMO','PROPMAINT','ACTIONSCFG','EXTSYSTEM','SECURGROUP','ROUTES','INVENTOROO','KPI','METERGRP','FINCNTRL','RFQOOB','SR','CHANGEPSWD','DEPLGROUPS','CONDEXPMGR','CREATEDR','CREATESR','MULTISITE','COMPMASTER','CALENDR','COND','CONFIGUR','WFDESIGN','LABREP','PUBLISH','CITYPE','MANAGEINT')) order by description OPTION (FAST 1000) . See the log file for more details about the error.
com.microsoft.sqlserver.jdbc.SQLServerException: Invalid object name 'maximo.maxobject'.
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(SQLServerException.java:216)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.getNextResult(SQLServerStatement.java:1515)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.doExecuteCursored(SQLServerStatement.java:1879)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.doExecuteStatement(SQLServerStatement.java:766)
at com.microsoft.sqlserver.jdbc.SQLServerStatement$StmtExecCmd.doExecute(SQLServerStatement.java:689)
at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:5696)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:1715)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeCommand(SQLServerStatement.java:180)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeStatement(SQLServerStatement.java:155)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeQuery(SQLServerStatement.java:616)
at psdi.mbo.MboSet.getNextRecordData(MboSet.java:3186)
at psdi.mbo.MboSet.fetchMbosActual(MboSet.java:2798)
at psdi.mbo.MboSet.fetchMbos(MboSet.java:2755)
at psdi.mbo.MboSet.getMbo(MboSet.java:2002)


If you run the faulty query into SQL without the 'maximo.' before the object name in the SQL Server tool, it works perfectly

Resolving the problem

This could be related with database ownership or a mismatch between the mxe.db.schemaowner / mxe.db.user in the System Properties app and the same info the maximo.properties file.

For example, in your System Properties app in Maximo, you have the following configuration :

mxe.db.schemaowner = dbo
mxe.db.user = maximo

However, in your maximo.properties file, your schema owner is not set to dbo, as in the property below :

mxe.db.schemaowner=maximo


As a solution for this, take these actions :

Please make sure the maximo.properties file is configured with schema owner property set to dbo, then restart both DB and Maximo servers and test.

In maximo.properties file, you should have :

mxe.db.schemaowner=dbo

Ensure there are no other maximo.properties file in the server, as there should not be any duplicates in the server.

Mobile Informer - Interloc

Mobile Informer - Interloc

Mobile Informer is next gen mobility for IBM Maximo, providing access to any information in Maximo, in any chosen configuration - both online or offline -- on today's mobile devices. Mobile Informer manages the heavy-lifting and complexity of Maximo, providing for simple user interfaces that lead to 100% user acceptance.

Installed within minutes as a Maximo application, the Mobile Informer platform gives you 100% user adoption through simple, role-based, native apps. You can experience fast ROI because the Mobile Informer platform sits inside Maximo, needing no additional hardware or software. The Mobile Informer platform can power simple out-of-the-box, turn-key apps, laser-focused industry apps and our flagship purpose-built apps that run on iOS, Android or Windows devices.

Affording you the highest security, Mobile Informer encrypts data from the Mobile Device to Maximo and supports multi-factor authentication like PIV-CAC cards and RSA devices. Mobile Informer also delivers the stability and flexibility your business demands because it follows IBM’s best practices of using MIF web services.

You can now mobilize all Maximo Industry Solutions, add-ons, such as Calibration, Asset Configuration Management (ACM), or Linear, and any of your Maximo modifications with Mobile Informer. With Mobile Informer, your “in the field” workforce don’t ever need to learn Maximo to do their job. You can experience maximum user acceptance with minimal training.

Functional Details

  • Out of the box work management, self-service requestor, airport inspections, and inventory.
  • Online & Offline capability, even GIS.
  • Native support available iOS, Android, Windows.
  • GPS integration of Maximo asset and location attributes into mobile maps.
  • Easy installation and maintenance within Maximo.
  • Seamless, native mobile work management app that provides transparent online/offline function powered by the Mobile Informer platform.
  • Installed within minutes for fast productivity gain; no middleware software or servers to maintain.
  • Simple user interface designed specifically for Maximo Work Management tasks providing 100% user acceptance.
  • Leverages device-specific functions including attach docs, map views and touch ID authentication.
  • Provides added security through support of multi-factor authentication (PIV-CAC).
  • Built in Mobile Device Management (MDM) capabilities.
  • Transparent offline/online function with seamless synchronization.
  • Native device applications that provide fast performance and take full use of device capabilities, including touch ID authentication, cameras, location-based services.

Interloc Mobile Informer's unique features:

  • Native client development.
  • No middleware.
  • Push notifications.
  • Transparent offline capability.
  • Use of Maximo MBOs and security.
  • User-specific data Management within Maximo.
  • Accuracy, real-time data updates and security.
  • Performing exact processes on mobile devices.
  • User acceptance and long training cycles.

Industries and Solution Areas:

  • Aerospace & Defense Industry.
  • Automotive Industry.
  • Banking Industry.
  • Chemicals & Petroleum Industry.
  • Consumer Products Industry.
  • Energy & Utilities Industry.
  • Government Central/Federal industry.
  • Government, State/Provincial/Local Industry.
  • Healthcare Industry.
  • Industrial Products Industry.
  • Life Sciences Industry.
  • Travel & Transportation Industry.

DB2 Vs Oracle Database for Maximo


DB2 Vs Oracle Database for Maximo
IBM supports the use of three (3) core database platforms with the EAM product suite. The EAM architecture uses a close variant of ANSI SQL through Java Database Connectivity (JDBC) to store and retrieve data in databases. This design provides flexibility in supporting multiple database platforms but limitations in leveraging database platform specific functionality such as server side stored procedures.

For this reason, all database platforms used with this technology are not created equal. A detailed understanding of a client’s existing platform knowledge, the projected load expected, and the best support model for this implementation must be considered in the selection of the database platform.
IBM DB2 is one of the most commonly selected platforms. Because IBM can provide a single vendor option for the software stack, it is common for clients to select IBM WebSphere as the application server, IBM DB2 as the database and IBM Maximo as the Asset Management software. This single provider approach often reduces the cost of the solution through bundling, improves the supportability of the software stack, and eliminates communication barriers between vendors.
Oracle Database Server is a powerful platform option with the IBM Maximo environment. Oracle is a leading producer of database software with high transaction rates and many capabilities for fault tolerance, mirroring and scalability.

Feature
Oracle
DB2
Concurrency Model
Multi-version read consistency.
No.

Non-Escalating row-level locking
Locks escalate.
Clustered configurations
Transparent scalability with Real Application Clusters.
Rigid data partitioning required with DB2.
Indexing capabilities
Wide variety of indexing schemes.
Only B-Tree and Dynamic Bitmap Indexes.
Additional data warehousing capabilities
Multi-table INSERT
Not supported.
Self-tuning capabilities
Automatic Performance Diagnosis
Automatic SQL Tuning
Self-tuning memory, free space, and I/O management
No equivalent or limited capabilities.
Security
Oracle handles its own security within the DBMS itself and has more options for locking down certain rows or columns within the database than DB2 does.
DB2 tends to rely more on the security of the underlying OS platform.




Note: Major factors to decide database selection is:
  • Cost
  • Performance
  • No of users
  • Transactions
  • Incoming interfaced data from External System
  • Scheduled Cron tasks and Escalations.
  • Support model from product vendor
  • Client’s existing platform knowledge   


Option 1: Less users, Customer concern about cost. We can recommend DB2.
Option 2: Less users, Performance matters and if customer not concern about cost. We can recommend Oracle.
Option 3: More users, Performance Matters and customer not concern about cost. Always we can recommend Oracle.