自动化脚本:从相关 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()
我试图将这个问题分解成可管理的部分:
我想创建一个 自动化脚本,它将工作订单的 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()