2014-11-06 36 views
0

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

换句话说,这个工作(LABTRANS是一个开箱MBO的):

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

但这并不(时间表是一个自定义的MBO):

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

任何人有任何见解至于为什么我看到这种行为? Maximo脚本框架是否不支持动态构建CustomMboSets?任何帮助表示赞赏。谢谢。

回答

0

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

或者,你可以使用下面的代码,以动态创建一个新的mboSet:

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

感谢您的答复,安德鲁,并且遗憾的响应迟。我解决了这个问题。原来,这与自定义对象的属性之一有关。由于自定义对象是在组织级别创建的,因此orgid是必需的属性。原来,orgid属性的搜索类型为“无”。将其更改为任何其他值(我选择通配符)允许我的脚本工作。再次感谢您的输入! – stevepoll 2014-12-31 17:11:14

0
mbo.getMboSet(RELATIONSHIPNAME). 

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

如果你想获得/任何对象添加记录,使用

mxServer.getMboSet(OBJECTNAME, userInfo) 
0

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

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

previousPhaseSet = mbo.getMboSet("$wophasetranstemp1", "exitdate is null") 
相关问题