The web blog http://www.learnsccd.com strives to be a comprehensive guide to SCCD, TADDM, SERVICE NOW and MAXIMO tools. This is a personal site maintained solely by me. I intend to update it regularly.For live updates please follow us on.

IBM Maximo field validations and actions

IBM Maximo field validations and actions

Field validation gets invoked when tabbing out of a field, or when a field is being set from the back end.
When the setValue method is invoked for an attribute the framework accesses the data dictionary table MAXATTRIBUTE to determine if the attribute has a validation class associated with it.

Typical order of execution: initValue(), init(), validate(), action(), hasList(), getList().
 initValue() - initializes fields for new records.
 init() - sets read-only fields.

Once a validation class has been determined, the validate() will be executed. The validation method  can be customized to verify whether the new value for   the attribute is valid.

An action() method may then be executed. Action methods contain business logic and updates to other objects.
 hasList() - returns true if there is a list.
 getList() - creates MboSet for list.

MEA transactions also invoke field validation for all fields it sets at the very end.
MEA - Use getValidateOrder() to specify the attribute validate order ,In case MEA performs delay validation, use this method to specify the validate order.

Register validation classes, by defining the class name in the class field. If a class is already defined, then you can extend the existing class.

Using Access Flags

The access flags are defined in the MboConstants interface. Implement psdi.mbo.MboConstants to use the constants without using a prefix with them.
Some of the more commonly used flags:
NOACCESSCHECK, NOVALIDATION, DELAYVALIDATION, NOACTION, NOVALIDATION_AND_NOACTION.

NOTE: It is important to set the appropriate flags to help increase Maximo performance.