自动化脚本:从相关 table 获取价值

Automation script: Get value from related table

我试图将这个问题分解成可管理的部分:


我想创建一个 自动化脚本,它将工作订单的 LatitudeY 坐标放入工作订单的 DESCRIPTION 字段中。

我了解工作订单的坐标未存储在 WORKORDER table 中;它们存储在 WOSERVICEADDRESS table.

因此,我认为脚本需要在数据库配置应用程序中引用一个 关系 ,该关系将指向相关的 table.

我该怎么做?

(Maximo 7.6.1.1)

我有一个编译成功的 :

from psdi.mbo import MboConstants
wonum = mbo.getString("WONUM")
mbo.setValue("DESCRIPTION",wonum,MboConstants.NOACCESSCHECK)

我可以更改它以通过 SERVICEADDRESS 关系获取 LatitudeY 值:

from psdi.mbo import MboConstants
laty = mbo.getString("SERVICEADDRESS.LatitudeY")
longx = mbo.getString("SERVICEADDRESS.LONGITUDEX")
mbo.setValue("DESCRIPTION",laty + ", " + longx,MboConstants.NOACCESSCHECK)

这似乎有效。

您可以获取相关的Mbo 并从相关的Mbo 中获取值并使用它,如下面的代码所示。通过获取相关的 Mbo,您还可以更改它的属性。

from psdi.mbo import MboConstants
serviceAddressSet = mbo.getMboSet("SERVICEADDRESS")
if(serviceAddressSet.count() > 0):
    serviceAddressMbo = serviceAddressSet.moveFirst()
    latitudeY = serviceAddressMbo.getString("LATITUDEY")
    longitudeX = serviceAddressMbo.getString("LONGITUDEX")
    mbo.setValue("DESCRIPTION","%s, %s" % (longitudeX, latitudeY),MboConstants.NOACCESSCHECK)
serviceAddressSet.close()