非持久性中的 Maximo 自定义字段 table

Maximo custom field in non persistent table

我们如何在 maximo Issue Current Item 对话框中添加新的自定义字段。其中 ISSUECURRENTITEM 是非持久性 table

1) 使用数据库配置将您的字段添加到 ISSUECURRENTITEM 对象

2) 转到应用程序设计器并打开 Inventory (INVENTOR) 应用程序。

3) 单击工具栏中的'Edit Dialogs'

4) 打开对话框 - ISSUE(标签:发布当前项目)

5) 将你在数据库中配置的字段随意添加到对话框中

最后我找到了解决方案,感谢 SASHULL

解决方法是:

向 ISSUECURRENTITEM 添加属性很容易(转到数据库配置并将属性添加到 ISSUECURRENTITEM 对象),但挑战在于捕获 MATUSETRANS table 中的数据。由于这是一个非持久对象,java 类 将数据从非持久对象复制到持久对象MATUSETRANS。如果您使用的是 Maximo 7.5 或 7.6,您应该能够从自动化脚本中获取该数据。

您的启动点将在 MATUSETRANS 对象添加事件上,您可能需要如下所示的内容。请务必将属性名称替换为适当的名称。我在脚本中留下了笔记,以帮助解释发生了什么,但如果您对此有任何疑问,请告诉我。

# Purpose is for the Issue Current Item dialog, they want a custom field that would be stored on MATUSETRANS.
# Since it's a non-persistent object, we need a way to crossover the value with an automation script.
owner= mbo.getOwner()

# During save of the Issue Current Item, it goes up to the Inventory record to create the MATUSETRANS record.
# We need to go from MATUSETRANS->INVENTORY->ISSUECURRENTITEM to get the value

if owner and owner.getRecordMboName()=="INVENTORY":
    issueitemMbo=owner.getMboSet("ISSUECURRENTITEM").getMbo(0)
    if issueitemMbo:
           mbo.setValue("MATUSETRANSFIELD",      issueitemMbo.getString("ISSUECURRENTITEMFIELD"))