是否可以使用脚本添加到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?任何帮助表示赞赏。谢谢。
答案 0 :(得分:0)
您需要确保数据库配置中当前MBO和自定义MBO之间存在关系,否则它将无效。
或者,您可以使用以下代码动态创建新的mboSet:
timeSheetMboSet = mxServer.getMboSet("TIMESHEET", userInfo)
答案 1 :(得分:0)
mbo.getMboSet(RELATIONSHIPNAME).
LABTRANS
和TIMESHEET
必须是自动脚本中对象的关系名称。
如果要在任何对象中获取/添加记录,请使用
mxServer.getMboSet(OBJECTNAME, userInfo)
答案 2 :(得分:0)
更多解释。您可以在自动化脚本中创建自己的自定义关系。诀窍是确保它不存在。这就是我为我使用美元符号的原因。
variable = mbo.getMboSet(tempRelationshipName,Object,where子句)
previousPhaseSet = mbo.getMboSet("$wophasetranstemp1", "exitdate is null")