Anil's Blog is Best Viewed on GOOGLE CHROME

Thursday, June 13, 2013

Oracle E-Business Suite R12 Integration and OA Framework Development and Extension Cookbook - Review


In March 2013, First book dedicatedly on OAF was published. This book “Oracle E-Business Suite R12 Integration and OA Framework Development and Extension Cookbook” is authored by Andy Penver, who is having around 18 years of experience around Oracle E-Business Suite applications. In this post I will share my review for this book for you.
Out of the 8 chapters of the book, five of them are dedicated to Oracle Application Framework’s personalization and customization of OAF pages within E-Business Suite Applications. This book is suitable for both beginners who have little knowledge on OAF as well as for experience developers who wants to know additional advanced OAF features and concept. It provides step to step guide for performing various personalization and customization of E-Business Suite Applications. Here is the list of contents that are covered as part of this book
  •      Chapter 1, Personalizing OA Framework Pages
Provides detailed and step to step information for performing various personalizations in E-Business Suite Applications. It explains different types of personalizations, its levels, and various profile options that needs to be set for performing personalization. Also, it explains details about responsibilities that are used for administering and migrating personalizations.
  •   Chapter 2, Getting Started with OA Framework Pages
Gives an overview of the architecture and methodology of OA Framework and various components of OA Framework. It also provides detailed information on setting up the development environment for development of OAF pages. Also, it gives a step to step guide for creating a query page in OAF.
  •  Chapter 3, Creating a Master Detail Page in OA Framework
Explains the concept of Master-Details pages and provides a good understanding on the development of Master Detail page using OA Framework. It explains the deployment process for OAF pages and their registration within E-Business Suite Applications.
  •  Chapter 4, Adding a Creation Page and LOV Region in OA Framework
Focuses on steps involved in creation of a page that allows to insert and update records to the database. It shows how we can write programmatic logic in various classes such as Entity Object Class, Application Module Class etc. It also has a section that explains how we can debug OA pages using Jdeveloper debugger.
  •  Chapter 5, Advanced OA Framework
Is about the advanced features of OA Framework. It explains about programmatic navigation between OAF pages, passing parameters between pages, adding validations to entity object class and calling PLSQL from OAF pages. Another important concept that is explained as part of this chapter is Partial Page Rendering.
  •    Chapter 6, BI Publisher
This chapter provides an overview on how we can integrate BI Publisher with E-Business Suite Applications. It provides recipes to create report templates, generating XML data and support for different output formats.
  •   Chapter 7, Desktop Integration
This chapter explains the details about integration of desktop applications such as Microsoft Word, Excel etc. with Oracle Applications using WebADI.
  •    Chapter 8, Utilities
It explains about some of the utilities provided by oracle for migrating objects between environments. Also, it explains detailed step to step guide on who we can create a custom schema within oracle applications.

Overall, “Oracle E-Business Suite R12 Integration and OA Framework Development and Extension Cookbook” by Andy Penver is a great book and a must buy for all the E-Business Suite Developers who want to learn the basics as well as advanced features on Oracle Application Framework. You can buy the book from here.

Thanks
AJ

Saturday, April 27, 2013

Make DFF field required dynamically


I got many mails from user asking for code which can be refer to make DFF bean required dynamically.

Here is the link:

https://community.oracle.com/thread/1124874

Thx,
Anil

Saturday, November 3, 2012

Dynamically enabling Totaling in Advanced Table

Dynamically enabling Totaling in Advanced Table

Oracle provide the functionality of Totaling for a column by 'Recalculate' button. This means whenever user updates the value of column, user have to click on 'Recalculate' button to see the updated value in Total bean.

We got a business requirement where it has to be happen automatically as soon as user tabs out of the amount field and to achieve this we have enabled a event (fire partial event) and checked in code that whenever this event gets fired, we looped through the View Object rows and set the updated value in Total Bean.

Here is the code that we have written to achieve this.

public void processRequest(OAPageContext pageContext, OAWebBean webBean)

 {

   super.processRequest(pageContext, webBean);

   if(pageContext.getSessionValue("ApplyTotal")!=null) {

       setTotal(pageContext.getSessionValue("ApplyTotal").toString(),pageContext,webBean) ; // Calling setTotal method to set the updated total value in Total Bean.

   }

public void processFormRequest(OAPageContext pageContext, OAWebBean webBean)

{

super.processFormRequest(pageContext, webBean);

OAApplicationModule am = pageContext.getApplicationModule(webBean);

 if("updateTotal".equals(pageContext.getParameter(EVENT_PARAM))) //Total event fired

{
         OAViewObject vo = (OAViewObject)am.findViewObject("XXCreditCardVO1");
         Integer total  = 0;
         if(vo!=null){
         vo.first();
         while(vo.hasNext())  // Loop through VO rows

{
         if(vo.getCurrentRow().getAttribute("BilledAmount")!=null)
             total = total + Integer.parseInt(vo.getCurrentRow().getAttribute("BilledAmount").toString());
             vo.next();
         }
        pageContext.putSessionValue("ApplyTotal",total);  // Putting the value in session
        pageContext.forwardImmediatelyToCurrentPage(null,true, "Y");
     }

public void setTotal(String total, OAPageContext pageContext,OAWebBean webBean){

OAAdvancedTableBean tableBean = (OAAdvancedTableBean)webBean.findChildRecursive("

AdvTableRN");

if(tableBean != null)

{

OAColumnBean tableFooterBean = (OAColumnBean)tableBean.findChildRecursive("ReimbAmountClmn"); 

if (tableFooterBean != null)

{

OAMessageTextInputBean totalBean = (OAMessageTextInputBean)tableFooterBean.findChildRecursive("ReimbAmount");

if (totalBean != null)

{

String formattedTotal = total.toString();

totalBean.setAttributeValue(TABULAR_FUNCTION_VALUE_ATTR, formattedTotal);

}

}

}


Thanks

--Anil