You are on page 1of 99

Oracle Application Framework

Personalizations & Extension


Agenda

OA Framework Personalization Basics

OA Framework Personalization Prerequisites

OA Framework Personalization

Extensions in OA Framework

OA Framework Personalization Migration and Prerequisites

Q&A

2 7/26/2017 KPIT Technologies Limited OA Framework Personalizations


OA Framework Personalization Basics

3 7/26/2017 KPIT Technologies Limited OA Framework Personalizations


OA Framework Personalization
In OAF the page definitions are stored in JDR tables normally called MDS repository.
In the standard application sometimes customer wants some degree of changes in the
display/functionality.OAF has a mechanism called Personalization to achieve this.
Personalizations are also stored in MDS but a layer above the page definition. So it is
upgrade safe.

There are two types of Personalization s in OAF.


a) Admin Personalization : These are Personalizations done by implementers. They
can be a technical or functional consultant or support staff.

4 7/26/2017 KPIT Technologies Limited OA Framework Personalizations


OA Framework Personalization
There are different level of Personalization. Following figure shows the various levels. Core
OAF has least precedence and Responsibility has highest

5 7/26/2017 KPIT Technologies Limited OA Framework Personalizations


OA Framework Personalization

Function: One can define functions and can define granular level personalization based
upon these functions.
Site: Personalizations that affect all users with access to the given application
component.
Operating Unit: Personalizations that affect all users with access to the given operating
unit.
Responsibility: Personalizations that affect all users with access to the given
responsibility.

6 7/26/2017 KPIT Technologies Limited Oracle Endeca Information Discovery


OA Framework Personalization
Prerequisites

7 7/26/2017 KPIT Technologies Limited OA Framework Personalizations


OAF Personalization Prerequisites:
Set the values of following profiles to enable Personalization Page link in OAF Pages
Profile Name Value
FND: Personalization Region Link Enabled Yes
Personalize Self-Service Defn Yes
Disable Self-Service Personal No

After Setting the Values of above profiles:

8 7/26/2017 KPIT Technologies Limited OA Framework Personalizations


OA Framework Personalizations
Overview, Features & Benefits

9 7/26/2017 KPIT Technologies Limited OA Framework Personalizations


OAF Personalization in brief
Personalization doesn't require single piece of coding. Using Personalization we can
achieve following things.
Changing web bean properties like Tip,Label,Rendered,Read-only, Default Values etc..
Changing order of fields
Adding new beans like button, drop down list, lov etc...
Embedding other regions
Can associate a target navigation page with a UI component.(Destination Function).

10 7/26/2017 KPIT Technologies Limited OA Framework Personalizations


OAF Personalization Steps
Click on Personalize Page on the right hand corner of the page (shown in the below
screenshot).

You will see the following page come up. Select the Complete View Radio button.

11 7/26/2017 KPIT Technologies Limited OA Framework Personalizations


OAF Personalization Steps

12 7/26/2017 KPIT Technologies Limited OA Framework Personalizations


Personalize Existing Field

Click on Apply to Save Changes.

13 7/26/2017 KPIT Technologies Limited OA Framework Personalizations


Reorder Fields

Click on Apply to Save Changes.

14 7/26/2017 KPIT Technologies Limited OA Framework Personalizations


Create New Field

Click on Apply to Save Changes.

15 7/26/2017 KPIT Technologies Limited OA Framework Personalizations


Extensions in OAF

16 7/26/2017 KPIT Technologies Limited OA Framework Personalizations


Extension In OAF
If we want to do any changes in the already shipped oracle E-Business suite. The main purpose we use
extensions is to make changes in the already well designed Oracle E-Business suite pages.
We have two types of extensions
1) BC4J Extensions 2) CO Extension

BC4J Extensions are again divided into three types and they are:
VO Extension
AM Extension
EO Extension

Oracle does not recommend that customers extend controller objects associated with regions or webbeans in
shipped E-Business Suite product pages.
Controller class (oracle.apps.fnd.framework.webui.OAControllerImpl) methods should effectively be considered
private, since their implementation is subject to change. Controller extensions are therefore not considered to be
durable between upgrades.
If it is absolutely essential to handle custom form submit events on a shipped product page,
processFormRequest() is the only method that should be overriden in a controller class, although the risks
outlined above still apply.

17 7/26/2017 KPIT Technologies Limited OA Framework Personalizations


Controller Extension

If you observe in the above image User Information is highlighted which contains Email
Address and Note. Here our requirement to add User Name field into the User Information. It
means if we logged in with Operations user then that User Name must display in User
Information.
If you observe, according to the requirement, we need to display the User Name when the page
is loaded. It means we need to write the code in the processRequest of Controller class.
18 7/26/2017 KPIT Technologies Limited OA Framework Personalizations
Controller Extension Steps :
Step 1 : First to display the user name we need to create one item, so therefore create one item for that Select
Personalize User Information in OAF page.
After that select create Item image as shown in the below image:

19 7/26/2017 KPIT Technologies Limited OA Framework Personalizations


Controller Extension Steps :
For item in the properties:-
Level : Site, Item Style : Message Text Input, ID : UserName, Prompt : User Name

20 7/26/2017 KPIT Technologies Limited OA Framework Personalizations


Controller Extension Steps :
Step 2: Finding the Controller to extend. Before extending CO we need to find out which Controller we need to
extend. This step explains how to find the main CO in page.
Go to About This Page, Expand all. After expanding all we can see the controller name in Controller column in
the same row where the page name contains.
For example in our requirement the page name is Invite a Supplier User, so in that row InvitationCO is added. It
means Invitation CO is the main Controller.
The below images shows two controllers, but if you observe InvitationCO is the main Controller because which is
attached to the main page region.

So therefore finally we came to know that InvitationCO is the Controller which we need to extend.

21 7/26/2017 KPIT Technologies Limited OA Framework Personalizations


Controller Extension Steps :
Step 3: Download the Controller from the $Java_Top and create the directory structure in JDeveloper Patch file in our
desktop system.
Note that it is not necessary that we need to download entire files in the structure. Copying the whole files in the
structure may take long time for copying and also most of the times it impact on JDeveloper performance.
The below sample image shows the copying and creating directory structure process, which shows actually what
exact files are copying from the server.

22 7/26/2017 KPIT Technologies Limited OA Framework Personalizations


Controller Extension Steps :
Step 4: Open the JDeveloper and Create the Dummy work space.

Note that while in Project Wizard you must give the same package name which you will find in about this page. For
example see the aboveimage.
After finishing project, create the dummy page for structure.

23 7/26/2017 KPIT Technologies Limited OA Framework Personalizations


Controller Extension Steps :
Step 5: In this step you need to create one new controller. Normally we will create controller on page, just by right
clicking on the page region we will select Set New Controller option, but here in Controller extension it is not
like that. Lets see how to set controller in CO Extension.
In Application Navigator, Right click on webui and select New Option.

In Categories extract General and then select Simple Files. Select Java Class in Items. The below image shows the Java
Class Selection process.

24 7/26/2017 KPIT Technologies Limited OA Framework Personalizations


Controller Extension Steps :
In Extends click on the Browse button and select Original CO (InvitationCO). This Original CO will be available
because we copied the CO and created the same directory structure in JDeveloper patch.

25 7/26/2017 KPIT Technologies Limited OA Framework Personalizations


Controller Extension Steps :
So therefore finally after giving Name, Package, and Extends click on OK button.

26 7/26/2017 KPIT Technologies Limited OA Framework Personalizations


Controller Extension Steps :
Step 6: In this step go to the controller java file, create the processRequest method same as it is in seeded. After
creating method write the java code to display the User Name. The below is the java code that you need to type.
Note that copying the below code and pasting it in your JDeveloper is fine, but check the import files properly.

27 7/26/2017 KPIT Technologies Limited OA Framework Personalizations


Controller Extension Steps :
Step 7: Copy the project folder and paste it in $Java_Top, Classes directory (folder) of server. The below image shows
the sample process of moving the files from the desktop to the server.

28 7/26/2017 KPIT Technologies Limited OA Framework Personalizations


Controller Extension Steps :
Step 8: Login to the Application and click on About This Page, now we can see the
Extended CO name which is replaced with the Earlier Seeded Name.

Here Like VO and AM extension no need to run the Import script. But to activate the CO
you must follow the below step wise process.

29 7/26/2017 KPIT Technologies Limited OA Framework Personalizations


Controller Extension Steps :
First step, select Personalize Page option and then select Personalize button, for
example see the below image.

30 7/26/2017 KPIT Technologies Limited OA Framework Personalizations


Controller Extension Steps :
In step two, at site level give the package name. Here you must be careful while
creating package name. See the directory structure where actually the class file
contains.

For example our class file is located in the following directory structure.
xxcoextension/oracle/apps/pos/registration/webui/InvitationCOEx.class Now
replace the slash (/) with the dots and remove .class, for example see the below one:
xxcoextension.oracle.apps.pos.registration.webui.InvitationCOEx Finally the
controller path is ready and that we need to give in site level (site level is an example
we are taking here, you can take any other level too if required to restrict).

31 7/26/2017 KPIT Technologies Limited OA Framework Personalizations


Controller Extension Steps :
The below image shows the example, where actually the controller class path is given.

32 7/26/2017 KPIT Technologies Limited OA Framework Personalizations


VO Extension in OAF
The below image shows the Register Supplier User OAF page which will appear once
we select Register Supplier User option as discussed.

33 7/26/2017 KPIT Technologies Limited OA Framework Personalizations


VO Extension in OAF
When we click on the Supplier Name search option (LOV) in the above page we will
see Supplier Name and Supplier Number.
So therefore our task is to add Vendor Lookup Code additional column in the search
list.
Using Customization we can add a column but we cannot carry data to that created
column so therefore we need to go for extension if we want to carry data along with
Supplier Name and Supplier Number. Hence we have to go for extension let us see
how to extent and here the requirement is just to carry data and display it so therefore
we know that using VO we can achieve it and hence no need to perform any DML
operation like INSERT,UPDATE, DELETE.

34 7/26/2017 KPIT Technologies Limited OA Framework Personalizations


VO Extension Steps :
Step 1: Identify the VO from the page. It means first we need to identify which VO to be
extend. Go to about this page and expand the Business Component
Reference Details. For reference look at the below image:

35 7/26/2017 KPIT Technologies Limited OA Framework Personalizations


VO Extension Steps :
After that select VendorsVO as we know that supplier called as Vendors and their
information stores in PO_VENDORS table. According to the naming convention VO
ends with VO after name we can identify.

36 7/26/2017 KPIT Technologies Limited OA Framework Personalizations


VO Extension Steps :
Click on the VendorsVO so that we can see the query statement used for that VendorsVO,
the below image shows the query of vendorsVO which is used in Register Supplier
User OAF page.

37 7/26/2017 KPIT Technologies Limited OA Framework Personalizations


VO Extension Steps :
Step 2: Identify the page and copy or download it from Application Top.
Note that all the Pages and Regions will be there in Application Top and all the Controller
(CO), Application Module (AM), View Object (VO) will be there in Java Top.

We can identify the page when we click on about this page, we can find one path
which contains page name.

38 7/26/2017 KPIT Technologies Limited OA Framework Personalizations


VO Extension Steps :
The below image shows the page in Server Application Top, from that we need to copy
the file.

From the above Application Top we need to copy the RegSuppUserPG.xml page, note
that the path may be different in your environment so check the path properly or
concern the DBA for your required file to copy.

39 7/26/2017 KPIT Technologies Limited OA Framework Personalizations


VO Extension Steps :
After copying the file move it to any existing project of OAF in desktop system for
example see the below image it was moved into the following location in Desktop.
Note that we need to paste the page in Webui of JDeveloper

After copying open the JDeveloper so that we can see the copied page if JDeveloper is
already open then refresh the JDeveloper so that the page will appear automatically.
Select the page and we can see VO Name in the page structure.

40 7/26/2017 KPIT Technologies Limited OA Framework Personalizations


VO Extension Steps :
For reference look at the below image:-

41 7/26/2017 KPIT Technologies Limited OA Framework Personalizations


VO Extension Steps :
Here in the above page structure we can identify that VO name is RegistrationVO but for Supplier Name we can see
that Oracle OAF standard page used External VO hence we need to carry the External VO too from the server.
The below image shows the finding process of External VO in the original page structure.

42 7/26/2017 KPIT Technologies Limited OA Framework Personalizations


VO Extension Steps :
Now we can observe that the external LOV name is SupplierLOVRN, copy the SupplierLOVRN.xml file and
paste it in the same location where we pasted the Register Supplier page. Refresh the JDevelper so that we can
see the External LOV. Now in the external LOV we can identify the Exact VO which we need to extend to achieve
our requirement.
The below image shows the finding process of exact VO from the External VO

43 7/26/2017 KPIT Technologies Limited OA Framework Personalizations


VO Extension Steps :
Step 3: Now finally after finding the exact VO download the VO from the Java Top and create the directory structure
whatever the VO had in myProjects of desktop JDeveloper folder.
Note that the following image shows the pos directory in Apps server is copying to apps folder in Desktop
JDeveloper, here if we are copying from oracle on wards then the JDevelper will take heavy time for further
process, and hence we need to download only the required things from the Server.
The below image screenshot is of WinSCP tool

44 7/26/2017 KPIT Technologies Limited OA Framework Personalizations


VO Extension Steps :
The below is image shows after copying and creating the same directory structure it looks like the following. N

45 7/26/2017 KPIT Technologies Limited OA Framework Personalizations


VO Extension Steps :
Step 4: After creating the directory structure now create one dummy workspace and Project in JDeveloper for
VOExtension. And in the project creation process in step1 the default package name must be same as the path
which we found in About this page. But here we need to remove the slash (/) symbol and in that place we have
to keep dots (.), for reference have a look into the below image.

46 7/26/2017 KPIT Technologies Limited OA Framework Personalizations


VO Extension Steps :
After creating project check that in applications oracle.apps.pos structure is available if you didnt find that package
then open the project properties, select Project Content.

47 7/26/2017 KPIT Technologies Limited OA Framework Personalizations


VO Extension Steps :
Click on Add button and select the proper directory structure. Select it and click on Ok now check that the
Oracle.apps.pos package will appear.

48 7/26/2017 KPIT Technologies Limited OA Framework Personalizations


VO Extension Steps :
Step 5: Copy the SQL Query from the VendorsVO and modify the Query in Toad or SQL Developer Tool or if any
other and save the query and keep it aside. In query add the column name vendor_type_lookup_code. The
modified SQL Query is shown below:

SELECT * FROM (Select vendor_id, vendor_name, segment1, vendor_type_lookup_code


from PO_VENDORS where enabled_flag = 'Y'
and ( START_DATE_ACTIVE is null OR START_DATE_ACTIVE < SYSDATE )
and ( END_DATE_ACTIVE is null OR END_DATE_ACTIVE > SYSDATE )
and (vendor_type_lookup_code is null or vendor_type_lookup_code <> 'EMPLOYEE')) QRSLT
ORDER BY upper(vendor_name)

49 7/26/2017 KPIT Technologies Limited OA Framework Personalizations


VO Extension Steps :
Step 6: Now create the New VO in custom directory. Extract the Package select Registration right click on it and then
select New View Object For reference look into the below image.

50 7/26/2017 KPIT Technologies Limited OA Framework Personalizations


VO Extension Steps :
Some times while creating VO JDeveloper may show some dialogue box errors that required so and so file not
found in the package, we can ignore these kind of messages click on OK but we must be very cautious about
the missing files may be which are must required for our extension process.
The below image shows the package name specification process.

51 7/26/2017 KPIT Technologies Limited OA Framework Personalizations


VO Extension Steps :
After that in the extends part click on the Browse button and then select the Original VO name that we can find in
the directory structure which we copied and created same as it is in the server.

52 7/26/2017 KPIT Technologies Limited OA Framework Personalizations


VO Extension Steps :
The below sample image shows After selecting the Extends VO.

After clicking next to the query remove the existing SQL Query and place the modified SQL Query in which we added
a coloumn vendor_type_lookup_code and finish the VO creation process.

53 7/26/2017 KPIT Technologies Limited OA Framework Personalizations


VO Extension Steps :
Step 7: Now we need to substitute the new VO with the existing VO for that select Tools -> Project Properties, for
reference look into the below image.
Extract the Business Components, select Substitutions and then Select the proper VO from the available list and
in Substitute list, for example as shown in the below image:

After adding into the project properties now we need to move the project folder from MyClasses to the server
environment Classes Directory. Be cautious while moving the files from desktop to the server. Here no need to
replace the existing files at all for the first time.

54 7/26/2017 KPIT Technologies Limited OA Framework Personalizations


VO Extension Steps :
The below figure shows the moving process from the desktop to the server.

55 7/26/2017 KPIT Technologies Limited OA Framework Personalizations


VO Extension Steps :
After that run the jpxImport script, the below one is the sample JPXImport script.

java oracle.jrad.tools.xml.importer.JPXImporter $JAVA_TOP/xxvoextension/VOExtensionPrj.jpx -username apps -


password apps -dbconnection "(description = (address_list = (address = (community = tcp.world)(protocol =
tcp)(host =www.newtonapples.com)(port = 1521))) (connect_data = (service_name = naora1)))" After successfully
running import script, now go to Functional Administrator, click on Core Service Tab and then select Caching
Framwork -> Click on Clear All Cache button. We can even click on Clear All Statistics button if we want.

56 7/26/2017 KPIT Technologies Limited OA Framework Personalizations


VO Extension Steps :
The below image shows the functional administrator page.

After that check whether the Extended VO is available or not in the About this page once the extended VO appears
then now click on the LOV option of Supplier Name.

57 7/26/2017 KPIT Technologies Limited OA Framework Personalizations


VO Extension Steps :
Click on Personalize Supplier Table.
After clicking on it create one item and select level as site and item type as Message Styled Text. We need to
create one item because we modified VO and we added column to the VO but we not yet displayed it in OAF
page so to display it in OAF page we need to create one item.
Here in View Instance we need to give the old VO name rather than the new VO name. For view attribute give
the attribute name which is generated when we click on the Next button after modifying VO we will find the
attribute name for Vendor_type_lookup_code that name we need to give here.

58 7/26/2017 KPIT Technologies Limited OA Framework Personalizations


VO Extension Steps :
Save the newly created item and now again click on the Supplier name so there fore here we go and we can find
the Vendor Lookup Code which we created.

59 7/26/2017 KPIT Technologies Limited OA Framework Personalizations


VO Extension Steps :
So therefore finally we finished the VO Extension process in OAF.

60 7/26/2017 KPIT Technologies Limited OA Framework Personalizations


EO Extension in OAF
In Main Employee Search page we have a button called Create Employee. Whenever
we click on Create Employee Button it will take us to another page for creating
employee.

61 7/26/2017 KPIT Technologies Limited OA Framework Personalizations


EO Extension in OAF
The below image shows the Create Employee OAF page window, in the below image you can
see that Email Address is highlighted. Lets see the explanation after the image why its
highlighted.

In the above image you might have observed that Email Address field is empty. So therefore here
our requirement is we want the default email address as training@newtonapples.com.

62 7/26/2017 KPIT Technologies Limited OA Framework Personalizations


EO Extension in OAF Steps
Hence Email Address field is an attribute in OAF, we need to add default value to the
attribute. This can be done by extending EO where it contains all the attribute values.
We can perform DML operations (INSERT, UPDATE, DELETE) only using EO. Here we
need to set the default value of Email Address to training@newtonapples.com. Let us
see how to extend EO step wise.
Step 1: Go to About this Page of Create Employee page. Extract the Business
Component Reference Details. You can see the EmployeeEO.
Copy the EmployeeEO and create the same directory structure in JDeveloper patch,
which is available in your desktop system.

63 7/26/2017 KPIT Technologies Limited OA Framework Personalizations


EO Extension in OAF Steps
The below image shows the sample way of creating the directory structure and
copying the files from the Server to the JDeveloper patch.

64 7/26/2017 KPIT Technologies Limited OA Framework Personalizations


EO Extension in OAF Steps
Step 2: Open the JDeveloper and create new WorkSpace and Project.
For example:-
Workspace Name : XXEOExtension Project Name : XXEOExtensionPRJ Default Package:
xxeoextension.oracle.apps.fnd.framework.toolbox.labsolutions.webui Note that we need to
create the Default package name according to the path which we will see in about this page,
we have a page path like as follows:-
/oracle/apps/fnd/framework/toolbox/labsolutions/webui/EmployeePG 120.9
We need to replace the Default package name according to the patch as follows:-
xxeoextension.oracle.apps.fnd.framework.toolbox.labsolutions.webui If you observe, we
removed slash symbols, and also we removed the page name and at the beginning we have
to give our own name like xxeoextension.
Step 3: After creating the dummy workspace and Dummy project, we will get a structure.
Now create the Entity Object.
For example give the Entity name as follows:
Name : EmployeeEOEx Package :
xxeoextension.oracle.apps.fnd.framework.toolbox.schema.server In Extends Entity, select the
Original EmployeeEO which you will find in browse because we created the same directory
structure as it is in server and also we copied from the server.

65 7/26/2017 KPIT Technologies Limited OA Framework Personalizations


EO Extension in OAF Steps
The below image shows the EO creation process Window

66 7/26/2017 KPIT Technologies Limited OA Framework Personalizations


EO Extension in OAF Steps
After that whenever you click on Next button, you will not find any Entity Attributes:

To see the Attributes, click on the button called New From Table..,

67 7/26/2017 KPIT Technologies Limited OA Framework Personalizations


EO Extension in OAF Steps
Using right arrow buttons move all the available Attributes into the selected list.

68 7/26/2017 KPIT Technologies Limited OA Framework Personalizations


EO Extension in OAF Steps
After that in fourth step of EO creation process, check the Validation Method check
box. The same scenario is shown in the below image:

69 7/26/2017 KPIT Technologies Limited OA Framework Personalizations


EO Extension in OAF Steps

Step 4: After creating EO open the Java File and add the two lines in create method. In
the attached code you need to add only two lines, line numbers 40 and 41. No need to
do any changes for the remaining entire code.

70 7/26/2017 KPIT Technologies Limited Oracle Endeca Information Discovery


EO Extension in OAF Steps
Step 5: Rebuild the code, after successfully rebuilding the code goto, Tools -> Project
Properties. Extract Business Components and then select Substitutions. Substitute Old and
New Entity Objects, for example see the below image:

Rebuild the code and then rebuild the entire project.

71 7/26/2017 KPIT Technologies Limited Oracle Endeca Information Discovery


EO Extension in OAF Steps
Step 6: Move the project file into the server.
Go to MyClasses folder in JDeveloper patch move the XXEOExtensionPRJ file into the server Java top.
After moving the project file, note that we need to move even JPX file, generally JPX file for the project
is available in the same folder.
For example move the JPX file from the MyClasses folder to the EOExtensionPRJ directory in server.
After moving the project file and jpx files, run the import script.
java oracle.jrad.tools.xml.importer.JPXImporter $JAVA_TOP/xxeoextension/XXEOExtensionPRJ.jpx -
username apps -password apps -dbconnection "(description = (address_list = (address = (community
= tcp.world)(protocol = tcp)(host = www.newtonapples.com)(port = 1521)))(connect_data =
(service_name = newton)))"
Step 7: Bounce the server or clear the Cache in Function Administrator responsibility. Sometimes even
if you clear cache it will not workout. So therefore, if that the case then you must bounce the server.
Finally select the Create Employee button, so that you can see for the Email Address the default value
as training@newtonapples.com.
You can see the changed Entity Object name in About This Page.

72 7/26/2017 KPIT Technologies Limited Oracle Endeca Information Discovery


EO Extension in OAF Steps
The below image shows the sample output.

73 7/26/2017 KPIT Technologies Limited Oracle Endeca Information Discovery


AM Extension in OAF
In the Main Employee Search page we have a button called Create Employee.
Whenever we click on Create Employee Button it will take us to another page for
creating employee.

74 7/26/2017 KPIT Technologies Limited Oracle Endeca Information Discovery


AM Extension in OAF

After creating employee here obviously we will click on Apply button to add employee
details but whenever we click on Apply button we are creating employee that is fine
and hence there is no Table to track which user created particular Employee.
So therefore here our requirement is to maintain the track Record of User Information,
for Example if we logged in with user name as Operations then after creating
Employee we need to maintain such information like User Operations created so and
so employee.

75 7/26/2017 KPIT Technologies Limited Oracle Endeca Information Discovery


AM Extension Steps
Step 1: Create one Custom table. Note that the following custom table is not required
to register in Oracle Apps because we are not using any KFF(Key Flex Fields) or
DFF(Descriptive Flex Fields) in table.

CREATE TABLE XX_USER(user_id VARCHAR2(40),


user_name VARCHAR2(40),
last_update_login NUMBER,
last_updated_by NUMBER,
last_updated_date DATE,
creation_date DATE,
created_by NUMBER)

Step 2: Identify the AM from the page. That means we need to identify the AM which
we want to extend. For that go to About This page and then extract Business
Component Reference Details.

76 7/26/2017 KPIT Technologies Limited Oracle Endeca Information Discovery


AM Extension Steps
Here we can identify our AM as EmployeeAM.

77 7/26/2017 KPIT Technologies Limited Oracle Endeca Information Discovery


AM Extension Steps
Step 3: Download the AM from the Java_Top and create the directory structure in OAF
patch on our desktop system and paste it in MyProjects.
The below image shows the directory structure after creating in the desktop system.
Note that copying the entire directory structure may take long time and also it may
reduce the JDeveloper Performance so therefore be cautious while creating directory
structure and moving the files from Java_Top to the the MyProjects folder in
JDeveloper.

78 7/26/2017 KPIT Technologies Limited Oracle Endeca Information Discovery


AM Extension Steps
Step 4: After copying AM and Creating Directory Structure create new Workspace and
Project in Directory Structure for extending AM.
Note that in project give the package name same which we found in AboutThisPage.

From the above package now we can give the package for project as follows:
xxamextension.oracle.apps.fnd.framework.toolbox.labsolutions.webui

79 7/26/2017 KPIT Technologies Limited Oracle Endeca Information Discovery


AM Extension Steps

The below image shows the sample project name and Default package name.

80 7/26/2017 KPIT Technologies Limited Oracle Endeca Information Discovery


AM Extension Steps
Step 5: After creating WorkSpace and project create one dummy page so that dummy
structure will be created.
After creating Dummy Structure and Page now create one New Application Module
(AM) in Custom Directory. Right click on the labsolutions and select New Application
Module The below image shows the reference of how to create New AM in custom
Directory.

81 7/26/2017 KPIT Technologies Limited Oracle Endeca Information Discovery


AM Extension Steps
While creating AM in Extends select the Original AM which we copied from Server. The
copied AM must be in the created directory structure in our desktop JDeveloper Patch

82 7/26/2017 KPIT Technologies Limited Oracle Endeca Information Discovery


AM Extension Steps
Step 6: After creating AM now open the AM java file and modify the code, add the following code in the AM Java file.

public class AMExtensionAMImpl extends EmployeeAMImpl


{
/**This is the default constructor (do not remove)
*/
public AMExtensionAMImpl()
{
}
/**Sample main for debugging Business Components code using the tester.
*/
public void apply()
{
java.sql.Date sdate= getOADBTransaction().getCurrentDBDate().dateValue();
try
{
String query= "INSERT INTO XX_USER VALUES(:1,:2,:3,:4,:5,:6,:7)";
PreparedStatement ps= getOADBTransaction().getJdbcConnection().prepareStatement(query);
ps.setInt(1,getOADBTransaction().getUserId());
ps.setString(2,getOADBTransaction().getUserName());
ps.setInt(3,getOADBTransaction().getUserId());
ps.setInt(4,getOADBTransaction().getUserId());
ps.setDate(5,sdate);
ps.setDate(6,sdate);
ps.setInt(7,getOADBTransaction().getUserId());
ps.execute();
}
catch (Exception e)
{
e.printStackTrace();
}
super.apply();
}
public static void main(String[] args)
{
launchTester("xxamextension.oracle.apps.fnd.framework.toolbox.labsolutions", /* package name */
"AMExtensionAMLocal" /* Configuration Name */);
}
}

Rebuild the code and check the code rebuild is successful without any errors.

83 7/26/2017 KPIT Technologies Limited Oracle Endeca Information Discovery


AM Extension Steps
Step 7: After successful compilation go to Project Properties and substitute the New AM with the old AM.
Go to Tools -> Project Properties

84 7/26/2017 KPIT Technologies Limited Oracle Endeca Information Discovery


AM Extension Steps
Find the AM in Available and Substitute list.

85 7/26/2017 KPIT Technologies Limited Oracle Endeca Information Discovery


AM Extension Steps
Select the EmployeeAM from the list and then click on Add button later click on Ok button.

86 7/26/2017 KPIT Technologies Limited Oracle Endeca Information Discovery


AM Extension Steps
After adding Old and New AM now rebuild the Code and Rebuild the entire project.
Step 8: Move the Project file from MyClasses folder in Desktop JDeveloper patch file To the server $Java_Top
directory. The below image shows the sample scenario of moving the project file folder from Desktop to server
java top.

87 7/26/2017 KPIT Technologies Limited Oracle Endeca Information Discovery


AM Extension Steps
After moving the project folder move the jpx generated file. Before moving the jpx file open the jpx file with
notepad and check whether the substitution section is there or not, make sure the substitution section must
exist.
The below image shows the moving process of jpx file from desktop to server. The jpx file is available in
MyProjects folder of JDeveloper patch.

88 7/26/2017 KPIT Technologies Limited Oracle Endeca Information Discovery


AM Extension Steps
Step 9: After moving the files run the import script. The below is the sample import script for AM extension, it is
actually the jpx import script for AM extension.
java oracle.jrad.tools.xml.importer.JPXImporter $JAVA_TOP/xxamextension/AMExtensionOne.jpx -username apps
-password apps -dbconnection "(description = (address_list = (address = (community = tcp.world)(protocol =
tcp)(host = www.newtonapples.com)(port = 1521))) (connect_data = (service_name = newton)))" Step 10: Clear
the Cache in Functional Administrator or bounce the server.
Once after bouncing the server we can see the AM which we created. The below image shows the AM name
which we can find in About This Page.

89 7/26/2017 KPIT Technologies Limited Oracle Endeca Information Discovery


AM Extension Steps
Step 11: Now create new employee in OAF Page using the Crate Employee Button. After adding employee
details click on Apply button.

90 7/26/2017 KPIT Technologies Limited Oracle Endeca Information Discovery


AM Extension Steps
After creating Employee now check in the Custom Created table we can find the information about the user who
created the Employee. For example who created Bharath user.
Here I logged in with default Opertaions user.
SELECT * FROM XX_USER;
Now we can see the information of users who created the Employees.

91 7/26/2017 KPIT Technologies Limited Oracle Endeca Information Discovery


OAF Personalization Migration and
Prerequisites

92 7/26/2017 KPIT Technologies Limited OA Framework Personalizations


OAF Migration Steps
Following steps we need to perform to migrate Personalization from one instance to another.
Events in source instance.
Set profile option "FND: Personalization Document Root Path" appropriately before
exporting personalization.
Go to Functional Administrator. Click on Personalization tab.
Under Import/Export click on Personalization Repository.
Give Document Root Path as "/oracle/apps/pos/supplier/webui" and press Go. Page will
display all the Personalizations.
Select all the listed Personalization s which you want to export and press Export to File
System.

93 7/26/2017 KPIT Technologies Limited OA Framework Personalizations


OAF Migration Steps

Go to the path in "FND: Personalization Document Root Path" and run " tar -cvf
xxPersonalizations.tar ./* ".
Transfer the xxPersonalizations.tar to destination in Binary mode.

94 7/26/2017 KPIT Technologies Limited OA Framework Personalizations


OAF Migration Steps
Events in destination instance.
Set profile option "FND: Personalization Document Root Path" appropriately before
importing Personalizations.
Copy .tar file to middle tier directory pointed by "FND: Personalization Document
Root Path".
Run " tar -xvf xxPersonalizations.tar ".
Go to Functional Administrator.Click on Personalization tab.
Under Import/Export click on Exported Personalizations.
Click on Import from File System.

95 7/26/2017 KPIT Technologies Limited OA Framework Personalizations


OAF Migration Steps

Note: Instead of using Functional Administrator you can user java


oracle.jrad.tools.xml.importer.XMLImporter also to upload Personalizations.
XML Importer Example :
java oracle.jrad.tools.xml.importer.XMLImporter \
./oracle/apps/pos/supplier/webui/customizations/site/0/QuickUpdatePG.xml \ -
username $APPS_USER \ -password $APPS_PASSWD \ -dbconnection
"(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=$DBHOST)(PO
RT=$DBPORT))) (CONNECT_DATA = (SERVICE_NAME=$ORASID) ) )" \ -rootdir ./
96 7/26/2017 KPIT Technologies Limited OA Framework Personalizations
Questions

97 7/26/2017 KPIT Technologies Limited Oracle Endeca Information Discovery


FAQ (Frequently Asked Questions)

98 7/26/2017 KPIT Technologies Limited Oracle Endeca Information Discovery


Thank You

www.kpit.com

99 7/26/2017 KPIT Technologies Limited Oracle Endeca Information Discovery

You might also like