【发布时间】:2017-05-23 18:02:33
【问题描述】:
我们有一个集成,其中将在外部应用程序中创建 PO,然后将其连接到 Maximo。 仅被批准的 PO 将入站到 Maximo,但是 Maximo 不允许添加处于 APPR 状态的 POLINES,因此通过集成,我们正在接收处于 WAPPR 状态的 PO。 我们必须立即批准 PO,以便任何后续的 PO 更新/收据交易处理到 Maximo。 我知道升级可以完成批准 PO 的任务,但是我希望状态更改立即发生。
我尝试了以下选项 1)创建一个工作流来批准采购订单并将其设置为自动启动。这不起作用,因为设置为自动启动的工作流不会为通过集成创建的对象触发
2)尝试设置自动化脚本来启动工作流
from psdi.mbo import MboConstants
from psdi.server import MXServer
print("**************Script to Approve Inbound POs *******");
stat=mbo.getString("STATUS")
if ( stat != ''):
print ( " Status is not null ");
print ( stat);
if ( stat=='WAPPR'):
print ("Status is WAPPR");
MXServer.getMXServer().lookup("WORKFLOW").initiateWorkflow("[my WF]",mbo);
print(" Workflow has been initiated and PO will be approved");
我的 WF 包含一个 Action ,它执行更改状态以将状态设置为 APPR。 这会在 POSTATUS 表中创建一个条目,但是新状态读取为 WAPPR 而不是 APPR
3) 设置状态值的自动化脚本
from psdi.mbo import MboConstants
from psdi.server import MXServer
print("**************Script to Approve POs Inbound *******");
stat=mbo.getString("STATUS")
if ( stat != ''):
print ( " Status is not null ");
print ( stat);
if ( stat=='WAPPR'):
print ("Status is WAPPR");
mbo.setValue("STATUS","APPR",MboConstants.NOVALIDATION );
print(" Status approved");
这是使用对象启动点、对象作为 PO 和保存操作、提交后设置的。
这也行得通。
请告诉我是否还有其他选择
【问题讨论】:
标签: automation workflow maximo po