How to migrate personalization on OAF pages

How to migrate personalization on OAF pages
In other articles I have mentioned how to personalize OAF pages. Now we shall discuss how personalization is
migrated from one instance to another.
We shall migrate the personalization we had developed in previous articles. The migration steps are given below.
Step 1: Retrieve the page hierarchy
We shall identify where and which the personalization will be migrated.
Navigate to the OAF Page on which personalization is done. In our case the page is Create Expense report page.
The notable personalizations done on this page are,
•
•
The message on top of the field, Name, saying “Please note that iExpense responsibilities will not
be available on 31-Jul-2012 to mark the occassion of the Great Day. “
The prompt, Manager, has been changed to Line Manager.
Now click on About this Page link on the bottom left of the page.
Note the line underneath the page name, Create Expense Report: General Information. It is
/oracle/apps/ap/oie/entry/header/webui/GeneralInformationPG
The document name will be used in the next step as this is where the OAF page, GeneralInformationPG, is
located and the location of the personalization on this page within the personalization repository.
Note the function name on the page, OIEENTRYFLOW.
Note:
The personalizations have been done at Function level. So we need to export the personalization done at this
level
To check the personalizations on an OAF page you can execute a PL/SQL code in the database.
1
2
3
BEGIN
jdr_utils.listcustomizations ('/oracle/apps/ap/oie/entry/header/webui/GeneralInformationPG');
END;
The output will look like the following,
Output:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
/oracle/apps/ap/oie/entry/header/webui/customizations/responsibility/54174/GeneralInformationPG
/oracle/apps/ap/oie/entry/header/webui/customizations/site/0/GeneralInformationPG
/oracle/apps/ap/oie/entry/header/webui/customizations/responsibility/50299/GeneralInformationPG
/oracle/apps/ap/oie/entry/header/webui/customizations/responsibility/54173/GeneralInformationPG
/oracle/oracle/apps/ap/oie/entry/header/webui/customizations/site/0/GeneralInformationPG
/oracle/apps/ap/oie/entry/header/webui/customizations/responsibility/55925/GeneralInformationPG
/oracle/apps/ap/oie/entry/header/webui/customizations/responsibility/55922/GeneralInformationPG
/oracle/apps/ap/oie/entry/header/webui/customizations/responsibility/56191/GeneralInformationPG
/oracle/apps/ap/oie/entry/header/webui/customizations/responsibility/56271/GeneralInformationPG
/oracle/apps/ap/oie/entry/header/webui/customizations/function/OIEENTRYFLOW/GeneralInformationPG
/oracle/apps/ap/oie/entry/header/webui/customizations/responsibility/56322/GeneralInformationPG
..
..
..
/oracle/apps/ap/oie/entry/header/webui/customizations/responsibility/55230/GeneralInformationPG
Step 2: Download the personalization
Now we shall download the personalization after locating it on the repository.
Go to Responsibility: Functional Administration
Navigation: Personalization > Import/Export > Personalization Repository
Then drill down as per the page hierarchy you had found in the earlier step.
We shall take the personalization done on the Function level by checking the “Select” box on the Page (The
page name isGeneralInformationPG as shown in the previous step). You will notice the Last Updated date on
the right hand side. The date also tells us whether we are looking at the correct OAF page or not.
Check the box for the OAF page whose personalization will be exported.
Now scroll down to the bottom.
Click on the button, Export to File System.
Now you will get a message telling you where the exported personalization file has been dropped. Note the
message,
1
2
Exported 1 document(s) to /d01/applprod/prodappl/XXCUST/11.5.0/bin/planphase successfully.
/oracle/apps/ap/oie/entry/header/webui/customizations/function/OIEENTRYFLOW/GeneralInformationPG
Important:
The personalization file will be dropped on the path defined in the profile option, FND: Personalization
Document
Root
Path.
In
this
example
the
path
is
set to
/d01/applprod/prodappl/XXCUST/11.5.0/bin/planphase and so the file is dropped there. The profile option is set
as the following,
Hit Ctrl+E to open the value in the Editor.
Step 3: Locate the personalization file on the server
Now we shall see where the file has been generated.
Login to Unix and go to the path /d01/applprod/prodappl/XXCUST/11.5.0/bin/planphase (This path is given by
Oracle in the previous step)
cd /d01/applprod/prodappl/XXCUST/11.5.0/bin/planphase
Now
cd
go
the
personalization
path, /oracle/apps/ap/oie/entry/header/webui/customizations/site/0/.
oracle/apps/ap/oie/entry/header/webui/customizations/function/OIEENTRYFLOW/
Now check the contents of the directory.
As you can see a file, GeneralInformationPG.xml, exists in this directory. This xml file contains the personalization
set.
Step 4: Review the exported file
We shall FTP the entire directory structure to a local PC and review the XML file. For this task I prefer to use a
tool called Core FTP Lite as it is free and I can transfer an entire directory structure from and to the local pc.
After transferring the directory structure to your local pc,
Now open the file, GeneralInformationPG.xml in any text editor.
<?xml version = '1.0' encoding = 'UTF-8'?>
xmlns="http://xmlns.oracle.com/jrad" version="9.0.5.4.89_562" xml:lang="en-US"
customizes="/oracle/apps/ap/oie/entry/header/webui/GeneralInformationPG"
1 xmlns:oa="http://xmlns.oracle.com/oa">
2 <modifications>
3 <move element="OIEGeneralInformation" after="pbb"/>
4 <insert before="OIEGeneralInformationMsgCLayout">
5 <oa:formattedText id="Test_msg" adminCustomizable="true" cellNoWrapFormat="false"
6 dataType="VARCHAR2" initSortSeq="none" queryable="false" rendered="true" scope="." sortState="no"
7 styleClass="OraErrorNameText" text="Please note that iExpense responsibilities will not be available on 318 Jul-2012 to mark the occassion of the Great Day." totalValue="false" userCustomizable="false"
9 xmlns:oa="http://xmlns.oracle.com/oa"/>
10 </insert>
11 <move element="ApproverId" after="OIEGeneralInformationMsgCLayout"/>
12 <move element="AdditionalInformationHeader" after="ApproverId"/>
<modify element="OverrideApprover" prompt="Line Manager"/>
</modifications>
</customization>
You can see the customizations in the xml file. You can also view the file contents from the database by executing
the following PL/SQL commands.
1
2
3
BEGIN
jdr_utils.printdocument
('/oracle/apps/ap/oie/entry/header/webui/customizations/function/OIEENTRYFLOW/GeneralInformationPG');
END;
On executing this anonymous block the output will be the same as the exported XML file.
Step 5: Move the exported personalization
We
need
to
migrate
the
file, GeneralInformation.xml,
along
with
the
entire
path,/oracle/apps/ap/oie/entry/header/webui/customizations/function/OIEENTRYFLOW/ to the target Oracle
instance.
First let us locate the value of the profile option, FND: Personalization Document Root Path, on the target
Oracle instance.
The path is /d03/appltest/testcomn/temp. This is the path where we need to drop the xml file with its directory
structure.
Drop the entire structure, /oracle/apps/ap/oie/entry/header/webui/customizations/function/OIEENTRYFLOW/
GeneralInformationPG.xml in the directory, /d03/appltest/testcomn/temp.
Step 6: Check the OAF page in the target Oracle instance before importing personalization
Go to the iExpense page
This is the view of the page in the target instance before migrating the personalization
.
Expand the nodes all the way down to the XML file
Select the checkbox for GeneralInformationPG.xml.
Click on Import from File System and you will get the following screen.
Once import is complete the screen will automatically change to the following
Now import is complete and we have to bounce the web server
Step 8: Bounce the web server in the target instance
We need to either bounce the web server (Apache) or we can clear the cache. For bouncing the web server you
can check out this link and for clearing cache you check this article.
Step 9: Check the personalization on the target instance
Login to Oracle and navigate to the same page in the target instance. That is the Expense report creation page,
where we had done our personalizations.
We can see the message in Red along with the new label “Line Manager”. This means that the personalization
have been successfully migrated to the new instance.
Cheers!