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
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);
/* */ }
/* */ 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.
Was this topic helpful?
Document Information
Modified date:
17 September 2025
UID
ibm16450361