我需要: 1.创建一个页面位置应用程序 2.在表格中显示所选位置中存在的所有资产 3.提供一个按钮,用户可以从中导航到WOTRACK,以查看在选定位置创建的所有工作单及其资产。
我在第三节中面临困难。我已尝试在上下文中启动,但无法通过sql查询,例如'location = {location}和((asset.assetnum})中的assetnum,它运行正常。我需要过滤具有特定位置及其所有资产的工作单。
我试图将位置中的所有资产保存到一个非持久性属性中,并在“上下文中的启动中” URL中传递该属性的值,它按预期方式工作,但为此我在“初始化值”上编写了一个脚本'这会导致性能问题。
脚本如下:
从psdi.server导入MXServer;
从psdi.mbo导入MboConstants;
如果app ==“ LOCATION1”:
if mbo.getString("LOCATION") is not None:
Locsite = mbo.getString("SITEID")
desc = mbo.getString("DESCRIPTION")
MaxuserSet = MXServer.getMXServer().getMboSet("MAXUSER", mbo.getUserInfo())
MaxuserSet.setWhere(" userid='"+user+"' ")
MaxuserSet.reset()
UserSite = MaxuserSet.getMbo(0).getString("DEFSITE")
if Locsite == UserSite:
AssetSet = mbo.getMboSet("ASSET")
AssetSet.setFlag(MboConstants.DISCARDABLE, True);
if not AssetSet.isEmpty():
AssetList = ""
AssetMbo = AssetSet.moveFirst()
while AssetMbo is not None:
AssetList = AssetList + str(AssetMbo.getString("ASSETNUM")) + "%2C"
AssetMbo = AssetSet.moveNext()
mbo.setValue("non-persitant",str(AssetList),11L)
,在LIC网址中,我给出了:'http://xx.x.x.xx/maximo/ui/?event=loadapp&value=wotrack&tabid=List&additionalevent=useqbe&additionaleventvalue=location= {LOCATION} | assetnum = {non-persistant}'
还有其他可行的解决方案吗?
预先感谢
答案 0 :(得分:0)
在上下文中启动更适合用于将用户发送到Maximo外部应用程序,并传递来自Maximo内部的一些数据以在该外部应用程序中提供上下文。
您正在做的事情听起来像是将工作流程过程与“交互”节点一起使用的好地方。开发人员告诉Interaction节点将用户带到哪个应用程序,并使用哪个Relationship查找用户应在其中使用的数据。
答案 1 :(得分:0)
为什么不在表格详细信息(展开的表格行)中添加表格控件,并在其中显示工作单列表。如果他们想要有关特定工作订单的更多详细信息,则可以从该表的WONUM中获得一个应用程序链接,将其带到WOTRACK。无需自定义(自动化脚本)。无需工作流程。很好而且很简单。