Maximo - 使用脚本将元素添加到CustomMboSet

时间:2014-11-06 13:51:33

标签: scripting maximo

是否可以使用脚本添加到Maximo中的CustomMboSet?我正在使用名为TIMESHEET的自定义对象编写自定义应用程序。作为应用程序的一部分,我正在编写一个需要动态构建MboSet(一组TIMESHEET)的(Jython)脚本。代码检索现有的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脚本框架是否根本不支持动态构建CustomMboSets?任何帮助表示赞赏。谢谢。

3 个答案:

答案 0 :(得分:0)

您需要确保数据库配置中当前MBO和自定义MBO之间存在关系,否则它将无效。

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

timeSheetMboSet = mxServer.getMboSet("TIMESHEET", userInfo)

答案 1 :(得分:0)

mbo.getMboSet(RELATIONSHIPNAME).

LABTRANSTIMESHEET必须是自动脚本中对象的关系名称。

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

mxServer.getMboSet(OBJECTNAME, userInfo)

答案 2 :(得分:0)

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

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

previousPhaseSet = mbo.getMboSet("$wophasetranstemp1", "exitdate is null")