首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用自定义公式函数/自动化脚本的Maximo公式?

使用自定义公式函数/自动化脚本的Maximo公式?
EN

Stack Overflow用户
提问于 2020-01-24 00:27:16
回答 2查看 1.6K关注 0票数 2

在Maximo 7.6.1.1中:

我希望创建一个使用自定义公式函数/自动化脚本的属性公式。

我尝试用下面的步骤来完成它,但不幸的是,当我尝试在WO跟踪中使用它时,我遇到了一个错误:

代码语言:javascript
运行
复制
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

步骤:

  1. 创建一个自动化脚本:

  1. 添加/修改公式函数:

  1. 添加/修改属性公式:

  1. 创建一个WO。保存它,以便属性公式是invoked.
  2. Error:

来自SystemOut日志:

代码语言:javascript
运行
复制
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)

有人知道我为什么会犯这个错误吗?

相关问题:Can Maximo formulas return null?

EN

回答 2

Stack Overflow用户

发布于 2020-01-24 13:41:06

不知道你想解决什么问题。如果你只是在玩公式,我对它没有多少经验,但据我所知,它只能返回一个数字。因此返回null是不可能的。(尽管有一个SETVALUENULL函数可以用来将不同的字段设置为null,但函数本身返回0和1)。

如果目的是将X,Y坐标值从Asset/Location/Service地址返回到工作顺序,并在没有值时将其设置为null,那么我们还是使用标准公式,当所有内容都为空时,让它返回0如何?然后,在ERI属性的“验证”事件上创建一个单独的属性启动点脚本,检查该值是否为0,然后使用以下代码用null覆盖它:

代码语言:javascript
运行
复制
    if mbo.getDouble("eri") == 0:
      mbo.setValueNull("eri")
票数 2
EN

Stack Overflow用户

发布于 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?相同

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59888911

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档