View Objects(VO) in OA Framework(OAF)








View Objects(VO) in OA Framework(OAF)

  • View Objects (VO) in OA Framework(OAF) will represent a query result.
  • View Objects (VO) will be used for Joining,Filtering and sorting of business data.
  • View Objects (VO) can be built using multiple Entity Objects(EO)
  • VO Can be using using a SQL Query or Programmatically using  a DB Function.

VO will go under server folder of project structure as shown below.


VO Types:

There are 2 types of VO's
  •    Updatable VO's
  •    Read only Access VO's
In Simple terms VO is a SELECT statement. A VO is an object. The object represents both the data (the SELECT), and the operations (methods) you can perform on that data (gets/sets/validations). Most VOs are defined declaratively,but there are even methods to programmatically create and alter VOs at run-time.


VO's Creation Methods :

View objects can be created in 3 ways.
  • VO can be generated using SQL query based on EO
  • Expert Mode custom SQL Query without EO - Read only VO's
  • Expert Mode custom SQL Query mapped to EO


Unlike the SELECT statement itself, VOs have a means by which to iterate through each returned row. The default in OA Framework is 200 records.

This default behavior is controlled by a profile option, "FND: View Object Max Fetch Size "(VO_MAX_FETCH_SIZE). Changing this profile option should not be done lightly. If this value is increased, it will increase the memory requirements of the JVMs running on the middle tier, and it will impact the performance of the servers. The business requirements of your application may require you to increase the value. But, be aware of the consequences.

Naming Standards for VO

  • <filename>VO.xml
  • <filename>VOImpl.java
  • <filename>VORowImpl.java

VOImpl and VORowImpl are optional Java files when creating VO there is a option to select or unselect these files in getting created. Generate these files only if there is a requirement to modify column data in run time or to perform some custom validations.


Please refer the below screenshot.



No comments