Implementation of PPR [Partial Page Rendering] in OAF Page


Let us try to implement partial page rendering for a text item.Following is a small requirement:

If value of TextItem1 is null then TextItem2 will not be appreared on UI.
If value of TextItem1 is not null then TextItem2 will be appreared on UI.

1. Create a New OA Workspace and Empty OA Project
File> New > General> Workspace Configured for Oracle Applications
File Name -- PPRProj
Project Name – PPRDemoProj
Default Package -- xxcust.oracle.apps.fnd.pprdemo


2. Create Application Module AM
PPRDemoProj right click > New > ADF Business Components > Application Module
Name -- PPRAM
Package -- xxcust.oracle.apps.fnd.pprdemo.server

Check Application Module Class: PPRAMImpl Generate JavaFile(s)

3. Create a PPRVO View Object
PPRDemoProj> New > ADF Business Components > View Objects
Name – PPRVO
Package – xxcust.oracle.apps.fnd.pprdemo.server

In Attribute Page
Click on New button and create transient primary key attribute with the following properties:

Attribute
Property
Name
RowKey
Type
Number
Updateable
Always
Key Attribute
(Checked)

Click New button again and create transient attribute with the following properties:

Attribute
Property
Name
TextItem2Render
Type
Boolean
Updateable
Always

Note – No Need to generate any JAVA files for PPRVO

4. Add Your View Object to Root UI Application Module
Right click on PPRAM > Edit PPRAM > Data Model >
Select PPRVO in Available View Objects list and shuttle to Data Model list

5. Create a OA components Page
PPRDemoProj right click > New > OA Components > Page
Name – PPRPG
Package -- xxcust.oracle.apps.fnd.pprdemo.webui

6. Modify the Page Layout (Top-level) Region

Attribute
Property
ID
PageLayoutRN
Region Style
pageLayout
Form Property
True
Auto Footer
True
Window Title
PPR Demo Window Title True
Title
PPR Demo Page Header
AM Definition
xxcust.oracle.apps.fnd.pprdemo.server.PPRAM

7. Create the Second Region (Main Content Region)
Right click on PageLayoutRN > New > Region

Attribute
Property
ID
MainRN
Region Style
messageComponentLayout

8. Create Two Text Items

Create First messageTextItem --
Right click on MainRN > New > messageTextInput

Attribute
Property
ID
TextItem1
Region Style
messageTextInput
Prompt
Text Item1
Length
20
Disable Server Side Validation
True
Disable Client Side Validation
True
Action Type
firePartialAction
Event
TextItem1Change
Submit
True

Note -- Disable Client Side Validation and Event property appears after you set the Action Type property to firePartialAction

Create Second messageTextItem --
Select MainRN right click > New > messageTextInput

Attribute
Property
ID
TextItem2
Region Style
messageTextInput
Prompt
Text Item2
Length
20
Rendered
${oa.PPRVO1.TextItem2Render}

9. Add Following code in PPRAMImpl.java

import oracle.apps.fnd.framework.OARow; 
import oracle.apps.fnd.framework.OAViewObject; 
import oracle.apps.fnd.framework.server.OAApplicationModuleImpl; 
import oracle.apps.fnd.framework.server.OAViewObjectImpl;
public void handlePPRAction()  
 
 Number val = 1; 
 OAViewObject vo = (OAViewObject)findViewObject("PPRVO1");
 if (vo != null)  
 {  
  if (vo.getFetchedRowCount() == 0)  
  {  
   vo.setMaxFetchSize(0);  
   vo.executeQuery();  
   vo.insertRow(vo.createRow());  
   OARow row = (OARow)vo.first();  
       
   row.setAttribute("RowKey", val); 
   row.setAttribute("TextItem2Render", Boolean.FALSE);    
  } 
 } 
}

10. Implement Controller for Page
Select PageLayoutRN in Structure pane right click > Set New Controller
Package Name -- xxcust.oracle.apps.fnd.pprdemo.webui
Class Name – PPRCO

Write following code in processFormRequest function of PPRCO Controller

import oracle.apps.fnd.framework.OARow; 
import oracle.apps.fnd.framework.OAViewObject;

public void processRequest(OAPageContext pageContext, OAWebBean webBean) 
{ 
 super.processRequest(pageContext, webBean); 
 PPRAMImpl am = (PPRAMImpl)pageContext.getApplicationModule(webBean); 
    
 am.invokeMethod("handlePPRAction"); 
}
public void processFormRequest(OAPageContext pageContext, OAWebBean webBean) 
{ 
 super.processFormRequest(pageContext, webBean); 
      
 PPRAMImpl am = (PPRAMImpl)pageContext.getApplicationModule(webBean); 
 OAViewObject vo = (OAViewObject)am.findViewObject("PPRVO1"); 
 OARow row = (OARow)vo.getCurrentRow(); 
      
 if ("TextItem1Change".equals(pageContext.getParameter(EVENT_PARAM))) 
 { 
  if (pageContext.getParameter("TextItem1").equals("")) 
  { 
   row.setAttribute("TextItem2Render", Boolean.FALSE); 
  } 
  else 
  { 
   row.setAttribute("TextItem2Render", Boolean.TRUE); 
  } 
 } 
}
11. Congratulation you have successfully finished. Run Your PPRPG page and Test Your Work.
Initially the page will look like:

As soon as you enter any value in the Text Item1 field the partial page rendering will occur and Text Item2 field will appear as shown in following screenshot:


Similarly if you remove the value from the Text Item1 field the partial page rendering will occur again and Text Item2 field will be hidden.


COMMENTS

Name

Advance Table In OAF,1,AOL Concepts,18,AP Holds,1,Apps Initialization,1,Blanket Purchase Orders,1,Blanket Releases,1,Careers,9,Common Errors and Solutions,2,Concurrent Programs,10,Contract Purchase Orders,1,Corporate Culture,3,Corporate Ladder,3,Customer Interface,3,Customization,1,De-Normalization,1,EAM,1,EBS Tutorials,10,Education,16,Emterprise Asset Management,1,English,1,Enterprise Asset Management,1,Entrepreneur,1,Error Fixes,1,Executables,2,Extension,1,fnd_user,1,FNDLOAD,1,Global Agreements,1,Guest Posts,7,Handy Scripts,63,Health Tips,1,Important Apps Queries,1,Infographic,3,Interview Preparation,57,Interview Q/A,57,Inventory Org ID,1,Iproc,4,Iprocurement,4,IT,3,jDeveloper,1,Job Search,1,Key Tables In Oracle Apps,5,Learning English,1,MDS,1,Metadata Tables,2,Multi Org Architecture,2,Normalization,1,O2C,1,OAF Interview,49,OAF Personalization,1,OAF Tutorials,52,Operating Unit,1,Oracle Alerts,1,Oracle AP,11,Oracle APIs,4,Oracle Application Object Library,19,Oracle Applications,10,Oracle Apps,2,Oracle Apps Interviews,29,Oracle Apps Tips,8,Oracle Apps Tutorials,97,Oracle AR,18,Oracle Assets,2,Oracle Dabase Structure,2,Oracle Database Architecture,2,Oracle Database Key Tables,3,Oracle EAM,2,Oracle EBS,5,Oracle Financials,2,Oracle Forms And Reports,17,Oracle Forms Interview Questions,6,Oracle Forms Tutorials,6,Oracle GL,4,Oracle Holds,1,Oracle HRMS,10,Oracle Human Resources,1,Oracle Inventory,4,Oracle Payables,1,Oracle Payroll,1,Oracle POTutorials,1,Oracle Purchasing,7,Oracle Reports Interview,9,Oracle Reports Tutorials,3,Oracle System Administrator,4,Oracle Workflow,3,Order Management,2,Organization ID,3,Organizations,3,Performance Tuning,2,Personalization,1,PL/SQL Block,1,PL/SQL Interview Questions,11,PL/SQL Scripts,44,PL/SQL Tutorials,53,Planned Purchase Orders,1,PO,1,PO Action History,1,PO_ACTION_HISTORY,1,POracle Purchasing,1,PR,1,Procedures And Functions,2,Profile Options,2,Purchase Orders,1,Purchase Requisition,2,Receipts,1,Request Groups,1,Responsibility,1,Shell Script,1,SOA Tutorials,4,Social Media,1,Software Industry,2,Software Tools,1,SQL And PL/SQL Interview,38,SQL Interview,51,SQL Scripts,38,SQL Tutorials,43,Standard Purchase Orders,1,Troubleshooting,1,Unexpected error,1,Unix/Linux Commands,3,User,1,Value Sets,1,Weblogic,1,XML Publisher,3,
ltr
item
Oracle Apps Guy: Implementation of PPR [Partial Page Rendering] in OAF Page
Implementation of PPR [Partial Page Rendering] in OAF Page
VO Extension In OAF | Hiding An Item Conditionally Through SPEL In OAF
https://2.bp.blogspot.com/-P69CkqLW_Fo/UQLMpSwEpvI/AAAAAAAAAHg/B3eWj-58EQM/s1600/PPR_demo_screen1.JPG
https://2.bp.blogspot.com/-P69CkqLW_Fo/UQLMpSwEpvI/AAAAAAAAAHg/B3eWj-58EQM/s72-c/PPR_demo_screen1.JPG
Oracle Apps Guy
https://www.oracleappsguy.com/2013/01/implementaion-of-ppr-partial-page.html
https://www.oracleappsguy.com/
https://www.oracleappsguy.com/
https://www.oracleappsguy.com/2013/01/implementaion-of-ppr-partial-page.html
true
4186973960539901882
UTF-8
Loaded All Posts Not found any posts VIEW ALL Readmore Reply Cancel reply Delete By Home PAGES POSTS View All RECOMMENDED FOR YOU LABEL ARCHIVE SEARCH ALL POSTS Not found any post match with your request Back Home Sunday Monday Tuesday Wednesday Thursday Friday Saturday Sun Mon Tue Wed Thu Fri Sat January February March April May June July August September October November December Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec just now 1 minute ago $$1$$ minutes ago 1 hour ago $$1$$ hours ago Yesterday $$1$$ days ago $$1$$ weeks ago more than 5 weeks ago Followers Follow THIS CONTENT IS PREMIUM Please share to unlock Copy All Code Select All Code All codes were copied to your clipboard Can not copy the codes / texts, please press [CTRL]+[C] (or CMD+C with Mac) to copy