Conditional expression syntax
You can enter the conditional expressions with a syntax that is similar to Structured Query Language (SQL) with some additional variables.
To define a variable in a conditional expression that you are creating, use a colon (:). The colon is used to avoid ambiguity when you create expressions that relate the current record to a specific record.
You can have subselect in an expression,
exists
(select 1 from workorder where wonum=:wonum).
The first wonum is the wonum attribute on the work order object. At run time, the second wonum is replaced with the value of the wonum attribute for the current record.
Replacement variables
| Syntax | 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 business object. | For example, in the work order object, object =
:&mboname& converts to object = WORKORDER. |
:&ownername& |
Name of the owner business object. | For example, in the Work Order Tracking application,
:&ownername&.jobplan.priority>&ownername&.priority converts to
workorder.jobplan.priority>workorder.priority. |
Bind variables
| Syntax | Description | Examples |
|---|---|---|
:<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. | See the example for
:&owner&.<attrname>. |
:&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. |
Conditional expressions examples
:wostatus='APPR':type='EM':ownerid=:&user&:supervisor!=:&personid&:reportby=:&personid&:assetspec.classstructureid = 122:po.poline.receivedqty=0:&owner&.jobplan.priority>:&owner&.priority:owner&.po.$old_description like '%Turbin%'