In the exercise we have taken “Create Data Entry OAF Page“can be found @
We are going to extend InsertEO. Our business requirement is to add Validation on Column1. The length of entered data in Column1 should be more than 5 Characters.

1. FTP this project from application server and open in JDeveloper
2. Create a New Entity Object (EO)
Right click on InsertDemo > New > ADF Business Components > Entity Object
Name – ExtInsertEO
Package -- prajkumar.oracle.apps.fnd.insertdemo.schema.server
Extends -- prajkumar.oracle.apps.fnd.insertdemo.schema.server.InsertEO

Click on Next - > New from Table

Include all the attributes of parent EO

Next -> Next
Check Validation Method check box and Finish

3. Add following code in ExtInsertEOImpl.java
import oracle.apps.fnd.framework.OAException;
protected void validateEntity()
{
super.validateEntity();
protected void validateEntity()
{
super.validateEntity();
String column1Value = getColumn1();
if (column1Value.length() < 5)
{
String message = "Length of String" + " " + column1Value + "is less than 5 characters";
throw new OAException(message, OAException.INFORMATION);
}
}
{
String message = "Length of String" + " " + column1Value + "is less than 5 characters";
throw new OAException(message, OAException.INFORMATION);
}
}
4. Substitute your New EO with parent EO
Right click on InsertDemo > Project Properties > Business Components > Substitutions
In Available list select InsertEO and in Substitute list select New EO ExtInsertEO and click on Add and then Ok

5. After substitution import *.jpx
In our case it will modify InsertDemo.jpx at project location
i.e. -- D:\xxxx\jdevhome\jdev\myclasses
Open Command Prompt and go to following location of your project
D:\xxxx\jdevbin\oaext\bin

6. Bounce the server
7. Verify the substitution has applied properly
Run InsertPG page and click on About this Page link

Expand Business Component References Details
Under that section click on InsertVO which is EO based [it should be ExtInsertEO based]


8. Congratulation you have successfully finished. Run Your InsertPG page and Test Your Work

