Reset the value of a field when another field is modified

This entry is part of the Maximo Java Development series.

Today I want to share with you some Java sample code to reset the value of a field when another field is modified.
In the example below I have implemented a little piece of logic to reset the WORKORDER.SUPEVISOR field when the WORKORDER.OWNERGROUP is modified.


Here is the Java code.

package cust.psdi.app.workorder;

import psdi.mbo.*;
import psdi.util.*;
import java.rmi.*;

/**
 * Custom field class to reset the supervisor when the Owner Group is changed
 */
public class FldWOOwnerGroup extends psdi.app.workorder.FldWOOwnerGroup
{
  public FldWOOwnerGroup(MboValue mbv) throws MXException
  {
    super(mbv);  
  }

  public void action() throws MXException, RemoteException
  {
    if (!getMboValue().isNull() &&
        !getMboValue().equals(getMboValue().getPreviousValue()))
    {
      getMboValue("SUPERVISOR").setValueNull(NOACCESSCHECK|NOVALIDATION_AND_NOACTION);
    }

    super.action();
  }
}

Deploy the FldWOOwnerGroup.class file in your Maximo source tree and attach it on WORKORDER.OWNERGROUP field using the Database Configuration application.

Labels: ,