在Maximo 7.6.1.1中:
我希望创建一个使用自定义公式函数/自动化脚本的属性公式。
我尝试用下面的步骤来完成它,但不幸的是,当我尝试在WO跟踪中使用它时,我遇到了一个错误:
BMXAA3761E - The event has failed. Ensure that the event is registered correctly.
See the log file in the APP HOME directory for more details about the error.
null步骤:




来自SystemOut日志:
Caused by:
java.lang.NullPointerException
at com.ibm.tivoli.maximo.expression.FormulaMboEventListener.preSaveEventAction(FormulaMboEventListener.java:213)
at psdi.server.event.EventTopic$Subscription.preSaveEventAction(EventTopic.java:731)
at psdi.server.event.EventTopic.preSaveEventAction(EventTopic.java:342)有人知道我为什么会犯这个错误吗?
发布于 2020-01-24 13:41:06
不知道你想解决什么问题。如果你只是在玩公式,我对它没有多少经验,但据我所知,它只能返回一个数字。因此返回null是不可能的。(尽管有一个SETVALUENULL函数可以用来将不同的字段设置为null,但函数本身返回0和1)。
如果目的是将X,Y坐标值从Asset/Location/Service地址返回到工作顺序,并在没有值时将其设置为null,那么我们还是使用标准公式,当所有内容都为空时,让它返回0如何?然后,在ERI属性的“验证”事件上创建一个单独的属性启动点脚本,检查该值是否为0,然后使用以下代码用null覆盖它:
if mbo.getDouble("eri") == 0:
mbo.setValueNull("eri")发布于 2020-01-24 14:54:38
据我所见,这个preSaveEventAction方法并不期望有一个null值并自动崩溃。查看Javadoc中的com.ibm.tivoli.maximo.expression.Expression.eval()方法。它返回一个BigDecimal,这是一个公式应该返回一个数字的线索。
https://developer.ibm.com/static/site-id/155/maximodev/7609/maximocore/businessobjects/
因此,您获得此错误的原因似乎是因为您的脚本返回了一个无效的值,与这里的Can Maximo formulas return null?相同
https://stackoverflow.com/questions/59888911
复制相似问题