IBM Support

Change status action with conditions that have :&APPNAME variable not working in escalations

Troubleshooting


Problem

You may face an issue scenario where you are getting an exception error in the logs when you try to have an escalation change the status of a record, in this case a workorder, based on a condition that uses the substitution variable :&APPNAME

psdi.util.MXApplicationException: BMXAA4590E - Could not change Work Order 1202 status to BOBA.
BMXAA4190E - Status BOBA is not in the value list.

This may lead users to think the condition expression on domain is incorrectly invoked when using escalation/action.

Symptom

You have the WOTRACK application.
In the domain WOSTATUS we have added a status called BOBA, which is an synonym for WMATL.
On this status (BOBA) we have added a condition saying that the status should only show if the appname is WOTRACK:
:&APPNAME&='WOTRACK'
We then have an escalation that syncs status between service requests and the corresponding work order.
When the action for this escalation is triggered, we get the following error:
psdi.util.MXApplicationException: BMXAA4590E - Could not change Work Order 1202 status to BOBA.
BMXAA4190E - Status BOBA is not in the value list.

STEPS TO REPLICATE :

0-Open Maximo as maxadmin

1-Go to conditional expression manager application and ensure that you create a conditional expression that uses the substitution variable for the application name as you can see below (always evaluate checked):

:&APPNAME&='WOTRACK'

2-Go to Domains application and open WOSTATUS domain

3-Ensure that you have a synonym domain for the APPR internal value and you can call it BOBA

4-Add the condition to the new domain value created

5-Click Ok to save domain changes

6- Go to Work order application and create a new work order and make sure that status is waiting for approval. Take note of the work order number.

7- Go to Actions application and create a new action for the object WORKORDER, type is CHANGE STATUS, and value is BOBA.

8- Go to Escalations application and create a new escalation that applies to WORKORDER object and make a condition to filter for the work order that you just created, for example WONUM='1202'

9- Make sure that in the actions section you use the newly created action make sure that the escalation has a frequency schedule of 20s and is active


10- Ensure that the escalation is running by monitoring the Last Run Time field after a couple minutes.

11-Once the Last Run Time field is updated with a value, go to Work Order Tracking application, find your workorder and check if the status got changed.
You will see that the status did NOT get changed, and errors will be seen in the logs:

[ERROR] [MAXIMO] [CID-CRON-546] Failed to execute action on escalation: {1037} reference point: {1,087} for object {WORKORDER} with id {146775}
psdi.util.MXApplicationException: BMXAA4590E - Could not change Work Order 1202 status to BOBA.
BMXAA4190E - Status BOBA is not in the value list.
at psdi.app.workorder.WO.changeStatus(WO.java:8763)
at psdi.plust.app.workorder.PlusTWO.changeStatus(PlusTWO.java:2778)
at psdi.common.action.Action.executeChangeStatus(Action.java:535)
at psdi.common.action.Action.executeAction(Action.java:323)
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:2566)
at psdi.server.CronTaskManager.access$1100(CronTaskManager.java:106)
at psdi.server.CronTaskManager$CronThread.run(CronTaskManager.java:3476)
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:820)
 

Document Location

Worldwide


[{"Type":"MASTER","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":"a8m50000000CbSpAAK","label":"System Administration-\u003ECron Task Setup"}],"ARM Case Number":"","Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"7.6.1"}]

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

More support for:
IBM Maximo Asset Management

Component:
System Administration->Cron Task Setup

Software version:
7.6.1

Document number:
7027815

Modified date:
16 August 2023

UID

ibm17027815

Manage My Notification Subscriptions