SlideShare a Scribd company logo
Customizing Oracle EBS  with  OA Framework
Agenda Introduction Architectural components Customization – Extension – Personalization Partial Page Rendering and SPEL Deployment OAF  v/s  ADF
OAF (Oracle Application Framework) MVC based J2EE framework customized for use in Oracle Applications development. Application Framework for developing, extending self service/web/html based pages in E-BS. Historical Perspective Very first HTML screen in oracle apps was created using PL/SQL code, using PL/SQL toolkit. AK Developer, repository for storing structure and definition of the web pages. Current Technology - OA Framework with MDS. Overview of OA Framework
Browser Support Firefox 3.6 certified to work with E-BS R12 IE 8 certified to work with E-BS R12 Go to E-BS link in the browser Server generates a session and sends back JSESSIONID Browser sends username/password with JSESSIONID User is authenticated http://www.iwarelogic.com/blog/ebs-session-management-871 Session Timeout ICX:Session Timeout ICX: Limit Time Browser Support and Session Management
User selects a responsibility and a function MDS Tables (JDR_*) XML representation cached in memory Web Bean hierarchy is instantiated, top level bean is  PageLayouBean  and then for each component of the page there is a web-bean Page Rendering
D Database Entity Objects (EOs) View Objects (VOs) Application Modules (AMs) OA Controllers (COs) Create, Update entities, Validations SQL based or EO based BC4J Liaison between controller and VO/EO. Does connection pooling and state management Java Class, called mainly when page renders itself to respond to user events Architectural Components
Application Module (AM) Container for VO, EO, view link, entity association AM Retention Get request, not retained by default Multipage transaction, have same rootAM and use retainAM=Y Post request, it is by default retained Files <XxIware>AM.xml <XxIware>AMImpl.java Business Components for Java
View Object (VO) Represent a query result and can be based on SQL statement Entity Object Files <XxIware>VO.xml <XxIware>VOImpl.java <XxIware>VORowImpl.java Entity Object (EO) Handle database insert/update/delete Files <XxIware>EO.xml <XxIware>EOImpl.java create, remove, validateEntity Business Components for Java
processRequest(OAPageContext c, OAWebBean b) VO queries are executed Can create all UI components processFormData(OAPageContext c, OAWebBean b) User makes changes on the pages and posts back the page Does validations and moves changed values to VO/EO cache Calls validation methods processFormRequest(OAPageContext c, OAWebBean b) Gets called after PFD returns without raising any exceptions Place to do database commits Controller Class
Installation Setting up E-BS from distribution media to the host operating system . Configuration Process of setting proper parameters, needs subject matter experts from various business domains. Personalization Process of declaratively altering page’s UI to meet business needs. Extension Process of altering page’s functionality programmatically (using PL/SQL, Java). Customization Process of creating new pages. Deployment Process of moving personalizations, extensions or customizations from development instance to Test/Production instance. Important Terminology
Profile options Personalize Self-Service Defn FND: personalization region Link Enabled Disable Self-Service Personal D OAF Page Function level Location level Site level Organization level Responsibility level P R E C E D E N C E Personalization
How it is done “ Personalize Page” link Function Administrator responsibility Importing Common types Changing labels, prompts Hiding or adding table columns Re-ordering UI elements Adding buttons, labels, flexfields Adding regions Personalization
Involve some programming Controller Instantiate custom VO Create certain UI elements which can’t be done via personalization (switcher) Control visibility based on profile options Invoke a workflow Invoke a third party web-service Extensions
VO extension Needed when value to be displayed to the user on the screen is not available in underlying VO Example Extensions
Adding new pages Customization
PPR: Ability to partially render the page SPEL: Simplest Possible Expression Language $(oa.XxIwarePhoneVO.IsPhNumReadOnly} $(oa.FunctionSecurity.SUPPLIER_READ_ONLY} Partial Page Rendering and SPEL
String wfItemType = &quot;XXITMTYP&quot;;  String wfProcess = &quot;XX_PROC_NAME&quot;;  OADBTransaction tr = c.getApplicationModule(b).getOADBTransaction();  String wfItemKey = “XX_SEQ” + tr.getSequenceValue(“SOME_SEQ&quot;).toString();  OANavigation navigation =  new  OANavigation();  // Create Workflow Process  navigation.createProcess(pageContext, wfItemType, wfProcess, wfItemKey);  // Set Workflow attributes navigation.setItemAttrText(pageContext, wfItemType, wfItemKey, &quot;#FROM_ROLE&quot;, &quot;SYSADMIN&quot;);  navigation.setItemAttrText(pageContext, wfItemType, wfItemKey, “ATTR1&quot;, “Value1”);  // Start Workflow Process boolean success = navigation.startProcess(pageContext, wfItemType, wfProcess, wfItemKey); Workflow Invocation
Create an attribute of type “Document”, say XX_DETAILS JSP:/OA_HTML/OA.jsp?OAFunc=XX_ CUST_REVIEW_RN&Param=&XX_ATTRIB1 Include &XX_DETAILS in notification message body Region rendered on notification page Embedding Custom Region in Notification
Out-of-the box support for attachments Can be done via personalization (Attachment Table) Update Allowed Insert Allowed Table FND_ATTACHED_DOCUMENTS ENTITY_NAME, PK1_VALUE (5 possible primary keys) Attachment Support
Importing Page and Region files with xmlimport.bat Registering VO and AM extensions with jpximport.bat Deploying class, xml files Exporting/Importing personalizations Restarting the server Deployment
Fusion Applications Inherent support for web-services, SOA BPEL as the workflow solution Is not same as Fusion Middleware ADF MVC Framework for generic J2EE based application development Very declarative drag and drop approach Unlike OAF, ADF is not a vendor or technology specific framework. In fact it supports a number of technologies for each of its Model, View and Controller components Does not have native support for integration with 11i or R12 ADF (Application Development Framework)
OAF Shortcomings Declarative screen design, no WYSWYG, no drag and drop facility No inherent support for web-services Page flow needs to be coded and can’t be set declaratively For all tightly coupled Oracle Applications related development and customizations, stick to OA Framework. As full fledged Fusion Apps is still far away, all the customers will be on 11i or R12 release of code for a couple of more years and the biggest chunk of maintenance /enhancement work will be based on OAF.  Scenarios where ADF fit into current Apps related development is the kind of project where you have to develop a completely standalone application which just uses the Oracle Apps data but is not required to integrate with the Oracle Apps. OAF Vs ADF
Where do we need Extension Prerequisites  for Extension Why there is a need to create a application as a prerequisite  How to Extend a VO – EO – Controller How Personalization play a role in Extension Validation VO and Validation AM Deploying your extensions Extensions in EBS  Agenda For Upcoming webinar
Questions and Answers Questions Answers
iWare   Logic  Technologies Pvt. Ltd.  Aditi Samruddhi, Baner, Pune,  India - 411045  Email:  [email_address] Website:  www.iwarelogic.com

More Related Content

What's hot (20)

PDF
Oracle R12 Apps - Order Management Tables & Descriptions
Boopathy CS
 
PDF
Oracle Fixed assets ivas
Ali Ibrahim
 
DOCX
Oracle inventory R12 Setup Guide
Ahmed Elshayeb
 
DOCX
Understanding and using life event checklists in oracle hrms r12
MuhammadAbubakar206124
 
DOC
Setup Oracle EBS R12 Performance Management
Feras Ahmad
 
PPTX
Approval Hierarchy in Oracle Apps
Rahul Guhathakurta
 
PDF
Infolets and OTBI Deep link Actionable Reports - Configuration Work Book
Feras Ahmad
 
PDF
Technical architecture for order management
Mohit kumar Gupta
 
DOC
Basics of oracle service contracts
shravan kumar chelika
 
PDF
Document of Record
Feras Ahmad
 
DOCX
R12 Fixed Assets General Questions
Baker Khader Abdallah, PMP
 
PDF
Oracle EBS R12 Order Management Notes
Tech Leads IT
 
PDF
Introduction to Oracle Fusion BIP Reporting
Gurpreet singh
 
PDF
Oracle EBS HRMS SETUP
Hussain Abbas
 
DOCX
Oracle EBS R12 Sales order personalization
Ahmed Elshayeb
 
ODT
R12:Payment Process Request (PPR)
lingaswamy vallapu
 
PDF
Oracle Payables R12 ivas
Ali Ibrahim
 
DOC
Oracle EBS R12 Payroll user manual
Feras Ahmad
 
PPTX
Oracle Ebiz R12.2 Features -- Ravi Sagaram
ravisagaram
 
DOC
AME Requisition Approval Heirarchy
Mohammad Younus
 
Oracle R12 Apps - Order Management Tables & Descriptions
Boopathy CS
 
Oracle Fixed assets ivas
Ali Ibrahim
 
Oracle inventory R12 Setup Guide
Ahmed Elshayeb
 
Understanding and using life event checklists in oracle hrms r12
MuhammadAbubakar206124
 
Setup Oracle EBS R12 Performance Management
Feras Ahmad
 
Approval Hierarchy in Oracle Apps
Rahul Guhathakurta
 
Infolets and OTBI Deep link Actionable Reports - Configuration Work Book
Feras Ahmad
 
Technical architecture for order management
Mohit kumar Gupta
 
Basics of oracle service contracts
shravan kumar chelika
 
Document of Record
Feras Ahmad
 
R12 Fixed Assets General Questions
Baker Khader Abdallah, PMP
 
Oracle EBS R12 Order Management Notes
Tech Leads IT
 
Introduction to Oracle Fusion BIP Reporting
Gurpreet singh
 
Oracle EBS HRMS SETUP
Hussain Abbas
 
Oracle EBS R12 Sales order personalization
Ahmed Elshayeb
 
R12:Payment Process Request (PPR)
lingaswamy vallapu
 
Oracle Payables R12 ivas
Ali Ibrahim
 
Oracle EBS R12 Payroll user manual
Feras Ahmad
 
Oracle Ebiz R12.2 Features -- Ravi Sagaram
ravisagaram
 
AME Requisition Approval Heirarchy
Mohammad Younus
 

Viewers also liked (6)

PPT
Webinar - Oracle iProcurement in Oracle Purchasing Application
iWare Logic Technologies Pvt. Ltd.
 
PPT
Oracle R12 Financials New Features Overview
iWare Logic Technologies Pvt. Ltd.
 
PPT
Differences R12 Vs 11i.5.10
Dharmalingam Kandampalayam Shanmugam
 
PPT
Oracle Application Differences & Drop Ship Sales Orders
iWare Logic Technologies Pvt. Ltd.
 
PPT
New Enhancements + Upgrade Path to Oracle EBS R12.1.3
iWare Logic Technologies Pvt. Ltd.
 
PPT
Webinar: Oracle R12 Warehouse Management System (WMS) Overview
iWare Logic Technologies Pvt. Ltd.
 
Webinar - Oracle iProcurement in Oracle Purchasing Application
iWare Logic Technologies Pvt. Ltd.
 
Oracle R12 Financials New Features Overview
iWare Logic Technologies Pvt. Ltd.
 
Differences R12 Vs 11i.5.10
Dharmalingam Kandampalayam Shanmugam
 
Oracle Application Differences & Drop Ship Sales Orders
iWare Logic Technologies Pvt. Ltd.
 
New Enhancements + Upgrade Path to Oracle EBS R12.1.3
iWare Logic Technologies Pvt. Ltd.
 
Webinar: Oracle R12 Warehouse Management System (WMS) Overview
iWare Logic Technologies Pvt. Ltd.
 
Ad

Similar to Customizing Oracle EBS OA Framework (20)

PPT
Extensions in OAF
iWare Logic Technologies Pvt. Ltd.
 
PPTX
Comparison between OAF & ADF.pptx
ssuserb8935e
 
PDF
Oaf Course Content
ERP KEY
 
DOC
OAF Syllabus
Fusion Oracle
 
PPTX
OAF & ADF.pptx
ssuserb8935e
 
DOCX
Oracle adf online training
o2education
 
DOCX
Best Weblogic Server Online Training
Samatha Kamuni
 
PPT
Oracle Fusion Development, May 2009
Jaime Cid
 
PDF
New & Emerging _ Mick Andrew _ Adding mobile and web 2.0 UIs to existing appl...
InSync2011
 
PPT
EBsSDKForJavaWithOracleADF_ppt.ppt
SudhirSinghShakyaVan
 
PPT
Oaf development-guide
俊 朱
 
PDF
24221030 Enhance Oracle Sshr With Advanced Personalizations And Oa Fwk Extens...
Hossam El-Faxe
 
PPTX
...and thus your forms automagically disappeared
Luc Bors
 
DOC
Rohit chaturvedi
Rohit Chaturvedi
 
PPT
1.OAF Custom Page Screen Shots.ppt
ShekarBKollu
 
PDF
Oracle ADF Tutorial
Deepak Bhagat
 
PDF
Oracle EBS 12.1.3 : Integrate OA Framework BC4J components within java concur...
Amit Singh
 
PDF
Adf coursecontent(1)
Amit Sharma
 
PDF
Build application with adf framework
bispsolutions
 
Comparison between OAF & ADF.pptx
ssuserb8935e
 
Oaf Course Content
ERP KEY
 
OAF Syllabus
Fusion Oracle
 
OAF & ADF.pptx
ssuserb8935e
 
Oracle adf online training
o2education
 
Best Weblogic Server Online Training
Samatha Kamuni
 
Oracle Fusion Development, May 2009
Jaime Cid
 
New & Emerging _ Mick Andrew _ Adding mobile and web 2.0 UIs to existing appl...
InSync2011
 
EBsSDKForJavaWithOracleADF_ppt.ppt
SudhirSinghShakyaVan
 
Oaf development-guide
俊 朱
 
24221030 Enhance Oracle Sshr With Advanced Personalizations And Oa Fwk Extens...
Hossam El-Faxe
 
...and thus your forms automagically disappeared
Luc Bors
 
Rohit chaturvedi
Rohit Chaturvedi
 
1.OAF Custom Page Screen Shots.ppt
ShekarBKollu
 
Oracle ADF Tutorial
Deepak Bhagat
 
Oracle EBS 12.1.3 : Integrate OA Framework BC4J components within java concur...
Amit Singh
 
Adf coursecontent(1)
Amit Sharma
 
Build application with adf framework
bispsolutions
 
Ad

More from iWare Logic Technologies Pvt. Ltd. (20)

PPTX
Webinar: Mass Additions – R12 Asset Management
iWare Logic Technologies Pvt. Ltd.
 
PPTX
Webcast: BUDGETING - R12.1.3 ORACLE GENERAL LEDGER
iWare Logic Technologies Pvt. Ltd.
 
PPT
OBIEE 11g Overview | Free Webcast
iWare Logic Technologies Pvt. Ltd.
 
PPT
Free Webcast: A Concise View Of Oracle Order Management (OM)
iWare Logic Technologies Pvt. Ltd.
 
PPT
Webinar: Visionary Analysis Of Oracle R12 Purchasing Application
iWare Logic Technologies Pvt. Ltd.
 
PPT
Implement new OBIEE 11g user interface through KPI and Scorecard
iWare Logic Technologies Pvt. Ltd.
 
PPT
Capsulization of Oracle Inventory
iWare Logic Technologies Pvt. Ltd.
 
PPT
Summary Account R12 General Ledger
iWare Logic Technologies Pvt. Ltd.
 
PPTX
Dual Units Of Measure, Use, Benefits and Impact in Oracle application
iWare Logic Technologies Pvt. Ltd.
 
PPT
Introduction to OBIEE 11g
iWare Logic Technologies Pvt. Ltd.
 
PPT
Procurement of Services using Oracle EBS
iWare Logic Technologies Pvt. Ltd.
 
PPT
ORACLE Talent Management: PERFORMANCE APPRAISAL SYSTEM
iWare Logic Technologies Pvt. Ltd.
 
PPT
Oracle eAM - Right Fit To Oil & Gas Industries
iWare Logic Technologies Pvt. Ltd.
 
PPTX
ORACLE BI APPLICATIONS – IMPLEMENTATION & CUSTOMIZATION FOR ORACLE EBS
iWare Logic Technologies Pvt. Ltd.
 
PPT
Oracle Connect Newsletter-August, 2010 issue
iWare Logic Technologies Pvt. Ltd.
 
PPT
Oracle eAM Overview And Integration With E-Business Suite
iWare Logic Technologies Pvt. Ltd.
 
PPT
Oracle connect newsletter July, 2010 issue
iWare Logic Technologies Pvt. Ltd.
 
PPT
Metadata Creation In OBIEE
iWare Logic Technologies Pvt. Ltd.
 
PPT
Oracle Connect Newsletter June, 2010 Issue
iWare Logic Technologies Pvt. Ltd.
 
Webinar: Mass Additions – R12 Asset Management
iWare Logic Technologies Pvt. Ltd.
 
Webcast: BUDGETING - R12.1.3 ORACLE GENERAL LEDGER
iWare Logic Technologies Pvt. Ltd.
 
OBIEE 11g Overview | Free Webcast
iWare Logic Technologies Pvt. Ltd.
 
Free Webcast: A Concise View Of Oracle Order Management (OM)
iWare Logic Technologies Pvt. Ltd.
 
Webinar: Visionary Analysis Of Oracle R12 Purchasing Application
iWare Logic Technologies Pvt. Ltd.
 
Implement new OBIEE 11g user interface through KPI and Scorecard
iWare Logic Technologies Pvt. Ltd.
 
Capsulization of Oracle Inventory
iWare Logic Technologies Pvt. Ltd.
 
Summary Account R12 General Ledger
iWare Logic Technologies Pvt. Ltd.
 
Dual Units Of Measure, Use, Benefits and Impact in Oracle application
iWare Logic Technologies Pvt. Ltd.
 
Introduction to OBIEE 11g
iWare Logic Technologies Pvt. Ltd.
 
Procurement of Services using Oracle EBS
iWare Logic Technologies Pvt. Ltd.
 
ORACLE Talent Management: PERFORMANCE APPRAISAL SYSTEM
iWare Logic Technologies Pvt. Ltd.
 
Oracle eAM - Right Fit To Oil & Gas Industries
iWare Logic Technologies Pvt. Ltd.
 
ORACLE BI APPLICATIONS – IMPLEMENTATION & CUSTOMIZATION FOR ORACLE EBS
iWare Logic Technologies Pvt. Ltd.
 
Oracle Connect Newsletter-August, 2010 issue
iWare Logic Technologies Pvt. Ltd.
 
Oracle eAM Overview And Integration With E-Business Suite
iWare Logic Technologies Pvt. Ltd.
 
Oracle connect newsletter July, 2010 issue
iWare Logic Technologies Pvt. Ltd.
 
Metadata Creation In OBIEE
iWare Logic Technologies Pvt. Ltd.
 
Oracle Connect Newsletter June, 2010 Issue
iWare Logic Technologies Pvt. Ltd.
 

Recently uploaded (20)

PDF
Transforming Utility Networks: Large-scale Data Migrations with FME
Safe Software
 
PDF
Mastering Financial Management in Direct Selling
Epixel MLM Software
 
PPTX
From Sci-Fi to Reality: Exploring AI Evolution
Svetlana Meissner
 
PPTX
Mastering ODC + Okta Configuration - Chennai OSUG
HathiMaryA
 
PDF
UiPath DevConnect 2025: Agentic Automation Community User Group Meeting
DianaGray10
 
PDF
Kit-Works Team Study_20250627_한달만에만든사내서비스키링(양다윗).pdf
Wonjun Hwang
 
PDF
Future-Proof or Fall Behind? 10 Tech Trends You Can’t Afford to Ignore in 2025
DIGITALCONFEX
 
PDF
How do you fast track Agentic automation use cases discovery?
DianaGray10
 
PDF
LOOPS in C Programming Language - Technology
RishabhDwivedi43
 
PDF
AI Agents in the Cloud: The Rise of Agentic Cloud Architecture
Lilly Gracia
 
PDF
“Voice Interfaces on a Budget: Building Real-time Speech Recognition on Low-c...
Edge AI and Vision Alliance
 
PDF
The Rise of AI and IoT in Mobile App Tech.pdf
IMG Global Infotech
 
PPTX
Designing_the_Future_AI_Driven_Product_Experiences_Across_Devices.pptx
presentifyai
 
DOCX
Cryptography Quiz: test your knowledge of this important security concept.
Rajni Bhardwaj Grover
 
DOCX
Python coding for beginners !! Start now!#
Rajni Bhardwaj Grover
 
PDF
Go Concurrency Real-World Patterns, Pitfalls, and Playground Battles.pdf
Emily Achieng
 
PDF
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
PPTX
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 
PPTX
Agentforce World Tour Toronto '25 - MCP with MuleSoft
Alexandra N. Martinez
 
PDF
UPDF - AI PDF Editor & Converter Key Features
DealFuel
 
Transforming Utility Networks: Large-scale Data Migrations with FME
Safe Software
 
Mastering Financial Management in Direct Selling
Epixel MLM Software
 
From Sci-Fi to Reality: Exploring AI Evolution
Svetlana Meissner
 
Mastering ODC + Okta Configuration - Chennai OSUG
HathiMaryA
 
UiPath DevConnect 2025: Agentic Automation Community User Group Meeting
DianaGray10
 
Kit-Works Team Study_20250627_한달만에만든사내서비스키링(양다윗).pdf
Wonjun Hwang
 
Future-Proof or Fall Behind? 10 Tech Trends You Can’t Afford to Ignore in 2025
DIGITALCONFEX
 
How do you fast track Agentic automation use cases discovery?
DianaGray10
 
LOOPS in C Programming Language - Technology
RishabhDwivedi43
 
AI Agents in the Cloud: The Rise of Agentic Cloud Architecture
Lilly Gracia
 
“Voice Interfaces on a Budget: Building Real-time Speech Recognition on Low-c...
Edge AI and Vision Alliance
 
The Rise of AI and IoT in Mobile App Tech.pdf
IMG Global Infotech
 
Designing_the_Future_AI_Driven_Product_Experiences_Across_Devices.pptx
presentifyai
 
Cryptography Quiz: test your knowledge of this important security concept.
Rajni Bhardwaj Grover
 
Python coding for beginners !! Start now!#
Rajni Bhardwaj Grover
 
Go Concurrency Real-World Patterns, Pitfalls, and Playground Battles.pdf
Emily Achieng
 
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 
Agentforce World Tour Toronto '25 - MCP with MuleSoft
Alexandra N. Martinez
 
UPDF - AI PDF Editor & Converter Key Features
DealFuel
 

Customizing Oracle EBS OA Framework

  • 1. Customizing Oracle EBS with OA Framework
  • 2. Agenda Introduction Architectural components Customization – Extension – Personalization Partial Page Rendering and SPEL Deployment OAF v/s ADF
  • 3. OAF (Oracle Application Framework) MVC based J2EE framework customized for use in Oracle Applications development. Application Framework for developing, extending self service/web/html based pages in E-BS. Historical Perspective Very first HTML screen in oracle apps was created using PL/SQL code, using PL/SQL toolkit. AK Developer, repository for storing structure and definition of the web pages. Current Technology - OA Framework with MDS. Overview of OA Framework
  • 4. Browser Support Firefox 3.6 certified to work with E-BS R12 IE 8 certified to work with E-BS R12 Go to E-BS link in the browser Server generates a session and sends back JSESSIONID Browser sends username/password with JSESSIONID User is authenticated http://www.iwarelogic.com/blog/ebs-session-management-871 Session Timeout ICX:Session Timeout ICX: Limit Time Browser Support and Session Management
  • 5. User selects a responsibility and a function MDS Tables (JDR_*) XML representation cached in memory Web Bean hierarchy is instantiated, top level bean is PageLayouBean and then for each component of the page there is a web-bean Page Rendering
  • 6. D Database Entity Objects (EOs) View Objects (VOs) Application Modules (AMs) OA Controllers (COs) Create, Update entities, Validations SQL based or EO based BC4J Liaison between controller and VO/EO. Does connection pooling and state management Java Class, called mainly when page renders itself to respond to user events Architectural Components
  • 7. Application Module (AM) Container for VO, EO, view link, entity association AM Retention Get request, not retained by default Multipage transaction, have same rootAM and use retainAM=Y Post request, it is by default retained Files <XxIware>AM.xml <XxIware>AMImpl.java Business Components for Java
  • 8. View Object (VO) Represent a query result and can be based on SQL statement Entity Object Files <XxIware>VO.xml <XxIware>VOImpl.java <XxIware>VORowImpl.java Entity Object (EO) Handle database insert/update/delete Files <XxIware>EO.xml <XxIware>EOImpl.java create, remove, validateEntity Business Components for Java
  • 9. processRequest(OAPageContext c, OAWebBean b) VO queries are executed Can create all UI components processFormData(OAPageContext c, OAWebBean b) User makes changes on the pages and posts back the page Does validations and moves changed values to VO/EO cache Calls validation methods processFormRequest(OAPageContext c, OAWebBean b) Gets called after PFD returns without raising any exceptions Place to do database commits Controller Class
  • 10. Installation Setting up E-BS from distribution media to the host operating system . Configuration Process of setting proper parameters, needs subject matter experts from various business domains. Personalization Process of declaratively altering page’s UI to meet business needs. Extension Process of altering page’s functionality programmatically (using PL/SQL, Java). Customization Process of creating new pages. Deployment Process of moving personalizations, extensions or customizations from development instance to Test/Production instance. Important Terminology
  • 11. Profile options Personalize Self-Service Defn FND: personalization region Link Enabled Disable Self-Service Personal D OAF Page Function level Location level Site level Organization level Responsibility level P R E C E D E N C E Personalization
  • 12. How it is done “ Personalize Page” link Function Administrator responsibility Importing Common types Changing labels, prompts Hiding or adding table columns Re-ordering UI elements Adding buttons, labels, flexfields Adding regions Personalization
  • 13. Involve some programming Controller Instantiate custom VO Create certain UI elements which can’t be done via personalization (switcher) Control visibility based on profile options Invoke a workflow Invoke a third party web-service Extensions
  • 14. VO extension Needed when value to be displayed to the user on the screen is not available in underlying VO Example Extensions
  • 15. Adding new pages Customization
  • 16. PPR: Ability to partially render the page SPEL: Simplest Possible Expression Language $(oa.XxIwarePhoneVO.IsPhNumReadOnly} $(oa.FunctionSecurity.SUPPLIER_READ_ONLY} Partial Page Rendering and SPEL
  • 17. String wfItemType = &quot;XXITMTYP&quot;; String wfProcess = &quot;XX_PROC_NAME&quot;; OADBTransaction tr = c.getApplicationModule(b).getOADBTransaction(); String wfItemKey = “XX_SEQ” + tr.getSequenceValue(“SOME_SEQ&quot;).toString(); OANavigation navigation = new OANavigation(); // Create Workflow Process navigation.createProcess(pageContext, wfItemType, wfProcess, wfItemKey); // Set Workflow attributes navigation.setItemAttrText(pageContext, wfItemType, wfItemKey, &quot;#FROM_ROLE&quot;, &quot;SYSADMIN&quot;); navigation.setItemAttrText(pageContext, wfItemType, wfItemKey, “ATTR1&quot;, “Value1”); // Start Workflow Process boolean success = navigation.startProcess(pageContext, wfItemType, wfProcess, wfItemKey); Workflow Invocation
  • 18. Create an attribute of type “Document”, say XX_DETAILS JSP:/OA_HTML/OA.jsp?OAFunc=XX_ CUST_REVIEW_RN&Param=&XX_ATTRIB1 Include &XX_DETAILS in notification message body Region rendered on notification page Embedding Custom Region in Notification
  • 19. Out-of-the box support for attachments Can be done via personalization (Attachment Table) Update Allowed Insert Allowed Table FND_ATTACHED_DOCUMENTS ENTITY_NAME, PK1_VALUE (5 possible primary keys) Attachment Support
  • 20. Importing Page and Region files with xmlimport.bat Registering VO and AM extensions with jpximport.bat Deploying class, xml files Exporting/Importing personalizations Restarting the server Deployment
  • 21. Fusion Applications Inherent support for web-services, SOA BPEL as the workflow solution Is not same as Fusion Middleware ADF MVC Framework for generic J2EE based application development Very declarative drag and drop approach Unlike OAF, ADF is not a vendor or technology specific framework. In fact it supports a number of technologies for each of its Model, View and Controller components Does not have native support for integration with 11i or R12 ADF (Application Development Framework)
  • 22. OAF Shortcomings Declarative screen design, no WYSWYG, no drag and drop facility No inherent support for web-services Page flow needs to be coded and can’t be set declaratively For all tightly coupled Oracle Applications related development and customizations, stick to OA Framework. As full fledged Fusion Apps is still far away, all the customers will be on 11i or R12 release of code for a couple of more years and the biggest chunk of maintenance /enhancement work will be based on OAF. Scenarios where ADF fit into current Apps related development is the kind of project where you have to develop a completely standalone application which just uses the Oracle Apps data but is not required to integrate with the Oracle Apps. OAF Vs ADF
  • 23. Where do we need Extension Prerequisites for Extension Why there is a need to create a application as a prerequisite How to Extend a VO – EO – Controller How Personalization play a role in Extension Validation VO and Validation AM Deploying your extensions Extensions in EBS Agenda For Upcoming webinar
  • 24. Questions and Answers Questions Answers
  • 25. iWare Logic Technologies Pvt. Ltd. Aditi Samruddhi, Baner, Pune, India - 411045 Email: [email_address] Website: www.iwarelogic.com

Editor's Notes

  • #3: We are going to talk about OAF. Idea of this webinar is not to cover any particular topic in OAF in depth but to try &amp; cover all aspects involved in OAF programming.
  • #4: It has become bread &amp; butter for EBS application developers, which earlier was Forms and Reports Runs on Oracle Application Server (Oracle HTTP Server [modified apache] + OC4J [OracleAS Container for J2EE]) - Many applications in E-BS are now completely based on OAF pages. Historical Perfective PL/SQL code would generate HTML tags and eventually HTML page, package named htp was used for this Problems with PL/SQL toolkit Even to do a small label change, you need to change PL/SQL code UI, navigation and business logic resided in PL/SQL code AK Developer Introduced metadata concept, the structure of the page is stored in AK_REGIONS and AK_REGION_ITEMS tables. Metadata in these tables can be configured using AK Developer responsibility screens Different modules started using AK Developer metadata differently HRMS Pages driven by PL/SQL cartridges, but AK metadata used to render the structure iProcurement Pages driven by Java and XML, but XML regions map to AK regions iStore JSP pages internally use AK regions metadata AK Developer Problems Loss of customer applied customizations when oracle patches with new versions of AK_REGIONS were applied OA Framework with AK Developer MVC, with view layer using AK Developer as metadata repository Personalization kept in tables AK_CUSTOMIZATIONS, AK_CUSTOM_REGIONS, AK_CUSTOM_REGION_ITEMS PROBLEMS AK Developer and JDeveloper were not integrated AK Developer supported only few properties Current technology OAF with MDS Metadata defined in JDeveloper in XML files and stored in MDS tables which start with JDR_% AK_% tables data is migrated to JDR_% tables, modules that were migrated from AK to MDS, will have profile option “FND: Migrated To JRAD” set to Y at Application Level Profile option setting (Site, Application, Responsibility, User) Oracle is still good at producing HTML in PL/SQL code, which is evident from HTML DB, now APEX
  • #5: Let us see what happens when a user, say OPERATIONS, brings up EBS login page, in a browser EBS Server generates a new session, which is not yet stored in the database, and encrypted version of the session id passed back to the browser in a cookie with key-name JSESSIONID For all further communication with EBS server browser uses the JSESSIONID User is queried in FND_USER Entry is made in FND_LOGINS, which has START_TIME Entry is made in ICX_SESSIONS table &apos;ICX:Session Timeout&apos;  profile option determines the length of time (in minutes) of inactivity in a user&apos;s session before the session is disabled.  Note that disabled does not mean terminated or killed.  The user is provided the opportunity to re-authenticate and re-enable their timed-out session. If the re-authentication is successful, the disabled session is re-enabled and no work is lost. Otherwise, the session is terminated without saving pending work. &apos;ICX: Limit Time&apos;  profile option defines the maximum connection time (in hours) for a connection regardless of user activity.  If &apos;ICX:Session Timeout&apos; is set to NULL, then the session will last only as long as &apos;ICX: Limit Time&apos;, regardless of user activity. On our R12.1.1 installation these two profile options had values 30 and 999 respectively. Recommended value are 30 minutes and 4 hours respectively. Table ICX_SESSION has two columns TIME_OUT and LIMIT_TIME where these values are stored for every session.
  • #7: BC4J (business components for Java) basically meshes SQL database concepts like views, tables and transactions into the java world via View Objects (VOs), Entity Objects (EOs) and Application modules (AMs) AOL/J provides a number of E-Business suite specific services, especially security, so OA Framework pages implement same security model as that of E-Business suite
  • #8: All BC4J components have XML definition files and backing Java implementation files Every OA Framework page accessed through Oracle applications must have an application module attached to its top-level region This application module is called as root application module Transaction context, JDBC database connection Has business logic It is not advisable to extend AM. You can probably get away with it until seeded page doesn’t have LOV fields, in which case rootAM extension causes session timeout runtime errors One can use nested AMs
  • #9: View Objects are used to query data from the database Can be a SQL statement or based on Entity Object If region is read-only or LOV regions VOs are contained within AMs and added declaratively to an AM For custom VOs you can 3 options extend rootAM and add to that declaratively instantiate VO in the controller of a page create a nested AM and add to it declaratively Entity Object are responsible for doing insert/update/deletion Should have WHO attributes Set automatically during creation/modification Uses optimistic locking with Object Version Number (create column called ObjectVersionNumber and check “change indicator”)
  • #10: Every page has a controller and every region underneath can also potentially have a controller Region is nothing but logical grouping of components Convention is to have PG.xml in the end for pages and RN.xml in the end for regions Advantage of creating a region is re-use, we will see one such example when we discuss workflow Make sure, when you extend a controller of the page and override the page, you call base class method View object can be based on EO or on a SQL query, view attributes are mapped to UI elements When adding custom UI elements of the page, it is always a good idea to bind them to existing VO attributes or extended VO attributes, basically doing it in a declarative way When user click “submit” button processFormData() is called PFD transfers values from the screen fields to the view object cache/entity object cache setAttribute() method of all VO rows gets called All these methods are passed 2 parameters, OAPageContext and OAWebBean OAPageContext User’s session related details such as profile options, responsibilities page parameters session parameters APIs to do page navigation Get handle to root AM OAWebBean (type is PageLayoutBean, handle to any java bean on the page)
  • #11: Deployment $JAVA_TOP/oracle/app/pon $JAVA_TOP/xxiware/oracle/apps/pon
  • #12: OA Framework pages and regions are physically stored in MDS repository, even personalizations are stored in MDS repository Changes done by personalization are not wiped out when new patches are applied and so survive patching and upgrades Personalization does not involve any programming Two types of personalizations User level (create custom views on top of the standard results region) available only if Oracle’s product team has enabled this feature Admin/implementer level Personalize Self-Service Defn Should be set to Yes for personalizations to be performed If set to Yes at site level anyone can do personalizations, so in production system it is not set at site-level Disable Self-Service Personal Yes at site level, not only personalizations but extensions will also be disabled
  • #13: FND: Document Root Path
  • #14: Controller extension is done by extending controller java class and added via personalization This information again goes in MDS repository
  • #15: Showing additional information Added column via personalization
  • #16: Showing additional information Added column via personalization
  • #17: Implemented using IFrame and not AJAX By using Partial Page Rendering, the entire page is not refreshed. Only the changed portion of the web page will be redrawn. This reduces the network traffic and enhances the user experience. Can be done declaratively or even programmatically SPEL Simplest possible expression language (returns only Boolean values) Self Service personalization, there are two ways to change properties like Rendered or Read Only or Required. Either you hardcode a value of True/False during personalization or you attach a SPEL syntax to these properties via personalization Other use of SPEL is to show/hide some function (enabled via a button) based on user grant The Syntax is ${oa.FunctionSecurity.&lt;FunctionName&gt;} The test will return False if &lt;FunctionName&gt; is granted to the current user/responsibility; otherwise True. In this example, we would set the Read Only property to: ${oa.FunctionSecurity.SUPPLIER_READ_ONLY} If the user is logged in to the BUYER responsibility and has been granted access to this function, OA Framework returns False in the function security test. Read more in Dev Guide &amp; search old thread. It is really unfortunate, it only supports Boolean values
  • #18: It is a very common use-case to invoke a workflow from OAF page You can write PL/SQL procedure for that which in turn invokes wf_engine package APIs or there are JAVA APIs exposed
  • #19: OAF is a model-view-controller technology stack that is fully oriented towards E-Business Suite application development. It comprises of underlying technologies like UIX and BC4J, that respectively form core of view and model layers.
  • #20: Important attributes are ENTITY_NAME and PK1_VALUE Attachment at the line level (Auction Id and Auction Line Number)
  • #22: Combines best attributes of various ERP product lines into next generation suite with build-in BI &amp; collaboration capabilities
  • #23: Development Tool OAF JDeveloper with OA Extensions ADF JDeveloper