Update records in OAF Page
Posted
by PRajkumar
on Oracle Blogs
See other posts from Oracle Blogs
or by PRajkumar
Published on Wed, 27 Jun 2012 13:35:11 +0000
Indexed on
2012/06/27
15:21 UTC
Read the original article
Hit count: 496
/Oracle
1. Create a Search Page to Create a page please go through the following link
https://blogs.oracle.com/prajkumar/entry/create_oaf_search_page
2. Implement Update Action in SearchPG
Right click on ResultTable in SearchPG > New > Item
Set following properties for New Item
Attribute |
Property |
ID |
UpdateAction |
Item Style |
image |
Image URI |
updateicon_enabled.gif |
Atribute Set |
/oracle/apps/fnd/attributesets/Buttons/Update |
Prompt |
Update |
Additional Text |
Update record |
Height |
24 |
Width |
24 |
Action Type |
fireAction |
Event |
update |
Submit |
True |
Parameters |
Name – PColumn1 Value -- ${oa.SearchVO1.Column1} Name – PColumn2 Value -- ${oa.SearchVO1.Column2} |
3. Create a Update Page
Right click on SearchDemo > New > Web Tier > OA Components > Page
Name – UpdatePG
Package – prajkumar.oracle.apps.fnd.searchdemo.webui
4. Select the UpdatePG and go to the strcuture pane where a default region has been created
5. Select region1 and set the following properties:
Attribute |
Property |
ID |
PageLayoutRN |
Region Style |
PageLayout |
AM Definition |
prajkumar.oracle.apps.fnd.searchdemo.server.SearchAM |
Window Title |
Update Page Window |
Title |
Update Page |
Auto Footer |
True |
6. Create the Second Region (Main Content Region)
Select PageLayoutRN right click > New > Region
ID – MainRN
Region Style – messageComponentLayout
7. Create first Item (Empty Field)
MainRN > New > messageTextInput
Attribute |
Property |
ID |
Column1 |
Style Property |
messageTextInput |
Prompt |
Column1 |
Data Type |
VARCHAR2 |
Length |
20 |
Maximum Length |
100 |
View Instance |
SearchVO1 |
View Attribute |
Column1 |
8. Create second Item (Empty Field)
MainRN > New > messageTextInput
Attribute |
Property |
ID |
Column2 |
Style Property |
messageTextInput |
Prompt |
Column2 |
Data Type |
VARCHAR2 |
Length |
20 |
Maximum Length |
100 |
View Instance |
SearchVO1 |
View Attribute |
Column2 |
9. Create a container Region for Apply and Cancel Button in UpdatePG
Select MainRN of UpdatePG
MainRN > messageLayout
Attribute |
Property |
Region |
ButtonLayout |
10. Create Apply Button
Select ButtonLayout > New > Item
Attribute |
Property |
ID |
Apply |
Item Style |
submitButton |
Attribute |
/oracle/apps/fnd/attributesets/Buttons/Apply |
11. Create Cancel Button
Select ButtonLayout > New > Item
Attribute |
Property |
ID |
Cancel |
Item Style |
submitButton |
Attribute |
/oracle/apps/fnd/attributesets/Buttons/Cancel |
12. Add Page Controller for SearchPG
Right Click on PageLayoutRN of SearchPG > Set New Controller
Name – SearchCO
Package -- prajkumar.oracle.apps.fnd.searchdemo.webui
Add Following code in Search Page controller SearchCO
import oracle.apps.fnd.framework.webui.OAPageContext;
import oracle.apps.fnd.framework.webui.beans.OAWebBean;
import oracle.apps.fnd.framework.webui.OAWebBeanConstants;
import oracle.apps.fnd.framework.webui.beans.layout.OAQueryBean;
public void processRequest(OAPageContext pageContext, OAWebBean webBean)
{
super.processRequest(pageContext, webBean);
OAQueryBean queryBean = (OAQueryBean)webBean.findChildRecursive("QueryRN");
queryBean.clearSearchPersistenceCache(pageContext);
}
public void processFormRequest(OAPageContext pageContext, OAWebBean webBean)
{
super.processFormRequest(pageContext, webBean);
if ("update".equals(pageContext.getParameter(EVENT_PARAM)))
{
pageContext.setForwardURL("OA.jsp?page=/prajkumar/oracle/apps/fnd/searchdemo/webui/UpdatePG",
null,
OAWebBeanConstants.KEEP_MENU_CONTEXT,
null,
null,
true,
OAWebBeanConstants.ADD_BREAD_CRUMB_NO,
OAWebBeanConstants.IGNORE_MESSAGES);
}
}
13. Add Page Controller for UpdatePG
Right Click on PageLayoutRN of UpdatePG > Set New Controller
Name – UpdateCO
Package -- prajkumar.oracle.apps.fnd.searchdemo.webui
Add Following code in Update Page controller UpdateCO
import oracle.apps.fnd.framework.webui.OAPageContext;
import oracle.apps.fnd.framework.webui.beans.OAWebBean;
import oracle.apps.fnd.framework.webui.OAWebBeanConstants;
import oracle.apps.fnd.framework.OAApplicationModule;
import java.io.Serializable;
public void processRequest(OAPageContext pageContext, OAWebBean webBean)
{
super.processRequest(pageContext, webBean);
OAApplicationModule am = pageContext.getApplicationModule(webBean);
String Column1 = pageContext.getParameter("PColumn1");
String Column2 = pageContext.getParameter("PColumn2");
Serializable[] params = { Column1, Column2 };
am.invokeMethod("updateRow", params);
}
public void processFormRequest(OAPageContext pageContext, OAWebBean webBean)
{
super.processFormRequest(pageContext, webBean);
OAApplicationModule am = pageContext.getApplicationModule(webBean);
if (pageContext.getParameter("Apply") != null)
{
am.invokeMethod("apply");
pageContext.forwardImmediately("OA.jsp?page=/prajkumar/oracle/apps/fnd/searchdemo/webui/SearchPG",
null,
OAWebBeanConstants.KEEP_MENU_CONTEXT,
null,
null,
false, // retain AM
OAWebBeanConstants.ADD_BREAD_CRUMB_NO);
}
else if (pageContext.getParameter("Cancel") != null)
{
am.invokeMethod("rollback");
pageContext.forwardImmediately("OA.jsp?page=/prajkumar/oracle/apps/fnd/searchdemo/webui/SearchPG",
null,
OAWebBeanConstants.KEEP_MENU_CONTEXT,
null,
null,
false, // retain AM
OAWebBeanConstants.ADD_BREAD_CRUMB_NO);
}
}
14. Add following Code in SearchAMImpl
import oracle.apps.fnd.framework.server.OAApplicationModuleImpl;
import oracle.apps.fnd.framework.server.OAViewObjectImpl;
public void updateRow(String Column1, String Column2)
{
SearchVOImpl vo = (SearchVOImpl)getSearchVO1();
vo.initQuery(Column1, Column2);
}
public void apply()
{
getTransaction().commit();
}
public void rollback()
{
getTransaction().rollback();
}
15. Add following Code in SearchVOImpl
import oracle.apps.fnd.framework.server.OAViewObjectImpl;
public void initQuery(String Column1, String Column2)
{
if ((Column1 != null) && (!("".equals(Column1.trim()))))
{
setWhereClause("column1 = :1 AND column2 = :2");
setWhereClauseParams(null); // Always reset
setWhereClauseParam(0, Column1);
setWhereClauseParam(1, Column2);
executeQuery();
}
}
16. Congratulation you have successfully finished. Run Your Search page and Test Your Work
© Oracle Blogs or respective owner