Maximo conditional expressions use an SQL-like syntax allowing to replace the value of a specific attribute using the “:” notation.
For example, you can have an expression like this:
exists (select 1 from workorder where wonum=:wonum)
At run time, the second wonum is replaced with the value of the wonum attribute for the current record.
The value of an attribute of a related object can also be referenced using the following natation.
| Variable | Description | Comments |
|---|---|---|
| :<relationshipname>.<attrname> | Value of an attribute of a related business object of the current business object. | :location.description |
| :&owner&.<attrname> | Value of an attribute of the owner business object. | When you apply a to a work order, the system copies the priority of the to the child work order. The condition can be :&owner&.jobplan.priority>:&owner&.priority. In this example, the system copies this information if the has a higher priority than the parent work order. |
| :&owner&.<relationship_name>.<attrname> | Value of an attribute of the related business object of the owner business object. | |
| :&old_<attrname> | The initial value from the database of the attribute. | For example, you can change the value of a field 1 – 2 and then 2 – 3 and then 3 – 4. The original value is 1. |
There are also some special variables that can be used.
| Variable | Description | Comments |
|---|---|---|
| :yes | true | Logically true, 1 if stored in the database. |
| :no | false | Logically false, 0 if stored in the database. |
| :&date& | Current date | |
| :&datetime& | Current date and time | |
| :&user& | Logged in user | For example, if a user is logged in as Smith, :owner.id=&user& converts to :ownerid=’SMITH’. |
| :&personid& | Person ID of logged in user | For example, if a user is logged in as Smith, :reportby=&personid& converts to :reportby=’SMITH’. |
| :&appname& | Application name | For example, in the Work Order Tracking application, :&appname&=WOTRACK converts to WOTRACK=WOTRACK. This variable is useful for setting different behavior for different copies of an application. |
| :&mboname& | Name of the current MBO | For example, in the work order object, object=:&mboname& converts to object=WORKORDER. |
| :&ownername& | Name of the owner MBO | For example, in the Work Order Tracking application, :&ownername&.jobplan.priority>&ownername&.priority converts to workorder.jobplan.priority>workorder.priority. |
Conditional expression variables
