Change Status of MBO (PO or WORKORDER) based on other MBO Conditions using Automation Script Action Launch Point.
Why we need an Automation Script for changeStatus Action ?
If the change status of a MBO (WORKORDER or PO) is a straightforward one like close WO after status Completion or close PO after receipts field value = COMPLETE, we can use an Action record of type "Change Status".
In real business scenarios, we need to changeStatus of a MBO based on conditions involving other MBOs, for example, complete a PO if its POLINES are invoiced and acknowledged by an external system or move an Inventory record to OBSOLETE if it's in PENDOBS status for 3 months without any current balance in INVBALANCES.
To build such complex requirements, we need to use an Action Launch point Automation script.
Maximo Configurations and Script
Create an Action launch point automation script with Object = PO.
Don't call MboSet.save method inside the action as the changeStatus method will take care of it.
Maximo creates an Action record when we create an Action launch point script and populates its parameters [Script Name, Launch Point Name, Action Name].
Create an escalation to get the records against which the action need to be executed; Here, we have taken Approved PO with competed receipt.s