Come for answers, stay for best practices. All we're missing is you.
Requirement: COMP status on Storeroom Material Status field of Work Order Tracking does not provide complete information.
In the Work Order Tracking application, Storeroom Material Status is set to COMP ('complete') even when work order's reservation required dates are outside the item / store room's lead time. COMP status is also set when all reservations are within the lead time and have sufficient quantity available.
Solution: Implement a business rule using Object Launch point that provides specific indication on the Work Order Tracking application that a work order's reservation required dates are outside the item's lead time.
Work Order Tracking, Storeroom Material Status, is set to COMP when the work order s reservation required dates are outside the item/storerooms lead time
This same status is used when all reservations are within the lead time and have sufficient quantity available. The reuse of the COMP status gives incomplete information to the Work Order user.
Implement a rule that provides a specific indication on the Work Order application user interface when work order’s reservation required dates are outside the items lead time
The reservation type of APHARD and APSOFT are used as proxies to represent an “outside the item lead time” condition. Specifically, if a reservation for an item has been already marked APSOFT by Maximo, that is directly the result of a date calculation out of the box and determination that required date/time are outside the lead time. Checking for a reservation that has been designated APSOFT is sufficient to resolve this issue.
Implement an Object Launch point and automation script that checks for “APSOFT” reservation type on any reservation associated with the given work order. If at least one “APSOFT” reservation type is found, set a flag (Outside Lead Time flag) in the Work Order user interface (main tab).
APIs used: None
Script code in the form of a PY file (wootl.py) is attached to this article here.
PDF version of this article is attached here.
Variable
Type
Binding
Remarks
v_mtlstatus
IN
STOREROOMMTLSTATUS
Script will run only if STOREROOMMTLSTATUS is being set by Maximo
v_otl
OUT
OTL
Script will set this YORN attribute if it finds at least one APSOFT reservation type for the work order being approved
v_reservations
INVRESERVE.restype*
From work order directly access the INVRESERVE table and pull up an array of reservation type values
v_wostatus
STATUS
Since the script should be executed as the work order is being approved, need to check if the status of work order is being set to APPR
I assumed that I can safely traverse the INVRESERVE relationship from WORKORDER directly to INVRESERVE and examine the reservation types. This code can get more fancy in terms of checks and displaying more data to the user or throwing error message and preventing the status change from happening. Before the script code runs a lot of the existing Maximo work order change status logic would have already run including the creation of the inventory reservation records and determination of reservation types.
Scripting execution time: In a development sandbox, with single user, execution time averaged 2-3 milliseconds. There should be no noticeable impact on end users.