IBM Support

A Null Pointer Error can occur when COMPCONTACT object is used as main object for escalations and a value is set

Question & Answer


Question

Consider the following use case scenario:
1. Go to Companies application and select GCE company
2. Go to Contacts tab and select B Garret
3. Enter Procurement Card Expiration Date (PROCCARDEXPIREDATE field): 9/16/20
4. Save the record
5. Go to the Actions application and create a new Action: MRTEST
 Object: COMPCONTACT, Type: Set Value, Value: MRTEST, Parameter/Attribute: cellphone
6. Save the record
7. Go to Escalations application and create a new Escalation: MRTEST1
  Applies to: COMPCONTACT, Condition: company = 'GCE', Create successfully entry? Checked
 
In Escalation points table:
 
 Elapsed Time Attribute: PROCCARDEXPIREDATE, Escalation Point Condition: proccardexpiredate < SYSDATE, Elapsed Time Interval: 1.00, Interval Unit of Measure: MINUTES
 
In Actions tab, select MRTEST action created in step 5
8. Save the record.
Check the SystemOut.log file for the NullPointerException (NPE) error message:

[9/17/20 18:54:05:295 BST] 000000ee SystemOut O 17 Sep 2020 18:54:05:295 [ERROR] [MAXIMO] [CID-CRON-6251] Failed to execute action on escalation: {MRTEST1} reference point: {246} for object {COMPCONTACT} with id {18}
java.lang.NullPointerException
    at psdi.app.company.CompContact.modify(CompContact.java:166)
    at psdi.mbo.MboValue.validate(MboValue.java:1678)
    at psdi.mbo.MboValue.setValue(MboValue.java:905)
    at psdi.mbo.MboValue._setValue(MboValue.java:1260)
    at psdi.mbo.MboValue.setValue(MboValue.java:1156)
    at psdi.mbo.Mbo.setValue(Mbo.java:2404)
    at psdi.common.action.Action.executeSetValue(Action.java:498)
    at psdi.common.action.Action.executeAction(Action.java:319)
    at psdi.common.action.Action.executeActionGroup(Action.java:365)
    at psdi.common.action.Action.executeAction(Action.java:331)
    at psdi.common.action.Action.executeAction(Action.java:344)
    at psdi.app.escalation.engine.EscalationTask.executeAction(EscalationTask.java:1482)
    at psdi.app.escalation.engine.EscalationTask.executeActions(EscalationTask.java:1397)
    at psdi.app.escalation.engine.EscalationTask.executeReferencePoint(EscalationTask.java:658)
    at psdi.app.escalation.engine.EscalationTask.processReferencePoint(EscalationTask.java:524)
    at psdi.app.escalation.engine.EscalationTask.performTask(EscalationTask.java:179)
    at psdi.app.escalation.engine.EscalationCronTask.cronAction(EscalationCronTask.java:54)
    at psdi.server.CronTaskManager.callCronMethod(CronTaskManager.java:2479)
    at psdi.server.CronTaskManager.access$1100(CronTaskManager.java:104)
    at psdi.server.CronTaskManager$CronThread.run(CronTaskManager.java:3371)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:522)
    at java.util.concurrent.FutureTask.run(FutureTask.java:277)
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:191)
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1160)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
    at java.lang.Thread.run(Thread.java:812)
[9/17/20 18:54:05:413 BST] 000000ee SystemOut O 17 Sep 2020 18:54:05:413 [INFO] [MAXIMO] [CID-CRON-6251] Correlated data: BEGIN InstanceName:ESCMRTEST1 TaskName:ESCALATION ElapsedTime: 171 ms END

The NPE occurs because the COMPCONTACT object's modify method assumes that there is a parent object.
When the COMPCONTACT object is created as a main object (for example, as the object used in the escalation), there is no parent object.
/* */ public void modify()
/* */ throws MXException, RemoteException
/* */ {
/* 165 */ super.modify();
/* 166 */ getOwner().setValue("changedate", MXServer.getMXServer().getDate(), 2L);
/* 167 */ getOwner().setValue("changeby", getUserName(), 2L);
/* */ }

[{"Type":"SW","Line of Business":{"code":"LOB77","label":"Automation Platform"},"Business Unit":{"code":"BU048","label":"IBM Software"},"Product":{"code":"SSLKT6","label":"IBM Maximo Asset Management"},"ARM Category":[{"code":"a8m50000000CbCqAAK","label":"System-\u003EObject"}],"ARM Case Number":"TS004214537","Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"All Version(s)"},{"Product":{"code":"SSRHPA","label":"IBM Maximo Application Suite"},"Business Unit":{"code":"BU048","label":"IBM Software"},"Component":" ","Platform":[{"code":"","label":""}],"Version":"","Edition":"","Line of Business":{"code":"LOB77","label":"Automation Platform"}},{"Product":{"code":"SSWT9A","label":"IBM Control Desk"},"Business Unit":{"code":"BU048","label":"IBM Software"},"Component":" ","Platform":[{"code":"","label":""}],"Version":"","Edition":"","Line of Business":{"code":"LOB77","label":"Automation Platform"}}]

Log InLog in to view more of this document

This document has the abstract of a technical article that is available to authorized users once you have logged on. Please use Log in button above to access the full document. After log in, if you do not have the right authorization for this document, there will be instructions on what to do next.

Document Information

Modified date:
17 September 2025

UID

ibm16450361