Add Conditional Security to prevent WO Cancellation

A recent tweet from IBM on Maximo was technote about how a work order could be cancelled, even if materials were charged against the WO and recorded in the Actuals tab. For most long time Maximo users, the immediate reaction was, 'Pfffttt....that isn't possible.' IBM documented with 2 scenarios in the technote and confirmed that if the actual cost of the materials charged were $0.00, the WO could be cancelled.

The product design team have confirmed that a user is able to cancel a Work Order as long as the Material has a zero cost associated to it.

Looking at this scenario, I looked back in our WO history and found a handful of jobs that were cancelled even though the WO had actuals recorded - albeit at $0.00.

The analogy I've used for a long time is that Maximo is like a large ball of clay. It takes time, patience and practice to mold Maximo into the application you really want it to be. So fortunately there's an easy work option to set up Maximo to prevent WO's from getting cancelled when $0.00 charges are accrued against a WO. Maximo allows administrators to place conditions on when a domain value can be selected. Work order status are domain values, so we can add a condition on when the CAN status can be selected by users.

Step 1: Create Conditional Expression

The base of our prevention plan will be a Conditional Expression that checks a WO for any transactions against the Actuals table (MATUSETRANS). The goal is to verify that the work order doesn't have any charges on the MATUSETRANS table.

not exists(select null from matusetrans where refwo = :wonum and tositeid = :siteid) and :historyflag=0 and :istask=0

This condition is looking at the MATUSETRANS table and making sure a transaction for a work does not exist. That's the same logic we want to use for allowing/preventing the CAN status from showing up.

Step 2: Location WO Status Domain

The choice of statuses for a work order are controlled by a Domain labeled WOSTATUS. The Domain application can be found by going to: System Configuration → Platform Configuration → Domains

Once in the Domains app, search for the WOSTATUS domain.

Open the Domain and locate the 'CAN' domain value. Click the Detail arrow and then click 'View/Modify Conditions'.

This will open a new 'View/Modify Conditions' dialog box.

Step 3: Create Condition on WO Status Domain

Once the 'View/Modify Conditions' dialog box pop, click 'New Row' to add a new Condition to the CAN work order status. 1

Click 'OK' to apply the condition to the WO status domain value.

Validate Condition

I created a WO and issued a part that had a $0.00 value. This caused the WO to now have a record on the Actuals table.

And now when I try to change the status, the CAN status is not an option:

At this point, the WO cannot be cancelled because of the Actuals entry and will have to follow normal WO closure process.

  1. Note: depending on your system, you may have existing conditions on the CAN status.