By Arunkumar Ramamoorthy on Dec 29, 2011
JDeveloper 188.8.131.52.0 has a new tab in the View Objects Editor - Business Rules.
This easily tend to make people misunderstand that this Editor can be used for adding validation rules for the attributes in the View Object. However, it is not true.
Lets check out what this editor is all about. As the online help for this page states
Use to create and maintain business rules based on Groovy Language expressions and declarative validation rules for this view object including:
- Validators for transient attributes
- Bind variable default value expressions for SQL queries
- Bind variable value mappings for view accessors
- Transient attribute value expressions
- Transient attribute value expression recalculation conditions
- Attribute default value expressions
We'll see how we can use this editor to edit different types :
Transient Attributes :
We can use this editor for a. adding validation rules, b. edit default value expression
a. As like the Entity Attributes, we can add many validation rules for the transient attributes in VO as well.
In the above image, EmpType is a transient attribute on Emp VO.We can see there are two rules added. First one is a validation rule (List Validator), restricting the user to enter either one of the value specified for the attribute. Second one is the default value expression for the attribute. Upon selecting the node, the default value groovy expression would become editable in the Script Expression field below, wherein we can modify it and test the syntax as well.
Note : We can add the validation rule only for the transient attributes which are Updatable. Also, we can edit only the default values which are script expressions only. Not the literal values.
Bind Variables :
Similar to the transient attributes, we can use this editor for modifying and testing the default value expression for the Bind Variables of the VO as well.
In the above example image, we can see a Bind Variable (Bind_Hiredate) added to the Query, which has the default value expression as adf.currentDate.
Using this editor, we can modify this expression and test the syntax.
View Accessor :
If we have a bind variable to the VO and use it as List Data Source for any of the attributes in the VO, we can use this editor to change the value of the bind variable in the View Accessor.
In the above example image, we have couple of Bind Variables in the View Accessors (they are used as Lists and Dependent Lists for this View Object). Using this editor, we can edit the values of those bind variables.
We can also use this editor for modifying and testing the default value expression on the VO attributes and the re-calculation conditions.