After a long time, I have finally got an OAF form for customization. Since this is my first experience with OAF, I thought of jotting down the steps I do for customizing it. It might be helpful for other beginners.
Project: This is an upgrade project from Oracle 11.5.9 to Oracle R12.
Object: LOV in Time Card Project
Module: Oracle Time and Labour
Overview: There were some personalizations made on Oracle Self Service Time (iTime) module in 11.5.9. While upgrading to R12, these personlizations were not present. So we need to make the same personalizations now in Oracle Time and Labour module.
Task: Extending a seeded VO
Navigation: Self Service Time -> Time -> Create Timecard
Requirement: In this form, we have a field called Project. It has a search LOV. Currently, we can search by Project Number and Project Name. As part of this customization, we need to add Project Organization and Project Description. This is a case of extending a seeded VO. The VO name is ProjectLOVVO.
It is present at: $JAVA_TOP/oracle/apps/hxc/selfservice/timecard/server
There are two files:
1. ProjectLOVVO.xml 2. ProjectLOVVOImpl.class
Store these files in harddisk replicating the same directory structure as the seeded one. For me, OAF installation is in C:\ drive.
So I have placed the files in: C:\OAF\p6908968_R12_GENERIC\jdevhome\jdev\myclasses\oracle\apps\hxc\selfservice\timecard\server
I created a new Workspace, Project in JDeveloper. I imported the seeded files which were placed in directory above.
Now, I created a new custom VO named XXMASProjLOVVO. In this VO, I put the imported seeded VO in extends field.
The seeded query was imported. I changed the query as per my requirements. This new query was tested and it was valid.
Then we need to go to Project Properties -> Business Components -> Substitutions
Add a new substitution oracle.apps.hxc.selfservice.timecard.server.ProjectLOVVO to xxmas.oracle.apps.hxc.selfservice.timecard.server.XXMASProjLOVVO
After doing this substitution, copy the custom VO files in the Unix Box ($JAVA_TOP/custom_top). Copy the Project’s .jpx file in Unix Box and run the following command:
java oracle.jrad.tools.xml.importer.JPXImporter /<directory>/ProjectLOVVO.jpx \
-username apps \
-password <APPS DB password> \
-dbconnection “(DESCRIPTION= (ADDRESS=(PROTOCOL=tcp)(HOST=<hostname>)(PORT=<port number>))(CONNECT_DATA=(SID=<SID>)))”
This imports the custom VO. Now you need an apache bounce of the Oracle instance. Once your DBA does that, you can see your changes. Tada 🙂