Let us consider field level
validation of maximo business object attributes. When we are talking about
field level validation class, we will directly jump to extend the
MboValueAdapter class. Say, in service request records we have to set the
value of Phone field of reported by, if it is null, with the value of Primary
SMS field in the person record. We will write a java class in a custom package,
custom.module.mbo.NewCustomFldClass, in its action method we will write the
business logic. After building the ear file and deploying it, we will enter the
class path in SR.REPORTEDBY attribute in Database Configurations application
and then apply the configuration changes. Let us check the Java source code in
the image below:
Whenever
a value will be entered in the SR.REPORTEDBY field and tabbed out, above class
file will do its action. This can be achieved alternatively by creating an
automation script with Attribute launch point with Run Action event on
SR.REPORTEDBY attribute, with a simple source code as below:
Now, what if we need some
validation and action along with a lookup. We will write the new java custom
class which will extend psdi.mbo.MaxTableDomain. We can use the init(), validate()
and action() methods as per our requirement and in addition to these, we have
one more action getList() for our use. In this custom class we can set the
relationship to the object from which we want the values to be fetched and a
list criteria with the where clause to filter data from that object. Inside the
getList() method we can set additional where clause to filter data.
Conditional lookups for a field can also be achieved in Application Designer, for which I have explained with an example in another blog.
Let us consider that when user
clicks New Row in Materials sub-tab of Plans tab in Work Order Tracking application,
Item field lookup should display all items available if it is a direct issue,
else the lookup should display a set of values of items for which Inventory
records exist in the default storeroom of the reported by user. To achieve this, following table domain is created as the first step:
Next, we want to create an
automation script with Attribute Launch point and event Retrieve List. This is
done as per below images:
The source code of this automation script is written as per below image:
References:
No comments:
Post a Comment