0

是否可以使用脚本添加到 Maximo 中的 CustomMboSet?我正在使用名为 TIMESHEET 的自定义对象编写自定义应用程序。作为应用程序的一部分,我正在编写一个(Jython)脚本,该脚本需要动态构建一个 MboSet(一组 TIMESHEET)。该代码检索现有的 CustomMboSet 并尝试向其中添加元素。它在使用开箱即用的 MboSet 时有效,但是当我尝试在自定义 MboSet 上运行相同的代码时,它似乎不起作用。不会引发错误,但不运行违规行下方的代码。

换句话说,这是可行的(LABTRANS 是一个开箱即用的 MBO):

myMboSet = mbo.getMboSet("LABTRANS")
newMbo = myMboSet.add()
# Set attributes on newMbo, everything is happy

但这不是(TIMESHEET 是自定义 MBO):

myMboSet = mbo.getMboSet("TIMESHEET")
newMbo = myMboSet.add()
# Code does not execute after the above line

任何人都知道为什么我会看到这种行为?Maximo 脚本框架是否根本不支持 CustomMboSet 的动态构建?任何帮助表示赞赏。谢谢。

4

3 回答 3

0

您需要确保当前 MBO 和数据库配置中的自定义 MBO 之间存在关系,否则将无法正常工作。

或者,您可以使用以下代码动态创建新的 mboSet:

timeSheetMboSet = mxServer.getMboSet("TIMESHEET", userInfo)
于 2014-11-11T16:51:49.393 回答
0
mbo.getMboSet(RELATIONSHIPNAME).

LABTRANS并且TIMESHEET必须是自动脚本中对象的关系名称。

如果要在任何对象中获取/添加记录,请使用

mxServer.getMboSet(OBJECTNAME, userInfo)
于 2015-05-02T08:59:15.717 回答
0

多一点解释。您可以在自动化脚本中创建自己的自定义关系。诀窍是确保它不存在。这就是我使用美元符号的原因。

变量 = mbo.getMboSet(tempRelationshipName,Object,where 子句)

previousPhaseSet = mbo.getMboSet("$wophasetranstemp1", "exitdate is null")
于 2016-10-13T18:20:55.247 回答