【发布时间】:2019-12-03 07:33:08
【问题描述】:
我想知道如何使用 maximo 中的自动化脚本在非持久对象上使用自动化脚本执行循环。该脚本写在 Initialize 期间触发的非持久对象上。此非持久对象映射到工作订单跟踪应用程序中的对话框,并应带来记录列表。没有错误,但是当打开对话框时它只带来 1 条记录。下面是python脚本,
npSet=mbo.getOwner().getMboSet("CXDEMO")
if(npSet.count()>0):
for i in range(0,npSet.count()):
np = npSet.getMbo(i)
mbo.setValue("WONUM",mbo.getOwner().getString("WONUM"))
mbo.setValue("SITEID",mbo.getOwner().getString("SITEID"))
mbo.setValue("CONTRACTNUM",np.getString("CONTRACTNUM"))
mbo.setValue("VENDOR",np.getString("VENDOR"))
【问题讨论】:
-
因此,您从非持久性记录 (mbo) 开始,并将其保留为与该记录相关的任何记录 (getOwner),然后从另一个 MBO 转到一组新的CXDEMO 记录(它们本身可能是也可能不是非持久性的)?这真的是你想要的吗?
-
@Dex Owner 这里是WORKORDER,CXDEMO是Persistent。我基本上需要使用非持久对象 CXTEST 在对话框中显示 CXDEMO 中存在的数据
-
您不能只使用 CXDEMO 对象作为对话框上的支持对象吗?如果您要将所有 CXDEMO 数据复制到 CXTEST 中,最好去掉中间人,只使用 CXDEMO。此外,您的变量名称用词不当,因为您将 CXDEMO 集存储在“npSet”中,您刚才说它不是非持久性的。
-
@Dex CXDEMO 是持久的,而 CXTEST 是非持久的。我使用了非持久性,因为在对话框中选择的值没有设置所有者 mbo,因此使用了非持久性对象。
-
这是您设置和配置查找方式的一个缺陷(您是否做过我们讨论过的那个 maxlookupmap 条目?例如,您没有解决这个问题。另外,我没有认为您可以使用标准对话框并期望它用作查找,Maximo 对此有特殊的对话框,但您已停止使用),而不是因为您使用的是持久性与非持久性 MBO。事实上,将其切换为非持久性 MBO 只会让一切变得不必要地复杂化。
标签: maximo