You are on page 1of 292

Oracle University and Integrated Training Solutions of Egypt use only

R12 Extend Oracle


Applications: Building OA
Framework Applications

Student Guide – Volume 2

D49185GC10
Edition 1.0
December 2007
D53745

THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS
COMPUTER IS STRICTLY PROHIBITED
Copyright © 2007, Oracle. All rights reserved.

This document contains proprietary information and is protected by copyright and other intellectual property laws. You may copy and
print this document solely for your own use in an Oracle training course. The document may not be modified or altered in any way.
Except where your use constitutes "fair use" under copyright law, you may not use, share, download, upload, copy, print, display,
perform, reproduce, publish, license, post, transmit, or distribute this document in whole or in part without the express authorization
of Oracle.

The information contained in this document is subject to change without notice. If you find any problems in the document, please
report them in writing to: Oracle University, 500 Oracle Parkway, Redwood Shores, California 94065 USA. This document is not
warranted to be error-free.

Oracle University and Integrated Training Solutions of Egypt use only


If this documentation is delivered to the United States Government or anyone using the documentation on behalf of the United
States Government, the following notice is applicable:

U.S. GOVERNMENT RIGHTS


The U.S. Government’s rights to use, modify, reproduce, release, perform, display, or disclose these training materials are restricted
by the terms of the applicable Oracle license agreement and/or the applicable U.S. Government contract.

Oracle, JD Edwards, PeopleSoft, and Siebel are registered trademarks of Oracle Corporation and/or its affiliates. Other names may
be trademarks of their respective owners.

Authors

Bill Sawyer, Lauren Cohn, Barbara Waddoups

Technical Contributors and Reviewers

John Zerbel, Jon Styles, Sara Woodhull, Suvarna Gadipatti, Liza Lyons, Vincent Thevenet

This book was published using: oracletutor

THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS
COMPUTER IS STRICTLY PROHIBITED
Table of Contents

Introduction to OA Framework .....................................................................................................................1-1


R12 Building OA Framework Applications ..................................................................................................1-3
Course Objectives..........................................................................................................................................1-4
Lesson Objectives..........................................................................................................................................1-5
Agenda – Day 1 .............................................................................................................................................1-6

Oracle University and Integrated Training Solutions of Egypt use only


Agenda – Day 2 .............................................................................................................................................1-7
Agenda – Day 3 .............................................................................................................................................1-8
Agenda – Day 4 .............................................................................................................................................1-9
Agenda – Day 5 .............................................................................................................................................1-10
Important Terminology..................................................................................................................................1-11
Personalization vs. Extension ........................................................................................................................1-13
Architectural Components of OA Framework...............................................................................................1-14
Why Java? .....................................................................................................................................................1-16
Foundations of Java Programming ................................................................................................................1-18
The Java Tech Stack for OA Framework ......................................................................................................1-20
Oracle JDeveloper 10g ..................................................................................................................................1-22
Oracle JDeveloper 10g Components .............................................................................................................1-24
What's in BC4J? ............................................................................................................................................1-26
What's in UIX? ..............................................................................................................................................1-27
What's in AOL/J? ..........................................................................................................................................1-28
What's in OA Framework? ............................................................................................................................1-29
What's in the Metadata Services? ..................................................................................................................1-30
What is the MVC Design Pattern?.................................................................................................................1-31
Why Do We Use MVC? ................................................................................................................................1-32
The OA Framework Architecture ..................................................................................................................1-33
Additional Resources.....................................................................................................................................1-34
Summary........................................................................................................................................................1-35
Concepts of the MVC Design Pattern ............................................................................................................2-1
R12 Building OA Framework Applications ..................................................................................................2-3
Lesson Objectives..........................................................................................................................................2-4
What is a JSP Page?.......................................................................................................................................2-5
Key JSP Application Components.................................................................................................................2-6
What Happens at Runtime? ...........................................................................................................................2-8
What Happens from the Start?.......................................................................................................................2-10
Behind the Scene ...........................................................................................................................................2-17
Logical Components of an OA Framework Page ..........................................................................................2-28
What is the MVC Design Pattern?.................................................................................................................2-29
Model: Business Components for Java..........................................................................................................2-30
Model: Application Modules.........................................................................................................................2-31
Model: Entity Objects....................................................................................................................................2-32
Model: View Objects.....................................................................................................................................2-33
View: OA Framework-Based Page................................................................................................................2-34
View: Java Objects in a Page.........................................................................................................................2-35
View: A Framework Example .......................................................................................................................2-36
View: Page Hierarchy....................................................................................................................................2-37
Controller: Controlling UI Behavior..............................................................................................................2-38
OA Framework MVC Summary ...................................................................................................................2-39
Summary........................................................................................................................................................2-40
Basics of the Model ..........................................................................................................................................3-1
R12 Building OA Framework Applications ..................................................................................................3-3
Lesson Objectives..........................................................................................................................................3-4

Copyright © Oracle Corporation, 2007. All rights reserved.

R12 Extend Oracle Applications: Building OA Framework Applications Table of Contents


i
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS
COMPUTER IS STRICTLY PROHIBITED
Model-layer BC4J Objects ............................................................................................................................3-5
Encapsulation The "Reuse Onion". ...............................................................................................................3-6
General Reuse Rules......................................................................................................................................3-7
Recommended Build Approach.....................................................................................................................3-8
Business Component (BC4J) Packages .........................................................................................................3-9
BC4J Package Naming Standards .................................................................................................................3-10
Application Modules .....................................................................................................................................3-11
Transaction Object.........................................................................................................................................3-14
Application Module Files ..............................................................................................................................3-15

Oracle University and Integrated Training Solutions of Egypt use only


Entity Objects ................................................................................................................................................3-16
Entity Object Creation Standards ..................................................................................................................3-18
Entity Object Automatic Features .................................................................................................................3-19
Entity Object Files .........................................................................................................................................3-20
View Objects .................................................................................................................................................3-21
View Object Creation Methods .....................................................................................................................3-24
ExpertMode View Objects ............................................................................................................................3-25
View Objects with Entity Objects .................................................................................................................3-26
View Object Rows.........................................................................................................................................3-27
Creating View Objects...................................................................................................................................3-28
View Object Java Files ..................................................................................................................................3-29
View Object Files ..........................................................................................................................................3-30
BC4J Database Interactions...........................................................................................................................3-31
Non-BC4J Method.........................................................................................................................................3-32
Read-only Queries .........................................................................................................................................3-33
Step 1: Initial Query ......................................................................................................................................3-34
Step 2: Entity Object Population ...................................................................................................................3-35
Step 3: Entity Object Reuse...........................................................................................................................3-36
Step 4: Entity-derived Attributes ...................................................................................................................3-37
Step 5: Entity Object Fault-in ........................................................................................................................3-38
Step 6: Entity Object References ...................................................................................................................3-39
EO/VO Merge ...............................................................................................................................................3-40
Step 1: EO/VO Merge Resolution .................................................................................................................3-41
Step 2: EO/VO Merge Resolution .................................................................................................................3-42
Other Model-layer Objects ............................................................................................................................3-43
Association Objects .......................................................................................................................................3-44
Reference Association Objects ......................................................................................................................3-46
Composition Association Objects..................................................................................................................3-47
Composition Association Object Behavior....................................................................................................3-48
View Links ....................................................................................................................................................3-49
Entity Experts ................................................................................................................................................3-51
Validation AMs and Validation VOs.............................................................................................................3-52
Summary........................................................................................................................................................3-54
Basics of the View ............................................................................................................................................4-1
R12 Building OA Framework Applications ..................................................................................................4-3
Lesson Objectives..........................................................................................................................................4-4
Recommended Build Approach.....................................................................................................................4-5
View-layer Terminology ...............................................................................................................................4-6
Workspaces and Projects ...............................................................................................................................4-8
Step 1: Create a Page .....................................................................................................................................4-9
Step 2: Name Your New Page .......................................................................................................................4-10
Step 3: View Page's Initial Structure .............................................................................................................4-11
Step 4: Modify the Page's Structure...............................................................................................................4-12
Running the New Page ..................................................................................................................................4-13
What Can You Add to the Page? ...................................................................................................................4-14
Region Styles.................................................................................................................................................4-15
Sub-Region Styles .........................................................................................................................................4-16

Copyright © Oracle Corporation, 2007. All rights reserved.

R12 Extend Oracle Applications: Building OA Framework Applications Table of Contents


ii
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS
COMPUTER IS STRICTLY PROHIBITED
Named Children vs. Indexed Children ..........................................................................................................4-17
Item Styles .....................................................................................................................................................4-19
Item Style Details ..........................................................................................................................................4-20
Shared Regions ..............................................................................................................................................4-23
Attribute Sets .................................................................................................................................................4-25
Creating Attribute Sets ..................................................................................................................................4-26
Table Column Template ................................................................................................................................4-27
Button Template ............................................................................................................................................4-28
Region Header Template ...............................................................................................................................4-29

Oracle University and Integrated Training Solutions of Egypt use only


CSS Styles .....................................................................................................................................................4-30
Common CSS Styles .....................................................................................................................................4-31
Extending Other Objects ...............................................................................................................................4-33
Destinations and Links ..................................................................................................................................4-34
Mailto Links ..................................................................................................................................................4-35
Lists of Values (LOVs)..................................................................................................................................4-36
Defining an External LOV.............................................................................................................................4-38
Reading Model Data......................................................................................................................................4-40
Writing Model Data.......................................................................................................................................4-42
Binding Items to Data....................................................................................................................................4-44
General Naming Rules...................................................................................................................................4-45
Page and Object Naming Rules .....................................................................................................................4-48
Styles and Bean Names .................................................................................................................................4-49
Attribute Set Standards..................................................................................................................................4-50
Attribute Sets .................................................................................................................................................4-53
Attribute Set Naming Conventions................................................................................................................4-54
More Attribute Set Standards ........................................................................................................................4-55
Summary........................................................................................................................................................4-56
Basics of the Controller ...................................................................................................................................5-1
R12 Building OA Framework Applications ..................................................................................................5-3
Lesson Objectives..........................................................................................................................................5-4
Recommended Build Approach.....................................................................................................................5-5
Do You Need a Controller? ...........................................................................................................................5-6
Controller Basics ...........................................................................................................................................5-7
Common Logic to Code ................................................................................................................................5-8
Typical Locations for Code ...........................................................................................................................5-9
Handling Queries...........................................................................................................................................5-10
View Object initQuery Code .........................................................................................................................5-11
Dynamic WHERE Clauses ............................................................................................................................5-12
Using findByKey Instead of initQuery..........................................................................................................5-13
Processing a Button Press..............................................................................................................................5-14
Getting Parameters from Requests ................................................................................................................5-15
Example: Manually-built Search ...................................................................................................................5-16
The Process....................................................................................................................................................5-17
Example VOImpl Code .................................................................................................................................5-18
Example AMImpl Code.................................................................................................................................5-19
Example Controller Code ..............................................................................................................................5-20
Example Search: Controller...........................................................................................................................5-21
Forwarding to Another Page..........................................................................................................................5-22
Setting Titles with Message Dictionary.........................................................................................................5-23
Event Flow Overview....................................................................................................................................5-24
Initial Setup Flow ..........................................................................................................................................5-25
Controller Event Flows in OA Framework....................................................................................................5-26
GET Event Flow – Overview ........................................................................................................................5-27
GET Event Flow (1-3)...................................................................................................................................5-28
GET Event Flow (4) Instantiate BC4J and UIX Classes .............................................................................5-30
Example Bean Hierarchy Structure ...............................................................................................................5-31

Copyright © Oracle Corporation, 2007. All rights reserved.

R12 Extend Oracle Applications: Building OA Framework Applications Table of Contents


iii
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS
COMPUTER IS STRICTLY PROHIBITED
GET Event Flow (5) processRequest...........................................................................................................5-32
GET Event Flow (6) Post-Processing..........................................................................................................5-33
GET Event Flow (7) UIX Renders the Page..................................................................................................5-34
POST Event Flow – Overview ......................................................................................................................5-35
POST Event Flow (1 - 3) Submit, Client-Side Validation.............................................................................5-36
POST Event Flow (4 & 5) Validate User and Retrieve State ........................................................................5-37
POST Event Flow (6) Apply Form Data .......................................................................................................5-38
POST Event Flow (6) More of processFormData .........................................................................................5-39
POST Event Flow (7) processFormRequest..................................................................................................5-42

Oracle University and Integrated Training Solutions of Egypt use only


Summary........................................................................................................................................................5-43
Setting Up Your Development Environment ................................................................................................6-1
R12 Building OA Framework Applications ..................................................................................................6-3
Lesson Objectives..........................................................................................................................................6-4
Installing and Setting Up JDeveloper ............................................................................................................6-5
Configure Your Environment Variables........................................................................................................6-7
Get the DBC File ...........................................................................................................................................6-9
Create a Shortcut ...........................................................................................................................................6-10
Assign the E-Business Suite User..................................................................................................................6-11
Uncompress Tutorial.zip ...............................................................................................................................6-12
Launch JDeveloper 10g .................................................................................................................................6-13
Configure the Connections and Test..............................................................................................................6-14
Configure the Connection and User...............................................................................................................6-16
Summary........................................................................................................................................................6-18
OA Framework State Management ...............................................................................................................7-1
R12 Building OA Framework Applications ..................................................................................................7-3
Lesson Objectives..........................................................................................................................................7-4
Architectural Overview – Session and Cookies.............................................................................................7-5
Architectural Overview – JVM .....................................................................................................................7-6
State Caches in OA Framework ....................................................................................................................7-7
Root Application Modules.............................................................................................................................7-8
Default Root Application Module Retention.................................................................................................7-10
Retaining the Root Application Module........................................................................................................7-11
Recommendation: Multipage Flow ...............................................................................................................7-13
Recommendation: Multipage Flow with Side Trip .......................................................................................7-14
Recommendation: Side Trip with Extended Page .........................................................................................7-15
Recommendation: Unrelated Pages Flow......................................................................................................7-16
Servlet Session...............................................................................................................................................7-17
Applications User Session (ICX Session) .....................................................................................................7-18
Page Context..................................................................................................................................................7-19
Request and Page Boundaries........................................................................................................................7-20
Request ..........................................................................................................................................................7-23
Ways to Pass Parameters ...............................................................................................................................7-24
URL Parameters: Tokens, Encryption, Encoding..........................................................................................7-26
Passivation.....................................................................................................................................................7-28
Application Module Pooling..........................................................................................................................7-30
Application Module and Connection Pooling................................................................................................7-32
Application Module Pooling Process ............................................................................................................7-34
Monitoring the AM Pool ...............................................................................................................................7-38
JDBC Connection Pooling Process ...............................................................................................................7-39
Monitoring the JDBC Connection Pooling....................................................................................................7-44
Determining User Load .................................................................................................................................7-46
Back Button Usage Goals..............................................................................................................................7-47
Back Button Scenario #1 ...............................................................................................................................7-48
Back Button Scenario #2 ...............................................................................................................................7-49
Back Button Scenario #3 ...............................................................................................................................7-50
Addressing Consistent Behavior....................................................................................................................7-51

Copyright © Oracle Corporation, 2007. All rights reserved.

R12 Extend Oracle Applications: Building OA Framework Applications Table of Contents


iv
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS
COMPUTER IS STRICTLY PROHIBITED
Further Study of Back Button........................................................................................................................7-52
Summary........................................................................................................................................................7-53
Introduction to JDeveloper 10g with OA Extension.....................................................................................8-1
R12 Building OA Framework Applications ..................................................................................................8-3
Lesson Objectives..........................................................................................................................................8-4
Oracle JDeveloper 10g with OA Extension...................................................................................................8-5
Oracle JDeveloper 10g Components .............................................................................................................8-7
Applications and Workspaces........................................................................................................................8-9
Projects ..........................................................................................................................................................8-11

Oracle University and Integrated Training Solutions of Egypt use only


Creating JDeveloper Items ............................................................................................................................8-13
Creating a Workspace....................................................................................................................................8-14
Step 1: Creating a Project ..............................................................................................................................8-15
Step 2: Creating a Project ..............................................................................................................................8-16
Step 3: Creating a Project ..............................................................................................................................8-17
Step 4: Creating a Project ..............................................................................................................................8-18
Step 1: Establish a Database Connection.......................................................................................................8-19
Step 2: Establish a Database Connection.......................................................................................................8-20
Step 3: Establish a Database Connection.......................................................................................................8-21
Step 4: Establish a Database Connection.......................................................................................................8-22
Step 5: Establish a Database Connection.......................................................................................................8-23
Step 6: Establish a Database Connection.......................................................................................................8-24
Step 7: Establish a Database Connection.......................................................................................................8-25
Project Properties...........................................................................................................................................8-26
Project Properties – Oracle Applications.......................................................................................................8-27
Directory Structure ........................................................................................................................................8-28
Exploring Java Files ......................................................................................................................................8-29
Exploring Other Objects - Wizards ...............................................................................................................8-30
Exploring Other Objects – UI Objects...........................................................................................................8-31
Finding Methods and Fields ..........................................................................................................................8-32
Supporting Code Development with Profiler and Code Coach ....................................................................8-34
New Code Editor Features.............................................................................................................................8-36
Customizing JDeveloper 10g with OA Extension .........................................................................................8-38
Refactoring ....................................................................................................................................................8-40
JDeveloper Help System ...............................................................................................................................8-43
Obtaining Help on a Topic ............................................................................................................................8-44
Oracle JDeveloper Debugger.........................................................................................................................8-45
Breakpoints....................................................................................................................................................8-47
Breaking on Exceptions.................................................................................................................................8-49
Debugger Windows .......................................................................................................................................8-50
Stepping Through a Program.........................................................................................................................8-52
Watching Data and Variables ........................................................................................................................8-53
Debugging Declarative Applications.............................................................................................................8-54
More Debugging Tips....................................................................................................................................8-55
Understand BC4J Interactions .......................................................................................................................8-56
Debugging Validation and Commits .............................................................................................................8-58
Summary........................................................................................................................................................8-59
Implementing a Query and Drill-down .........................................................................................................9-1
R12 Building OA Framework Applications ..................................................................................................9-3
Lesson Objectives..........................................................................................................................................9-4
Course Methodology .....................................................................................................................................9-5
Finished Page Before Search .........................................................................................................................9-7
Finished Page After Search ...........................................................................................................................9-8
Finished List of Values Page .........................................................................................................................9-9
Finished Drilldown-to-Details Page ..............................................................................................................9-10
Summary........................................................................................................................................................9-11

Copyright © Oracle Corporation, 2007. All rights reserved.

R12 Extend Oracle Applications: Building OA Framework Applications Table of Contents


v
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS
COMPUTER IS STRICTLY PROHIBITED
Implementing a Create....................................................................................................................................10-1
R12 Building OA Framework Applications ..................................................................................................10-3
Lesson Objectives..........................................................................................................................................10-4
Implementing a Poplist..................................................................................................................................10-5
Extending a Shared Region ...........................................................................................................................10-6
Creating a New Row......................................................................................................................................10-7
Initializing a View Object..............................................................................................................................10-8
Creating and Initializing a VO Row ..............................................................................................................10-9
Getting the Data.............................................................................................................................................10-10

Oracle University and Integrated Training Solutions of Egypt use only


Saving a Row to the Database .......................................................................................................................10-11
Lab – After Create Basics..............................................................................................................................10-12
Lab – After Validations .................................................................................................................................10-13
Lab – After Partial Page Rendering...............................................................................................................10-15
Summary........................................................................................................................................................10-17
Implementing a Delete.....................................................................................................................................11-1
R12 Building OA Framework Applications ..................................................................................................11-3
Lesson Objectives..........................................................................................................................................11-4
Error Handling Overview ..............................................................................................................................11-5
Exception Types ............................................................................................................................................11-6
Exception Classes ..........................................................................................................................................11-8
Message Types ..............................................................................................................................................11-9
Message Dictionary .......................................................................................................................................11-10
Implementing Message Dictionary................................................................................................................11-11
Instantiating Attribute-level Exceptions ........................................................................................................11-12
Instantiating Row-level Exceptions ...............................................................................................................11-13
Attribute Value - EO Example ......................................................................................................................11-14
Attribute Value - VO Example ......................................................................................................................11-15
Row Value - EO Example .............................................................................................................................11-16
Row Value - VO Example.............................................................................................................................11-17
Messaging Flows ...........................................................................................................................................11-18
Inline Messages .............................................................................................................................................11-19
Dialog Pages..................................................................................................................................................11-20
Switchers .......................................................................................................................................................11-22
Table Content Switcher Abilities and Limits.................................................................................................11-23
Implementing Table Content Switchers ........................................................................................................11-24
Query Page with Non-Deleteable Employee .................................................................................................11-25
Query Page with Deleteable Employee .........................................................................................................11-26
Warning Dialog .............................................................................................................................................11-27
Confirmation Message...................................................................................................................................11-28
Summary........................................................................................................................................................11-29
Implementing an Update.................................................................................................................................12-1
R12 Building OA Framework Applications ..................................................................................................12-3
Lesson Objectives..........................................................................................................................................12-4
Locator Elements...........................................................................................................................................12-5
Breadcrumbs..................................................................................................................................................12-6
Page Navigators.............................................................................................................................................12-7
Record Navigators .........................................................................................................................................12-8
Trains.............................................................................................................................................................12-9
Implementing Trains......................................................................................................................................12-10
Single-Page Update .......................................................................................................................................12-11
Update Confirmation .....................................................................................................................................12-13
Multi-Page Update.........................................................................................................................................12-14
Multi-Page Update Confirmation ..................................................................................................................12-17
Summary........................................................................................................................................................12-18
OA Framework Development Concepts and Standards ..............................................................................13-1

Copyright © Oracle Corporation, 2007. All rights reserved.

R12 Extend Oracle Applications: Building OA Framework Applications Table of Contents


vi
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS
COMPUTER IS STRICTLY PROHIBITED
R12 Building OA Framework Applications ..................................................................................................13-3
Lesson Objectives..........................................................................................................................................13-4
General Coding Standards .............................................................................................................................13-5
Coding Terminology......................................................................................................................................13-6
OA Framework Standard Considerations ......................................................................................................13-7
E-Business Suite Standard Considerations ....................................................................................................13-8
E-Business Suite Standard DB Objects .........................................................................................................13-11
Oracle BLAF Standards.................................................................................................................................13-13
E-Business Suite Java Standards ...................................................................................................................13-14

Oracle University and Integrated Training Solutions of Egypt use only


OA Framework File Standards ......................................................................................................................13-15
Files in a Typical OA Framework Application..............................................................................................13-16
Standard File Suffix Abbreviations ...............................................................................................................13-18
Package Names..............................................................................................................................................13-20
File Names.....................................................................................................................................................13-23
Region and Item Names ................................................................................................................................13-24
OA Framework Model Standards ..................................................................................................................13-25
OA Framework View Standards....................................................................................................................13-26
OA Framework Controller Standards ............................................................................................................13-27
Summary........................................................................................................................................................13-28
OA Framework and E-Business Suite Security ............................................................................................14-1
R12 Building OA Framework Applications ..................................................................................................14-3
Lesson Objectives..........................................................................................................................................14-4
Key E-Business Suite Security Terms ...........................................................................................................14-5
Successive Layers of Access Control ............................................................................................................14-10
Increasing Flexibility and Scalability ............................................................................................................14-11
Function Security...........................................................................................................................................14-13
Data Security .................................................................................................................................................14-14
Oracle User Management Layers of Access Control.....................................................................................14-16
Role Based Access Control (RBAC) .............................................................................................................14-17
Delegated Administration..............................................................................................................................14-19
Registration Processes ...................................................................................................................................14-21
Self Service and Approvals ...........................................................................................................................14-23
Introduction to Function Security ..................................................................................................................14-24
Securing Functions ........................................................................................................................................14-25
Defining a Menu............................................................................................................................................14-26
Menu Guidelines ...........................................................................................................................................14-28
Creating a Menu ............................................................................................................................................14-29
Modifying an Existing Menu Definition ......................................................................................................14-30
Using Responsibilities ...................................................................................................................................14-31
Responsibility Components ...........................................................................................................................14-33
Defining a New Responsibility......................................................................................................................14-34
Sample Menu.................................................................................................................................................14-35
Dissecting Security – Users ...........................................................................................................................14-36
Dissecting Security – Responsibilities...........................................................................................................14-37
Dissecting Security – Project Settings ...........................................................................................................14-38
Dissecting Security – Menus .........................................................................................................................14-39
Key E-Business Suite Menu Terms ...............................................................................................................14-44
Dissecting Security – Standard Menus ..........................................................................................................14-46
Menu: Global Menu.......................................................................................................................................14-47
Menu: Tabs....................................................................................................................................................14-48
Menu: Subtabs ...............................................................................................................................................14-49
Menu: Side Navigation..................................................................................................................................14-50
Menu: Task/Property Menu...........................................................................................................................14-51
Menu Structures.............................................................................................................................................14-52
Creating Menus .............................................................................................................................................14-53
Navigation and Security Separate..................................................................................................................14-54

Copyright © Oracle Corporation, 2007. All rights reserved.

R12 Extend Oracle Applications: Building OA Framework Applications Table of Contents


vii
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS
COMPUTER IS STRICTLY PROHIBITED
Introduction to Data Security.........................................................................................................................14-55
Data Security Components - Objects.............................................................................................................14-57
Grants ............................................................................................................................................................14-58
Permissions and Permission Sets...................................................................................................................14-59
Data Security Policies....................................................................................................................................14-60
Summary........................................................................................................................................................14-61
Deploying OA Framework Applications .......................................................................................................15-1
R12 Building OA Framework Applications ..................................................................................................15-3
Objectives ......................................................................................................................................................15-4

Oracle University and Integrated Training Solutions of Egypt use only


Storing Personalizations ................................................................................................................................15-5
Directory Structure ........................................................................................................................................15-6
Directory Structure - Layer Values................................................................................................................15-7
Toolset ...........................................................................................................................................................15-8
Functional Administrator Personalization UI ...............................................................................................15-9
export.bat / import.bat- Syntax ......................................................................................................................15-10
export.bat/import.bat - Example ....................................................................................................................15-11
Command Line – XMLExporter/XMLImporter............................................................................................15-12
export.bat vs. XMLExporter..........................................................................................................................15-13
Import Substitutions – JPXImport.bat ...........................................................................................................15-14
JPXImport.bat - Syntax .................................................................................................................................15-15
Import Substitutions – JPXImporter ..............................................................................................................15-16
Inspecting the MDS Repository.....................................................................................................................15-17
JDR_UTILS PL/SQL package APIs..............................................................................................................15-18
List the Personalizations Done on a Page.....................................................................................................15-25
Inspect Personalizations ................................................................................................................................15-26
Deploying Personalizations ...........................................................................................................................15-28
Extract the Personalizations – Functional Administrator Page......................................................................15-29
Set Personalization Document Root Path ......................................................................................................15-30
Import/Export Personalizations .....................................................................................................................15-31
Extract the Personalizations – Select the Page ..............................................................................................15-32
Extract the Personalizations – Export to File System ....................................................................................15-33
Upload Personalizations into Production Instance – Functional Administrator Page....................................15-34
Upload Personalizations into Production Instance – Exported Personalizations ...........................................15-35
Upload Personalizations into Production Instance – Import from File System .............................................15-36
Extensions......................................................................................................................................................15-37
OA Page Extensions ......................................................................................................................................15-38
Deployment of Page Extensions....................................................................................................................15-39
1.Copy .java Classes......................................................................................................................................15-40
2. Import Substitutions ..................................................................................................................................15-41
3. Import OA Component Definitions ...........................................................................................................15-42
View The Deployed Extensions ....................................................................................................................15-43
BC4J Extensions............................................................................................................................................15-44
Deployment of Business Logic Extensions ...................................................................................................15-45
Summary........................................................................................................................................................15-46
Course Labs .....................................................................................................................................................16-1
R12 Building OA Framework Applications ..................................................................................................16-3
Lab 1..............................................................................................................................................................16-4
Lab - Learning More About the Page ........................................................................................................16-5
Task 1: Login to Your E-Business Suite Instance .....................................................................................16-6
Task 2: About This Page Link ...................................................................................................................16-9
Lab - Learning More About the Page ........................................................................................................16-15
Lab 2..............................................................................................................................................................16-26
Lab: JDeveloper and E-Business Suite Set-up...........................................................................................16-27
Task 1: Modify the FWKTEST User.........................................................................................................16-28
Task 2: Set-up the NX Client on Your Classroom PC...............................................................................16-30
Task 3: Open the NX Client on Your Classroom PC ................................................................................16-33

Copyright © Oracle Corporation, 2007. All rights reserved.

R12 Extend Oracle Applications: Building OA Framework Applications Table of Contents


viii
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS
COMPUTER IS STRICTLY PROHIBITED
Task 4: Unzip Tutorial.zip.........................................................................................................................16-35
Task 5: Set Your JDeveloper Environment ...............................................................................................16-36
Task 6: Start JDeveloper............................................................................................................................16-37
Task 7: Get the DBC File ..........................................................................................................................16-39
Task 8: Test Your JDeveloper Workspace and Project .............................................................................16-40
Task 9: Set-up Your Database Connection................................................................................................16-43
Task 10: Set Your Project Properties.........................................................................................................16-49
Task 11: Test Your JDeveloper Set-up......................................................................................................16-55
Task 12: Optional – Personal Set-up .........................................................................................................16-58

Oracle University and Integrated Training Solutions of Egypt use only


Lab 3..............................................................................................................................................................16-59
Overview ...................................................................................................................................................16-60
Step 1. Setup your environment for OA Framework development............................................................16-61
Step 2. Create the Model-layer Components .............................................................................................16-63
Step 3. Create the View-layer Components...............................................................................................16-69
Lab 4..............................................................................................................................................................16-76
Overview ...................................................................................................................................................16-77
Task 1: Create Your Model-layer Components .........................................................................................16-78
Task 2: Create Your View-layer Components...........................................................................................16-83
Task 3: Configure Your Search .................................................................................................................16-85
Task 4: Add a List of Values (LOV) to Query ..........................................................................................16-91
Task 5: Create Your Model-layer Components .........................................................................................16-96
Task 6: Create Your View-layer Components...........................................................................................16-100
Task 7: Write Your Model-layer Programmatic Elements ........................................................................16-103
Task 8: Modify Your Existing View-layer Components ...........................................................................16-105
Task 9: Write Your Controller-layer Programmatic Elements ..................................................................16-106
Lab 5..............................................................................................................................................................16-109
Part 1: Basic Create Overview...................................................................................................................16-110
Task 1: Build Your Model-layer Components...........................................................................................16-111
Task 2: Build Your View-layer Components ............................................................................................16-112
Task 3: Implement the Poplist ...................................................................................................................16-118
Task 4: Write Your Model-layer Programmatic Elements ........................................................................16-121
Task 5: Write Your Controller-layer Programmatic Elements ..................................................................16-123
Task 6: Revise Your QueryPG ..................................................................................................................16-128
(OPTIONAL) Part 2: Validation Overview...............................................................................................16-130
Task 1: Handle the Back Button ................................................................................................................16-131
Task 2: Implement Declarative Validations ..............................................................................................16-139
Task 3: Implement Programmatic Validations ..........................................................................................16-141
Task 4: Creating Entity-Layer Validation Objects ....................................................................................16-155
(OPTIONAL) Part 3: Partial Page Rendering Overview...........................................................................16-163
Task 1: Create Your Model-layer Components .........................................................................................16-164
Task 2: Configure Your View-layer Components .....................................................................................16-166
Task 3: Implement the Programmatic Elements ........................................................................................16-168
Lab 6..............................................................................................................................................................16-173
Overview ...................................................................................................................................................16-174
Task 1: Build Your Model-layer Components...........................................................................................16-175
Task 2: Build Your View-layer Components ............................................................................................16-177
Task 3: Write Your Model-layer Programmatic Elements ........................................................................16-180
Task 4: Write Your Controller-layer Programmatic Elements ..................................................................16-182
Lab 7..............................................................................................................................................................16-188
Overview ...................................................................................................................................................16-189
Task 1: Initial Set-up .................................................................................................................................16-190
Task 2: Modify the QueryPG View-layer Components.............................................................................16-193
Task 3: Modify the Controller-layer Components.....................................................................................16-194
Task 4: Create Your View-layer Components...........................................................................................16-200
Task 5: Create Your Controller-layer Components ...................................................................................16-206
Guided Demo 1..............................................................................................................................................16-213
Task 1: Allow Personalizations .................................................................................................................16-214

Copyright © Oracle Corporation, 2007. All rights reserved.

R12 Extend Oracle Applications: Building OA Framework Applications Table of Contents


ix
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS
COMPUTER IS STRICTLY PROHIBITED
Task 2: Personalize the Expenses Home Page...........................................................................................16-215
Task 3: Create folders on the server ..........................................................................................................16-218
Task 4: Set the Personalization Document Root Path Profile....................................................................16-220
Task 5: Export the Personalizations to File System...................................................................................16-221
Task 6: Edit the Personalizations...............................................................................................................16-224
Task 7: Change the Personalization Document Root Path Profile.............................................................16-226
Task 8: Import the Personalizations into the MDS repository...................................................................16-227
Guided Demo 2..............................................................................................................................................16-229
Pre-requisites: ............................................................................................................................................16-230

Oracle University and Integrated Training Solutions of Egypt use only


Task 1: Copy all .class files to $JAVA_TOP ...........................................................................................16-232
Task 2: Import the Page and Region into the MDS ...................................................................................16-233
Task 3: Register the Page within E-Business Suite ...................................................................................16-234
Task 4: Bounce the E-Business Suite Instance ..........................................................................................16-235
Task 5: Test Your New Page .....................................................................................................................16-236

Copyright © Oracle Corporation, 2007. All rights reserved.

R12 Extend Oracle Applications: Building OA Framework Applications Table of Contents


x
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS
COMPUTER IS STRICTLY PROHIBITED
Preface

Oracle University and Integrated Training Solutions of Egypt use only

Copyright © Oracle Corporation, 2007. All rights reserved.

R12 Extend Oracle Applications: Building OA Framework Applications Table of Contents


xi
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS
COMPUTER IS STRICTLY PROHIBITED
Profile
Before You Begin This Course
Before you begin this course, you should be able to thoroughly perform the tasks covered
in the R12 Oracle Applications System Administration course. And, you should have
some experience with programming, Java, and J2EE programming. This course is a
programming course with approximately 50% of the course time spent in hands-on
programming labs. If you don’t have appropriate programming skills, debugging skills,

Oracle University and Integrated Training Solutions of Egypt use only


and E-Business Suite experience, especially in system administration, you will
significantly lessen your likelihood of successfully completely the course.
How This Course Is Organized
R12 Extend Oracle Applications: Building OA Framework Applications is an instructor-
led course featuring lectures and hands-on exercises. Online demonstrations and written
practice sessions reinforce the concepts and skills that are introduced.

Copyright © Oracle Corporation, 2007. All rights reserved.

R12 Extend Oracle Applications: Building OA Framework Applications Table of Contents


xii
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS
COMPUTER IS STRICTLY PROHIBITED
Related Publications
Oracle Publications
Title Part Number
Oracle Applications Framework - JDeveloper Check MetaLink for latest version.
with OA Extension patch

Oracle University and Integrated Training Solutions of Egypt use only


Additional Publications
• System release bulletins
• Installation and user’s guides
• read.me files
• International Oracle User’s Group (IOUG) articles
• Oracle Magazine

Copyright © Oracle Corporation, 2007. All rights reserved.

R12 Extend Oracle Applications: Building OA Framework Applications Table of Contents


xiii
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS
COMPUTER IS STRICTLY PROHIBITED
Typographic Conventions
What follows are two lists of typographical conventions that are used specifically within text
or within code.

Typographic Conventions Within Text

Oracle University and Integrated Training Solutions of Egypt use only


Convention Object or Term Example
Uppercase Commands, Use the SELECT command to view
functions, information stored in the LAST_NAME
column names, column of the EMPLOYEES table.
table names,
PL/SQL objects,
schemas

Lowercase, Filenames, where: role is the name of the role


italic syntax variables, to be created.
usernames,
passwords

Initial cap Trigger and Assign a When-Validate-Item trigger to


button names the ORD block.

Choose Cancel.

Italic Books, names of For more information on the subject see


courses and Oracle SQL Reference
manuals, and Manual
emphasized
words or phrases Do not save changes to the database.

Quotation marks Lesson module This subject is covered in Lesson 3,


titles referenced “Working with Objects.”
within a course

Copyright © Oracle Corporation, 2007. All rights reserved.

R12 Extend Oracle Applications: Building OA Framework Applications Table of Contents


xiv
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS
COMPUTER IS STRICTLY PROHIBITED
Typographic Conventions in Code

Typographic Conventions Within Code

Convention Object or Term Example


Uppercase Commands, SELECT employee_id
functions

Oracle University and Integrated Training Solutions of Egypt use only


FROM employees;

Lowercase, Syntax variables CREATE ROLE role;


italic

Initial cap Forms triggers Form module: ORD


Trigger level: S_ITEM.QUANTITY
item
Trigger name: When-Validate-Item
. . .

Lowercase Column names, . . .


table names, OG_ACTIVATE_LAYER
filenames, (OG_GET_LAYER ('prod_pie_layer'))
PL/SQL objects . . .
SELECT last_name
FROM employees;

Bold Text that must CREATE USER scott


be entered by a IDENTIFIED BY tiger;
user

Copyright © Oracle Corporation, 2007. All rights reserved.

R12 Extend Oracle Applications: Building OA Framework Applications Table of Contents


xv
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS
COMPUTER IS STRICTLY PROHIBITED
Oracle University and Integrated Training Solutions of Egypt use only

Copyright © Oracle Corporation, 2007. All rights reserved.

R12 Extend Oracle Applications: Building OA Framework Applications Table of Contents


xvi
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS
COMPUTER IS STRICTLY PROHIBITED
Oracle University and Integrated Training Solutions of Egypt use only
Introduction to JDeveloper
10g with OA Extension
Chapter 8

Copyright © Oracle Corporation, 2007. All rights reserved.

Introduction to JDeveloper 10g with OA Extension


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 8 - Page 1 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Oracle University and Integrated Training Solutions of Egypt use only

Copyright © Oracle Corporation, 2007. All rights reserved.

Introduction to JDeveloper 10g with OA Extension


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 8 - Page 2 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
R12 Building OA Framework Applications

Oracle University and Integrated Training Solutions of Egypt use only

Copyright © Oracle Corporation, 2007. All rights reserved.

Introduction to JDeveloper 10g with OA Extension


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 8 - Page 3 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Lesson Objectives

Oracle University and Integrated Training Solutions of Egypt use only

Copyright © Oracle Corporation, 2007. All rights reserved.

Introduction to JDeveloper 10g with OA Extension


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 8 - Page 4 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Oracle JDeveloper 10g with OA Extension

Oracle University and Integrated Training Solutions of Egypt use only


Oracle JDeveloper
You can use Oracle JDeveloper to build several different types of Java components.
This lesson focuses on using the JDeveloper IDE for building applications.
Wizard Driven
A wizard is a graphical tool that provides step-by-step guidance through the process of
defining a new element in the IDE. Oracle JDeveloper provides several wizards,
including:
• Application Wizard: Defines a new application and associated projects
• Applet Wizard: Defines a new Java applet and adds it to the specified project
• EJB Wizard: Defines a new Enterprise JavaBean (EJB) and adds it to the
specified project
• JSP Wizard: Defines a new JavaServer Page (JSP) and adds it to the specified
project
• HTTP Servlet Wizard: Defines a new servlet and adds it to the specified project

Copyright © Oracle Corporation, 2007. All rights reserved.

Introduction to JDeveloper 10g with OA Extension


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 8 - Page 5 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Designing a User Interface
Oracle JDeveloper helps you specify the following features of your user interface:
• Size and position of controls
• Properties for each control, such as labels, enabled or disabled status, font, and
so on
• Event-handler methods

Oracle University and Integrated Training Solutions of Egypt use only

Copyright © Oracle Corporation, 2007. All rights reserved.

Introduction to JDeveloper 10g with OA Extension


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 8 - Page 6 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Oracle JDeveloper 10g Components

Oracle University and Integrated Training Solutions of Egypt use only


Oracle JDeveloper 10g Environment
Oracle JDeveloper 10g contains four major user interface components. These
components are what you use to edit code, design and manage the user interface,
and navigate your program.
Component Palette
The Component Palette displays the components available to build user interfaces,
models, navigation diagrams, and so on. The Component Palette in the slide displays
Swing components that you use later in the course to build the user interface to a Java
application.
Applications Navigator and Structure window
The Applications Navigator displays a list of files or classes in a project. The files may
be Java source files, .class files, graphics files, HTML, XML documents, and so on.
The associated Structure window shows the detailed structure of the object selected in
the Navigator.
Code Editor
The Code (Design) Editor is where most of the work takes place; this is where you
write code and design user interfaces. Open the editor by double-clicking the name of

Copyright © Oracle Corporation, 2007. All rights reserved.

Introduction to JDeveloper 10g with OA Extension


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 8 - Page 7 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
the file in the Navigator that you want to edit or view. The appropriate editor, code or
design, will open based on your selection.

Oracle University and Integrated Training Solutions of Egypt use only

Copyright © Oracle Corporation, 2007. All rights reserved.

Introduction to JDeveloper 10g with OA Extension


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 8 - Page 8 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Applications and Workspaces

Oracle University and Integrated Training Solutions of Egypt use only


Application Organization
Oracle JDeveloper 10g with OA Extension uses a well-defined structure to manage
Java programming applications. The structure is hierarchical and supports
applications, projects, images, .html files, and so on.
Applications
Application is the highest level in the control structure. It is a view of all the objects you
currently need while you are working. An application keeps track of the projects you
use and the environment settings while you are developing your Java program. When
you open JDeveloper, the last application used is opened by default so that you can
resume your work.
Applications are stored in files with the extension .jws. You do not edit an application
file directly. Whenever you save your application, you are prompted to save all the
files currently open. To save the open and modified files, select the Save option (or
the Save All option) from the File menu.
Note: You can view the content of an application file by using any text editor.

Copyright © Oracle Corporation, 2007. All rights reserved.

Introduction to JDeveloper 10g with OA Extension


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 8 - Page 9 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Determining Applications
You might consider an application to be a view into currently used objects. You can
choose to create applications that group projects that were created in different
applications. Application object groupings can be based around a business area
(Accounts Payable, General Ledger, Accounts Receivable), a phase in a life cycle
(analysis, design, deploy), or the structure of the application (UI, business logic, data
structure).

Oracle University and Integrated Training Solutions of Egypt use only


Workspaces
For E-Business Suite development, there is additional information and restrictions. For
example, an OA Framework application needs to know the E-Business Suite user,
password, application short name, and responsibility key in order to run. Additionally,
unlike typical J2EE development, E-Business Suite doesn’t run Applications, it runs
pages (PG files). So, in JDeveloper, an Application is used as the starting template
that is modified to meet E-Business Suite needs, and is then renamed as a
Workspace.

Copyright © Oracle Corporation, 2007. All rights reserved.

Introduction to JDeveloper 10g with OA Extension


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 8 - Page 10 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Projects

Oracle University and Integrated Training Solutions of Egypt use only


Projects
JDeveloper projects organize the file elements that are used to create your program.
A project file has the file extension .jpr and keeps track of the source files, packages,
classes, images, and other elements that may be needed for your program. You can
add multiple projects to your application to easily access, modify, and reuse your
source code. You can view the content of a project file by using any text editor.
Projects manage environment variables, such as the source and output paths used for
compiling and running your program. Projects also maintain compiler, run-time, and
debugging options so that you can customize the behavior of those tools for each
project.
In the Navigator pane, projects are displayed as the second level in the hierarchy
under the application.
When you select a .java or .html file in the Applications Navigator, the Structure pane
displays the elements of the file in a tree format. For example, when you select a .java
source file, the classes, interfaces, methods, and variables are displayed.

Copyright © Oracle Corporation, 2007. All rights reserved.

Introduction to JDeveloper 10g with OA Extension


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 8 - Page 11 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
To edit source code, double-click the file in the navigation list to display the contents in
the appropriate editor. The Structure pane can be used to quickly locate specific areas
of code in your Java source files and to browse the class hierarchy.
When you are working with the visual designer, the Structure pane displays the
components of your user interface and their associated event-handling methods in a
hierarchical tree format.
Note: Italic style is used to indicate file names that have not yet been saved.

Oracle University and Integrated Training Solutions of Egypt use only

Copyright © Oracle Corporation, 2007. All rights reserved.

Introduction to JDeveloper 10g with OA Extension


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 8 - Page 12 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Creating JDeveloper Items

Oracle University and Integrated Training Solutions of Egypt use only


Creating JDeveloper Items
You can create any JDeveloper item from this New Gallery window. The context for
creating the item must be correct. You must have the correct element selected in the
Category column to create the appropriate item.
Use the Filter By drop-down list to view specific types of elements.

Copyright © Oracle Corporation, 2007. All rights reserved.

Introduction to JDeveloper 10g with OA Extension


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 8 - Page 13 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Creating a Workspace

Oracle University and Integrated Training Solutions of Egypt use only


Creating a Workspace
The goal of this lesson is to create a simple OA Framework page as both your
introduction to JDeveloper and OA Framework. The first step is to create a new
workspace that acts as a container for all the files. The properties to be completed
include the following:
File Name
Enter a name for the workspace. This name is used to categorize all the files in your
workspace.
Directory Name
Enter a top-level directory for the application or click Browse to locate one. This is
where all your application files are stored during development. By default, it points to
JDEV_USER_HOME/myprojects.
Add a New OA Project
Check this checkbox, and continue directly on to creation of your project.

Copyright © Oracle Corporation, 2007. All rights reserved.

Introduction to JDeveloper 10g with OA Extension


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 8 - Page 14 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Step 1: Creating a Project

Oracle University and Integrated Training Solutions of Egypt use only

Copyright © Oracle Corporation, 2007. All rights reserved.

Introduction to JDeveloper 10g with OA Extension


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 8 - Page 15 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Step 2: Creating a Project

Oracle University and Integrated Training Solutions of Egypt use only


Default Package:
This is simply a default starting point for future files. It is not a limit. You can change
the package of any object you create to point to the appropriate path. In essence, this
is there to save you typing time.

Copyright © Oracle Corporation, 2007. All rights reserved.

Introduction to JDeveloper 10g with OA Extension


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 8 - Page 16 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Step 3: Creating a Project

Oracle University and Integrated Training Solutions of Egypt use only


You will not use the repository in class. The repository is the MDS, and is where the
runtime XML files for your pages and regions are kept. For development purposes, by
not specifying a repository, all files will be run from the file system.

Copyright © Oracle Corporation, 2007. All rights reserved.

Introduction to JDeveloper 10g with OA Extension


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 8 - Page 17 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Step 4: Creating a Project

Oracle University and Integrated Training Solutions of Egypt use only


DBC File Name:
Point to the DBC file provided by your instructor. You can either copy it to your own
./secure directory, or you can link to the directory where you instructor has stored the
original.
User Name:
Default for this course is fwktester.
Password:
Default for this course is fwkdev.
Application Short Name:
Default for this course is AK.
Responsibility Key:
Default for this course is FWK_TBX_TUTORIAL.

Copyright © Oracle Corporation, 2007. All rights reserved.

Introduction to JDeveloper 10g with OA Extension


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 8 - Page 18 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Step 1: Establish a Database Connection

Oracle University and Integrated Training Solutions of Egypt use only


From the Applications Navigator panel, click the Connections tab, and choose the
Database folder.

Copyright © Oracle Corporation, 2007. All rights reserved.

Introduction to JDeveloper 10g with OA Extension


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 8 - Page 19 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Step 2: Establish a Database Connection

Oracle University and Integrated Training Solutions of Egypt use only


Right-click the Database folder, and choose New Database Connection.

Copyright © Oracle Corporation, 2007. All rights reserved.

Introduction to JDeveloper 10g with OA Extension


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 8 - Page 20 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Step 3: Establish a Database Connection

Oracle University and Integrated Training Solutions of Egypt use only

Copyright © Oracle Corporation, 2007. All rights reserved.

Introduction to JDeveloper 10g with OA Extension


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 8 - Page 21 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Step 4: Establish a Database Connection

Oracle University and Integrated Training Solutions of Egypt use only


Generally, it is recommended to give the connection the same name as the SID of the
E-Business Suite database to which you are connecting.

Copyright © Oracle Corporation, 2007. All rights reserved.

Introduction to JDeveloper 10g with OA Extension


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 8 - Page 22 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Step 5: Establish a Database Connection

Oracle University and Integrated Training Solutions of Egypt use only


Username:
Default for this course is apps.
Password:
Default for this course is apps.

Copyright © Oracle Corporation, 2007. All rights reserved.

Introduction to JDeveloper 10g with OA Extension


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 8 - Page 23 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Step 6: Establish a Database Connection

Oracle University and Integrated Training Solutions of Egypt use only


If you don’t know this information, you can ask your instructor, or you can examine the
DBC file they provided. All of the connection information is contained in the DBC.

Copyright © Oracle Corporation, 2007. All rights reserved.

Introduction to JDeveloper 10g with OA Extension


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 8 - Page 24 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Step 7: Establish a Database Connection

Oracle University and Integrated Training Solutions of Egypt use only


Always test the connection.

Copyright © Oracle Corporation, 2007. All rights reserved.

Introduction to JDeveloper 10g with OA Extension


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 8 - Page 25 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Project Properties

Oracle University and Integrated Training Solutions of Egypt use only


Project Properties: Specifying Project Details
If you need to change any of the connection information, or any other project setting,
simply double-click the project in the Applications Navigator panel to open the Project
Properties window.

Copyright © Oracle Corporation, 2007. All rights reserved.

Introduction to JDeveloper 10g with OA Extension


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 8 - Page 26 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Project Properties – Oracle Applications

Oracle University and Integrated Training Solutions of Egypt use only


In order to see complete diagnostic errors and stack dumps, we will add OADiagnostic
to the Run Options of every project.

Copyright © Oracle Corporation, 2007. All rights reserved.

Introduction to JDeveloper 10g with OA Extension


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 8 - Page 27 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Directory Structure

Oracle University and Integrated Training Solutions of Egypt use only


myprojects: Holds .java and .xml files
myclasses: Holds .class and .xml files
myhtml: Holds deployed objects, like shared images, and .jsps
system: Holds JDeveloper configuration information
dbc_files/secure: Holds DBC files

Copyright © Oracle Corporation, 2007. All rights reserved.

Introduction to JDeveloper 10g with OA Extension


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 8 - Page 28 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Exploring Java Files

Oracle University and Integrated Training Solutions of Egypt use only

Copyright © Oracle Corporation, 2007. All rights reserved.

Introduction to JDeveloper 10g with OA Extension


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 8 - Page 29 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Exploring Other Objects - Wizards

Oracle University and Integrated Training Solutions of Egypt use only


Some objects, notably any BC4J objects (AM, EO, VO, AO, VL), have Wizards
associated with them. When you double-click the object, it opens the object wizard by
default.

Copyright © Oracle Corporation, 2007. All rights reserved.

Introduction to JDeveloper 10g with OA Extension


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 8 - Page 30 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Exploring Other Objects – UI Objects

Oracle University and Integrated Training Solutions of Egypt use only


UI (View-layer) objects, like pages (PG) and regions (RN), aren’t written in Java and
they don’t have object wizards. These objects are edited using the Property Inspector.

Copyright © Oracle Corporation, 2007. All rights reserved.

Introduction to JDeveloper 10g with OA Extension


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 8 - Page 31 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Finding Methods and Fields

Oracle University and Integrated Training Solutions of Egypt use only


Finding Methods and Fields
As projects evolve, classes can become quite large, containing several methods and
fields. To help you find your way around complex classes, JDeveloper provides the
Structure pane, which is the bottom pane in the Applications Navigator.
The Structure pane lists all the methods and fields for the currently selected class. If
you double-click an item in the Structure pane, JDeveloper takes you to the definition
of that item in the source code, displaying and highlighting it in the Code Editor. For
example, if you double-click the helpAbout_ActionPerformed entry in the Structure
pane, the start of the helpAbout_ActionPerformed method is highlighted in the Code
Editor.
You can also search the Navigator and Structure pane components for strings by
using a [letter]. The search is a hierarchical search based on the first letter of each
component. As you enter subsequent letters, the structure list highlights the first
component that begins with that set of letters. If there is more than one occurrence,
use the up and down arrow keys to scroll through the result set.

Copyright © Oracle Corporation, 2007. All rights reserved.

Introduction to JDeveloper 10g with OA Extension


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 8 - Page 32 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Note: JDeveloper 10g with OA Extension provides some new features to facilitate
navigation through your Java code. One of these is navigation between members,
which allows you to quickly navigate between fields and methods in the Code Editor
by using the Previous Member ([Alt] + [Up]) and Next Member ([Alt] + [Down])
accelerators.

Oracle University and Integrated Training Solutions of Egypt use only

Copyright © Oracle Corporation, 2007. All rights reserved.

Introduction to JDeveloper 10g with OA Extension


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 8 - Page 33 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Supporting Code Development with Profiler and Code Coach

Oracle University and Integrated Training Solutions of Egypt use only


Supporting Code Development with Profiler and Code Coach
Code Coach
Code Coach creates more efficient Java programs by helping you write higher-quality,
better-performing code. You run Code Coach on a class to obtain advice on how to
make your code better.
Profilers
Profilers gather statistics on your program, enabling you to more easily diagnose
performance issues. With profilers, you can examine and analyze your data.
Code Editor
When you pause momentarily while entering code in the Code Editor, JDeveloper
automatically scans your code to look for syntax errors. If there are any, you see them
represented in the Structure pane or in the Log window.
Code Insight
If you pause after entering a “.” (period), JDeveloper invokes Code Insight. Code
Insight displays valid methods and members from which you can select. JDeveloper

Copyright © Oracle Corporation, 2007. All rights reserved.

Introduction to JDeveloper 10g with OA Extension


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 8 - Page 34 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
also provides Code Insight for parameters when you pause after entering a left
parenthesis.

Oracle University and Integrated Training Solutions of Egypt use only

Copyright © Oracle Corporation, 2007. All rights reserved.

Introduction to JDeveloper 10g with OA Extension


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 8 - Page 35 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
New Code Editor Features

Oracle University and Integrated Training Solutions of Egypt use only


New Code Editor Features
Code Assist
Code Assist is a new feature in JDeveloper 10g with OA Extension. It deals with
adherence to coding standards rather than syntactical correctness.
It examines your code in the Java Source Editor and offers suggestions to fix coding
problems or breaches of coding standards. A light bulb icon appears in the margin
beside a line where JDeveloper has a suggestion for a code change. You click the
icon to display the suggestion. You can accept the suggestion by clicking it and
amending the code; or you can reject the suggestion and suppress the light bulb by
closing the suggestion. In many cases, if you accept the suggestion, JDeveloper
makes the appropriate code modifications for you automatically.
You can choose which rules you want Code Assist to use, or you can disable the
feature altogether by selecting Tools > Preferences > Audit: Profiles.
Code Folding
Code folding allows you to shrink sections of code, making large programs more
readable and more manageable. You use the + and – buttons in the blue vertical bar
on the left of the code to expand or contract classes, respectively.

Copyright © Oracle Corporation, 2007. All rights reserved.

Introduction to JDeveloper 10g with OA Extension


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 8 - Page 36 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Tasks List
By using the Tasks list, you can create and keep track of tasks. The tasks can be of
any nature, but the feature has been provided primarily for tasks connected with the
process of software development. For this reason, a direct link has been provided
between the Code Editor and the Tasks list: When writing code, a task is created
whenever you enter
//TODO. A check mark is displayed in the margin to the left of the line, indicating the

Oracle University and Integrated Training Solutions of Egypt use only


presence of a task.
Overview Margin
The Overview margin is displayed vertically on the right side of the Code Editor. If
there are no problems with the code, a small green marker appears at the top of the
margin. An orange marker indicates a warning, and a red marker denotes an error.
When you position the cursor over an orange or red marker, you see a brief displayed
description of the error or warning.
Overridden and Implemented Method Definitions
When working in the Java Source Editor, you can identify methods that override
superclass definitions or implement interface declarations. Overriding definitions are
marked with an upward-pointing arrow and the letter o in the left margin; clicking this
letter takes you to the overridden definition. Similarly, an upward-pointing arrow and
the letter i in the margin identifies a method that implements an interface; clicking the
letter takes you to the implemented method declaration.

Copyright © Oracle Corporation, 2007. All rights reserved.

Introduction to JDeveloper 10g with OA Extension


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 8 - Page 37 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Customizing JDeveloper 10g with OA Extension

Oracle University and Integrated Training Solutions of Egypt use only


Customizing JDeveloper 10g with OA Extension
Customizing the IDE
You can customize JDeveloper’s default display options (for example, whether the
splash screen is displayed at startup and whether dockable windows are always on
top) as well as other general behavior (for example, whether JDeveloper automatically
reloads externally modified files and whether output to the Log window is automatically
saved to a file).

Copyright © Oracle Corporation, 2007. All rights reserved.

Introduction to JDeveloper 10g with OA Extension


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 8 - Page 38 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
You can do all of the following:
• Customize the general environment for the IDE.
• Customize dockable windows for the IDE.
• Customize the Component Palette.
• Load preset keymaps and customize individual accelerators. You can take
advantage of the several existing keymap sets in JDeveloper or begin with an
existing keymap and then customize it to suit your own coding style by changing

Oracle University and Integrated Training Solutions of Egypt use only


which keyboard shortcuts, or accelerators, map to which actions.
• Customize options for the Code Editor.
• Add external tools to JDeveloper.

Copyright © Oracle Corporation, 2007. All rights reserved.

Introduction to JDeveloper 10g with OA Extension


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 8 - Page 39 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Refactoring

Oracle University and Integrated Training Solutions of Egypt use only


Refactoring
Refactoring is the process of improving an application by reorganizing its internal
structure without changing its external behavior. In JDeveloper, you can make these
changes without breaking any dependent files on which your project relies because
these files are automatically updated for you.
Oracle JDeveloper 10g with OA Extension provides an even more powerful refactoring
framework; as a result, performing refactoring actions is faster and much smoother.
You can now right-click a method or field in the Java Structure window (or in the Code
Editor) to initiate refactoring. When refactoring, JDeveloper searches your entire
project and any projects that are listed in Tools > Project Properties, Dependencies.
Before proceeding with a refactoring action, you have the option of previewing the
occurrences that will be updated (as the slide shows). You can then choose to
continue with the refactoring action or cancel it. You can even undo refactoring if
needed.

Copyright © Oracle Corporation, 2007. All rights reserved.

Introduction to JDeveloper 10g with OA Extension


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 8 - Page 40 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Refactoring

Oracle University and Integrated Training Solutions of Egypt use only


Refactoring (continued)
You can refactor across an entire application. In particular, you can refactor across
multiple projects (via project dependencies).
Some of the available refactoring operations are:
Rename Class: Renames a class, its constructors, and its source file and updates all
references to the class in the project
Rename Field: Renames a field and updates all references to the field in the project
Rename Method: Renames a method and updates all references to the method in the
project
Rename Package: Renames a package and updates all references to the package in
the project (including organization of subpackages)
Rename Local Variable: Renames a local variable and updates all references to the
variable
Rename Parameter: Renames a parameter and updates all references to the
parameter

Copyright © Oracle Corporation, 2007. All rights reserved.

Introduction to JDeveloper 10g with OA Extension


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 8 - Page 41 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Introduce Variable/Field/Constant/Parameter: Replaces the selected expression
with a new expression of the same type
Extract Method: Creates a new method from the selected code, setting up
parameters for any variables that need to be passed to the new method
Extract Interface: Creates a new interface from any of the public methods in the
current type definition and implements that interface for the current type
Use Supertype Where Possible: Replaces all occurrences of a type with one of its

Oracle University and Integrated Training Solutions of Egypt use only


supertypes if applicable
Pull Members Up: Promotes the declaration of methods or fields to the supertype and
updates references accordingly
Push Members Down: Moves the declaration of methods or fields to all the subtypes
of the current type and updates references accordingly
Delete Safely: Checks to make sure that the element you are attempting to delete is
not actually being used in your code before allowing the delete operation to proceed. If
references are found, you are warned and given the option to cancel the delete
operation. Delete Safely can be used when deleting types, methods, and fields.

Copyright © Oracle Corporation, 2007. All rights reserved.

Introduction to JDeveloper 10g with OA Extension


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 8 - Page 42 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
JDeveloper Help System

Oracle University and Integrated Training Solutions of Egypt use only


JDeveloper Help System
To make the best use of JDeveloper tools and libraries, and of Java itself, you can use
a comprehensive help system that covers all aspects of Java development.
To access the help system:
1. Select Help > Table of Contents in the main menu. The help system appears.
2. Select one of the topics from the content navigator at the left of the window. After
you select a topic, the topic expands to display subtopics.
3. Select the topic you are interested in and right-click it to display the help text in a
window.
4. Use hypertext links to navigate within a topic or to related topics.
Note: The JDeveloper 10g with OA Extension contains both the JDeveloper 10g help
and the specific help for the additional components provided by OA Extension and OA
Framework.

Copyright © Oracle Corporation, 2007. All rights reserved.

Introduction to JDeveloper 10g with OA Extension


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 8 - Page 43 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Obtaining Help on a Topic

Oracle University and Integrated Training Solutions of Egypt use only


Obtaining Help on a Topic
Pressing the [F1] key invokes a context-sensitive Help topic window.
Javadoc
Javadoc is a tool that parses the declarations and documentation comments in a set
of source files and produces a set of HTML pages describing the classes, inner
classes, interfaces, constructors, methods, and fields.
When working in the Code Editor, you can quickly access the specific javadoc entry
for any element in the source file. To browse the specific javadoc entry for a given
class, member, or method, select the appropriate code element, right-click, and
choose Quick Javadoc. A pop-up window with javadoc for just that element appears.

Copyright © Oracle Corporation, 2007. All rights reserved.

Introduction to JDeveloper 10g with OA Extension


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 8 - Page 44 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Oracle JDeveloper Debugger

Oracle University and Integrated Training Solutions of Egypt use only


Oracle JDeveloper Debugger
Debugging is the process of looking for program errors that prevent your program from
doing what you intended. There are two basic types of program errors: run-time errors
and logic errors. Remember that the compiler catches any syntax problems.
If your program successfully compiles but gives run-time exceptions or hangs, then
you have a run-time error. That is, your program contains valid statements but is
encountering errors when they are executed. For example, you may be trying to open
a file that does not exist or you may be trying to divide by zero.
Logic errors are errors in the design and implementation of your program. That is, your
program statements are valid and do something, but the results are not what you
intended them to be. This type of error is usually the most difficult to find.
The debugger enables you to control the execution of your program. It provides the
ability to execute parts of the code step by step. You can also set breakpoints that
pause the program execution when it reaches the line of code you want to examine.
While the program is paused, you can inspect and even modify program variables.
This helps you examine loops and other control structures to make sure that what is
happening is what you intended.

Copyright © Oracle Corporation, 2007. All rights reserved.

Introduction to JDeveloper 10g with OA Extension


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 8 - Page 45 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Breakpoints
Breakpoints are a convenient way of tracing the cause of a problem in a program.
When the debugger encounters a breakpoint, it pauses program execution. You can
resume execution, stepping through the code line by line and examining variables and
conditions. Or you can simply stop the program. You can set as many breakpoints as
you want.
Watchpoints

Oracle University and Integrated Training Solutions of Egypt use only


A watchpoint is a new type of breakpoint in JDeveloper 10g with OA Extension. A
watchpoint is a breakpoint that breaks on a value change.
Watchpoints enable you to pause the debugger when the value of a specified field is
accessed or modified. You set a watchpoint by right-clicking a variable in the Code
Editor and choosing Toggle Watchpoint from the shortcut menu.

Copyright © Oracle Corporation, 2007. All rights reserved.

Introduction to JDeveloper 10g with OA Extension


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 8 - Page 46 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Breakpoints

Oracle University and Integrated Training Solutions of Egypt use only


Breakpoints
Setting Breakpoints
To set a breakpoint, you select a line of code in the source code window, right-click,
and then select Toggle Breakpoint. You can click in the left margin to set a new
breakpoint. After you start debugging, breakpoints that are known to be valid have a
check mark in the breakpoint icon. A breakpoint without a check mark may mean that
this line does not represent code where the debugger can stop. However, it might
simply mean that the debugger does not yet know whether the breakpoint is valid or
invalid.
Viewing Breakpoints
To view all the currently enabled breakpoints, select View > Breakpoints from the
menu bar. A window appears showing all the breakpoints that are set in the program.
To disable or remove a breakpoint, right-click the breakpoint and select an action from
the shortcut menu.

Copyright © Oracle Corporation, 2007. All rights reserved.

Introduction to JDeveloper 10g with OA Extension


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 8 - Page 47 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Conditional Breakpoints
To set the conditions on which you want a breakpoint to be activated, right-click a
breakpoint and select Edit Breakpoint. On the Breakpoint Conditions tab, you can
specify information about how and when the breakpoint is activated (including valid
Java conditional statements and thread-specific conditions).
Display Settings
To select the columns that are displayed in the breakpoints window, right-click in the

Oracle University and Integrated Training Solutions of Egypt use only


breakpoints window and select Settings. In the dialog box, select Debugger >
Breakpoints in the navigator tree on the left, and then select the columns to display.
Scope Settings
To select the scope for debugging, right-click in the breakpoints window, select
Change Scope, and then select the appropriate value.

Copyright © Oracle Corporation, 2007. All rights reserved.

Introduction to JDeveloper 10g with OA Extension


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 8 - Page 48 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Breaking on Exceptions

Oracle University and Integrated Training Solutions of Egypt use only

Copyright © Oracle Corporation, 2007. All rights reserved.

Introduction to JDeveloper 10g with OA Extension


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 8 - Page 49 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Debugger Windows

Oracle University and Integrated Training Solutions of Egypt use only


Debugger Windows
Make sure that the project is selected, and then click the Debug icon. Alternatively, in
the menu bar you can select Debug > Debug <Project Name>.jpr. This causes any
required files to be compiled and then starts your program in debug mode.
Debugging Windows
As soon as you start the debugger, three tabs are added to a new window at the
lower-right side of JDeveloper: the Smart Data tab, the Data tab, and the Watch tab. A
new tab is added to the existing message window. You can use this tab to monitor the
code as it executes. Fields for each window can be modified in the Tools >
Preferences menu in the Debugger node.
• Smart Data tab: Displays only the data that appears to be relevant to the source
code you are stepping through
• Data tab: Displays all the arguments, local variables, and static fields for the
current method
• Watch tab: Displays the current value of an expression that you have flagged to
appear during execution of the program

Copyright © Oracle Corporation, 2007. All rights reserved.

Introduction to JDeveloper 10g with OA Extension


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 8 - Page 50 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Remote Debugging
You can manually launch the program you want to debug and then start the debugger.
In the Host list, select the name of the machine where the program has started. After
the debugger is attached to the running program, remote debugging is similar to local
debugging.

Oracle University and Integrated Training Solutions of Egypt use only

Copyright © Oracle Corporation, 2007. All rights reserved.

Introduction to JDeveloper 10g with OA Extension


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 8 - Page 51 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Stepping Through a Program

Oracle University and Integrated Training Solutions of Egypt use only


Stepping Through a Program
Click the following buttons in the debugger toolbar:
• Start the debugger: Executes the program in debug mode. The program is
paused when it encounters a breakpoint. If no breakpoints are set, you can
pause the program by clicking the “Pause execution” button.
• Resume the program: Resumes the program after stopping at a breakpoint
• Step over a method call: Executes the method at the current position in the
program at full speed rather than tracing the method line by line
• Step into a method call: Traces a method line by line. This is useful when you
suspect that the method may be the one that is causing the problem.
• Step out of a method call: Enables you to step out of the current method and
return to the next instruction of the calling method
• Step to the end of the method: Jumps to the end of the method
• Pause execution: Pauses a running program at its current position
• Stop the debugger: Stops the execution of a running program. This is a useful
way of killing the program.

Copyright © Oracle Corporation, 2007. All rights reserved.

Introduction to JDeveloper 10g with OA Extension


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 8 - Page 52 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Watching Data and Variables

Oracle University and Integrated Training Solutions of Egypt use only


Watching Data and Variables
Viewing Analyzed Data on the Smart Data Tab
The debugger analyzes the source code near the execution point, looking for variables
and fields expressions that are used in the lines of code. By default, the debugger
analyzes only one line of code for each location.
Viewing Local Variables on the Data Tab
The Data tab is the lower window that is displayed when you click the Debug tab at
the bottom of the Applications Navigator. The Data tab automatically displays a list of
local variables, static fields, and arguments that are in scope. As you jump from one
method to the next, the list of variables displayed on the Data tab changes.
Selecting Other Variables and Expressions to Watch
Other variables and expressions can be viewed by following the steps described in the
slide. Select a variable or expression such as age+10. Right-click the variable or
expression and select “Watch… at Cursor” from the shortcut menu. A dialog box
displays the selected variable or expression; click OK to accept it and add it to the
Watch tab. View the variables that you have selected to monitor on the Watch tab. To
modify a data value, right-click it and select Modify Value from the shortcut menu.

Copyright © Oracle Corporation, 2007. All rights reserved.

Introduction to JDeveloper 10g with OA Extension


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 8 - Page 53 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Debugging Declarative Applications

Oracle University and Integrated Training Solutions of Egypt use only


For example, compiler messages can warn you that you forgot to provide a setting for
important properties that would affect how the page runs. The Embedded OC4J
window shows runtime information such as SQL statements being executed as well as
their bind variables.

Copyright © Oracle Corporation, 2007. All rights reserved.

Introduction to JDeveloper 10g with OA Extension


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 8 - Page 54 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
More Debugging Tips

Oracle University and Integrated Training Solutions of Egypt use only

Copyright © Oracle Corporation, 2007. All rights reserved.

Introduction to JDeveloper 10g with OA Extension


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 8 - Page 55 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Understand BC4J Interactions

Oracle University and Integrated Training Solutions of Egypt use only

Copyright © Oracle Corporation, 2007. All rights reserved.

Introduction to JDeveloper 10g with OA Extension


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 8 - Page 56 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Understand BC4J Interactions

Oracle University and Integrated Training Solutions of Egypt use only

Copyright © Oracle Corporation, 2007. All rights reserved.

Introduction to JDeveloper 10g with OA Extension


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 8 - Page 57 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Debugging Validation and Commits

Oracle University and Integrated Training Solutions of Egypt use only

Copyright © Oracle Corporation, 2007. All rights reserved.

Introduction to JDeveloper 10g with OA Extension


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 8 - Page 58 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Summary

Oracle University and Integrated Training Solutions of Egypt use only


Open the Course Labs book.
Complete the lab titled, Lab 3 – First OA Framework Page

Copyright © Oracle Corporation, 2007. All rights reserved.

Introduction to JDeveloper 10g with OA Extension


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 8 - Page 59 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Oracle University and Integrated Training Solutions of Egypt use only

Copyright © Oracle Corporation, 2007. All rights reserved.

Introduction to JDeveloper 10g with OA Extension


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 8 - Page 60 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Oracle University and Integrated Training Solutions of Egypt use only
Implementing a Query and
Drill-down
Chapter 9

Copyright © Oracle Corporation, 2007. All rights reserved.

Implementing a Query and Drill-down


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 9 - Page 1 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Oracle University and Integrated Training Solutions of Egypt use only

Copyright © Oracle Corporation, 2007. All rights reserved.

Implementing a Query and Drill-down


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 9 - Page 2 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
R12 Building OA Framework Applications

Oracle University and Integrated Training Solutions of Egypt use only

Copyright © Oracle Corporation, 2007. All rights reserved.

Implementing a Query and Drill-down


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 9 - Page 3 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Lesson Objectives

Oracle University and Integrated Training Solutions of Egypt use only

Copyright © Oracle Corporation, 2007. All rights reserved.

Implementing a Query and Drill-down


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 9 - Page 4 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Course Methodology

Oracle University and Integrated Training Solutions of Egypt use only

Copyright © Oracle Corporation, 2007. All rights reserved.

Implementing a Query and Drill-down


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 9 - Page 5 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Course Methodology

Oracle University and Integrated Training Solutions of Egypt use only

Copyright © Oracle Corporation, 2007. All rights reserved.

Implementing a Query and Drill-down


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 9 - Page 6 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Finished Page Before Search

Oracle University and Integrated Training Solutions of Egypt use only

Copyright © Oracle Corporation, 2007. All rights reserved.

Implementing a Query and Drill-down


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 9 - Page 7 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Finished Page After Search

Oracle University and Integrated Training Solutions of Egypt use only

Copyright © Oracle Corporation, 2007. All rights reserved.

Implementing a Query and Drill-down


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 9 - Page 8 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Finished List of Values Page

Oracle University and Integrated Training Solutions of Egypt use only

Copyright © Oracle Corporation, 2007. All rights reserved.

Implementing a Query and Drill-down


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 9 - Page 9 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Finished Drilldown-to-Details Page

Oracle University and Integrated Training Solutions of Egypt use only

Copyright © Oracle Corporation, 2007. All rights reserved.

Implementing a Query and Drill-down


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 9 - Page 10 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Summary

Oracle University and Integrated Training Solutions of Egypt use only


Open the Course Labs book.
Complete the lab titled, Lab 4 – Implementing a Query and Drill-down

Copyright © Oracle Corporation, 2007. All rights reserved.

Implementing a Query and Drill-down


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 9 - Page 11 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Oracle University and Integrated Training Solutions of Egypt use only

Copyright © Oracle Corporation, 2007. All rights reserved.

Implementing a Query and Drill-down


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 9 - Page 12 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Oracle University and Integrated Training Solutions of Egypt use only
Implementing a Create
Chapter 10

Copyright © Oracle Corporation, 2007. All rights reserved.

Implementing a Create
Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 10 - Page 1 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Oracle University and Integrated Training Solutions of Egypt use only

Copyright © Oracle Corporation, 2007. All rights reserved.

Implementing a Create
Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 10 - Page 2 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
R12 Building OA Framework Applications

Oracle University and Integrated Training Solutions of Egypt use only

Copyright © Oracle Corporation, 2007. All rights reserved.

Implementing a Create
Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 10 - Page 3 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Lesson Objectives

Oracle University and Integrated Training Solutions of Egypt use only

Copyright © Oracle Corporation, 2007. All rights reserved.

Implementing a Create
Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 10 - Page 4 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Implementing a Poplist

Oracle University and Integrated Training Solutions of Egypt use only

Copyright © Oracle Corporation, 2007. All rights reserved.

Implementing a Create
Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 10 - Page 5 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Extending a Shared Region

Oracle University and Integrated Training Solutions of Egypt use only


Whenever you need a BLAF-standard "Indicates Required Field" key in your page,
you can simply extend the common OA Framework region by extending
/oracle/apps/fnd/framework/webui/OAReqFieldDescRG.
Note: For the Extends property, you may need to deselect the "Show Components
With Valid Scope Only" check box in the dialog window if the shared region is outside
your application packages or otherwise restricted in scope. In other cases you may
want to restrict the choices to components with a valid scope, such as in your
particular application.

Copyright © Oracle Corporation, 2007. All rights reserved.

Implementing a Create
Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 10 - Page 6 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Creating a New Row

Oracle University and Integrated Training Solutions of Egypt use only

Copyright © Oracle Corporation, 2007. All rights reserved.

Implementing a Create
Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 10 - Page 7 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Initializing a View Object

Oracle University and Integrated Training Solutions of Egypt use only


This code would typically be in a create() method in the application module for the
page (such as a createEmployee() method in an EmployeeAMImpl.java file). The
method would be invoked from the client-side controller code, either from
processRequest() or processFormRequest().

Copyright © Oracle Corporation, 2007. All rights reserved.

Implementing a Create
Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 10 - Page 8 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Creating and Initializing a VO Row

Oracle University and Integrated Training Solutions of Egypt use only


This code would be right after the view object initialization in the create() method on
the application module.
The view object internally delegates to the entity object, if there is one, to execute
entity object methods such as create(). The create() method provides any default
values for the new row.

Copyright © Oracle Corporation, 2007. All rights reserved.

Implementing a Create
Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 10 - Page 9 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Getting the Data

Oracle University and Integrated Training Solutions of Egypt use only

Copyright © Oracle Corporation, 2007. All rights reserved.

Implementing a Create
Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 10 - Page 10 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Saving a Row to the Database

Oracle University and Integrated Training Solutions of Egypt use only

Copyright © Oracle Corporation, 2007. All rights reserved.

Implementing a Create
Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 10 - Page 11 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Lab – After Create Basics

Oracle University and Integrated Training Solutions of Egypt use only

Copyright © Oracle Corporation, 2007. All rights reserved.

Implementing a Create
Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 10 - Page 12 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Lab – After Validations

Oracle University and Integrated Training Solutions of Egypt use only

Copyright © Oracle Corporation, 2007. All rights reserved.

Implementing a Create
Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 10 - Page 13 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Lab – After Validations

Oracle University and Integrated Training Solutions of Egypt use only

Copyright © Oracle Corporation, 2007. All rights reserved.

Implementing a Create
Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 10 - Page 14 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Lab – After Partial Page Rendering

Oracle University and Integrated Training Solutions of Egypt use only


Note: This sample shows the Position field set to President. Note that when the
Position is President, there is no Manager field presented in the UI.

Copyright © Oracle Corporation, 2007. All rights reserved.

Implementing a Create
Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 10 - Page 15 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Lab – After Partial Page Rendering

Oracle University and Integrated Training Solutions of Egypt use only


Note: This sample shows the Position field set to something other than President
(Buyer in this case). Note that when the Position is not President, there is a Manager
field presented in the UI.

Copyright © Oracle Corporation, 2007. All rights reserved.

Implementing a Create
Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 10 - Page 16 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Summary

Oracle University and Integrated Training Solutions of Egypt use only


Open the Course Labs book.
Complete the lab titled, Lab 5 – Implementing a Create

Copyright © Oracle Corporation, 2007. All rights reserved.

Implementing a Create
Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 10 - Page 17 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Oracle University and Integrated Training Solutions of Egypt use only

Copyright © Oracle Corporation, 2007. All rights reserved.

Implementing a Create
Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 10 - Page 18 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Oracle University and Integrated Training Solutions of Egypt use only
Implementing a Delete
Chapter 11

Copyright © Oracle Corporation, 2007. All rights reserved.

Implementing a Delete
Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 11 - Page 1 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Oracle University and Integrated Training Solutions of Egypt use only

Copyright © Oracle Corporation, 2007. All rights reserved.

Implementing a Delete
Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 11 - Page 2 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
R12 Building OA Framework Applications

Oracle University and Integrated Training Solutions of Egypt use only

Copyright © Oracle Corporation, 2007. All rights reserved.

Implementing a Delete
Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 11 - Page 3 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Lesson Objectives

Oracle University and Integrated Training Solutions of Egypt use only

Copyright © Oracle Corporation, 2007. All rights reserved.

Implementing a Delete
Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 11 - Page 4 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Error Handling Overview

Oracle University and Integrated Training Solutions of Egypt use only


Note: It should be noted that the very nature of error handling is different in OA
Framework pages, and a new programmer should have a good grasp of exception
handling in Java as a foundation to this material.

Copyright © Oracle Corporation, 2007. All rights reserved.

Implementing a Delete
Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 11 - Page 5 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Exception Types

Oracle University and Integrated Training Solutions of Egypt use only


In earlier versions of OA Framework, what is now called ADFm, ADFBC, or BC4J, was
called Java Business Objects or JBO. In the case of any exception that you encounter
within OA Framework pages, if the exception contains jbo, it is a BC4J or model-layer
problem. Likewise, the earlier versions of UIX and OA Framework web beans were
called Java Rapid Application Development or JRAD. So, any exceptions with jrad in
the name refer to view-layer, UIX, or UI-related problems.

Copyright © Oracle Corporation, 2007. All rights reserved.

Implementing a Delete
Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 11 - Page 6 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Exception Types

Oracle University and Integrated Training Solutions of Egypt use only

Copyright © Oracle Corporation, 2007. All rights reserved.

Implementing a Delete
Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 11 - Page 7 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Exception Classes

Oracle University and Integrated Training Solutions of Egypt use only


OAException is for generic error cases.
OAAttrValException is for any failed attribute-level validation in the VO row or EO.
OARowValException is for any failed row-level validation in the VO row or EO.

Copyright © Oracle Corporation, 2007. All rights reserved.

Implementing a Delete
Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 11 - Page 8 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Message Types

Oracle University and Integrated Training Solutions of Egypt use only


The OAException, OAAttrValException, and OARowValException classes all include
constructors that accept a message type (byte) parameter. The message type
parameter tells OA Framework the type of message to display to a user. Any of the list
message types are valid for any of these exception classes.

Copyright © Oracle Corporation, 2007. All rights reserved.

Implementing a Delete
Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 11 - Page 9 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Message Dictionary

Oracle University and Integrated Training Solutions of Egypt use only


Create a message using the Messages form (Application Developer responsibility) or
the Messages page (Functional Administrator responsibility)
• Optionally include tokens for runtime substitution of values
• Identify the message in code by its application short name and message name
• Set up and pass any tokens and their values
• Display the message

Copyright © Oracle Corporation, 2007. All rights reserved.

Implementing a Delete
Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 11 - Page 10 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Implementing Message Dictionary

Oracle University and Integrated Training Solutions of Egypt use only


The Message Dictionary allows us to centrally store, manage, and reuse messages.
One major benefit is reduced translation costs, which may be a consideration for your
company and project.

Copyright © Oracle Corporation, 2007. All rights reserved.

Implementing a Delete
Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 11 - Page 11 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Instantiating Attribute-level Exceptions

Oracle University and Integrated Training Solutions of Egypt use only


Attribute Exceptions are the messages on the individual fields of the page.

Copyright © Oracle Corporation, 2007. All rights reserved.

Implementing a Delete
Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 11 - Page 12 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Instantiating Row-level Exceptions

Oracle University and Integrated Training Solutions of Egypt use only


Row-level exceptions are the messages derived for validation of two or more fields on
the page.

Copyright © Oracle Corporation, 2007. All rights reserved.

Implementing a Delete
Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 11 - Page 13 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Attribute Value - EO Example

Oracle University and Integrated Training Solutions of Egypt use only


This code would be added to the EOImpl.java class, into the setSalary method.

Copyright © Oracle Corporation, 2007. All rights reserved.

Implementing a Delete
Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 11 - Page 14 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Attribute Value - VO Example

Oracle University and Integrated Training Solutions of Egypt use only


This code would be added to the VORowImpl.java class, into the setDescription
method. You should NEVER use a VO set method when you have an EO-based VO.
You should defer all the business logic (set methods) to the EOImpl.java class.

Copyright © Oracle Corporation, 2007. All rights reserved.

Implementing a Delete
Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 11 - Page 15 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Row Value - EO Example

Oracle University and Integrated Training Solutions of Egypt use only


This code would be added to the EOImpl.java class. The validateEntity method is a
default method provided for cross-attribute validation. This method is called after all
the individual set methods have been called.

Copyright © Oracle Corporation, 2007. All rights reserved.

Implementing a Delete
Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 11 - Page 16 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Row Value - VO Example

Oracle University and Integrated Training Solutions of Egypt use only


This code would be added to the VORowImpl.java class. The validate method is a
default method provided for cross-attribute validation. This method is called after all
the individual set methods have been called. You should NEVER use the VO validate
method when you have an EO-based VO. You should defer all the business logic to
the validateEntity method of the EOImpl.java class.

Copyright © Oracle Corporation, 2007. All rights reserved.

Implementing a Delete
Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 11 - Page 17 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Messaging Flows

Oracle University and Integrated Training Solutions of Egypt use only

Copyright © Oracle Corporation, 2007. All rights reserved.

Implementing a Delete
Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 11 - Page 18 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Inline Messages

Oracle University and Integrated Training Solutions of Egypt use only

Copyright © Oracle Corporation, 2007. All rights reserved.

Implementing a Delete
Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 11 - Page 19 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Dialog Pages

Oracle University and Integrated Training Solutions of Egypt use only


Browser-based Dialog pages are not true dialog pages. Dialog pages in your
operating system cannot be overridden, and the user must respond to that window. In
browser-based dialog pages, the dialog page is just like any other page. It can be
closed without the user responding to it. As such, unexpected behaviors can occur.
This is the nature of web-based applications, and must be anticipated by the
programmer.
This code is contained within the CO.java (Controller) class, in the
processFormRequest method.

Copyright © Oracle Corporation, 2007. All rights reserved.

Implementing a Delete
Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 11 - Page 20 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Dialog Pages

Oracle University and Integrated Training Solutions of Egypt use only


This code is contained within the CO.java (Controller) class, in the
ProcessFormRequest method.
• descriptionMessage - concise message describing complex error, warning,
information, or confirmation
• instructionMessage - further concise instructions suggesting how to recover and
proceed with the task at hand
• okButtonUrl - URL value for the OK (or Yes) action button
• noButtonUrl - URL value for the NO action button

Copyright © Oracle Corporation, 2007. All rights reserved.

Implementing a Delete
Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 11 - Page 21 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Switchers

Oracle University and Integrated Training Solutions of Egypt use only


Applications switchers allow you to switch from the home/default page of one
application to the home/default page of a different application. It is a rapid navigation
aid.
Context switchers allow you to quickly change the parameters of an LOV. For
example, assume you are a VP, and you have several groups that report to you. You
are looking at the headcount of one of your groups (Group A) presented in a table. A
context switcher provides a quick poplist-type UI element to allow you to switch the
context to another group (Group B). When you select the different context, the data
presented in the table is immediately changed.
Table content switchers are the focus on the lab for this lesson. A table content
switcher is a region with two or more display alternatives. The display alternatives are
predefined items of which only one is selectively rendered at any given time.

Copyright © Oracle Corporation, 2007. All rights reserved.

Implementing a Delete
Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 11 - Page 22 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Table Content Switcher Abilities and Limits

Oracle University and Integrated Training Solutions of Egypt use only

Copyright © Oracle Corporation, 2007. All rights reserved.

Implementing a Delete
Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 11 - Page 23 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Implementing Table Content Switchers

Oracle University and Integrated Training Solutions of Egypt use only


Step 1: The Switcher attribute must return the name of the conditionally displayed item
or region to render. Remember that a Switcher region can contain two or more nested
region items as display alternatives. You can add this "Switcher" attribute to your view
object by including a DECODE statement in your SELECT statement. The DECODE
statement determines which child item name to return.
For example, the underlying query includes the following DECODE statement to
determine whether an employee can be deleted based on the employee's status:

decode(nvl(to_char(EmployeeEO.END_DATE), 'N'),
'N','DeleteDisabled', 'DeleteEnabled') AS DELETE_SWITCHER

Step 5: You only need to manually align images when you are using a classic table.
Most tables are implement using advanced tables.

Copyright © Oracle Corporation, 2007. All rights reserved.

Implementing a Delete
Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 11 - Page 24 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Query Page with Non-Deleteable Employee

Oracle University and Integrated Training Solutions of Egypt use only

Copyright © Oracle Corporation, 2007. All rights reserved.

Implementing a Delete
Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 11 - Page 25 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Query Page with Deleteable Employee

Oracle University and Integrated Training Solutions of Egypt use only

Copyright © Oracle Corporation, 2007. All rights reserved.

Implementing a Delete
Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 11 - Page 26 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Warning Dialog

Oracle University and Integrated Training Solutions of Egypt use only

Copyright © Oracle Corporation, 2007. All rights reserved.

Implementing a Delete
Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 11 - Page 27 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Confirmation Message

Oracle University and Integrated Training Solutions of Egypt use only

Copyright © Oracle Corporation, 2007. All rights reserved.

Implementing a Delete
Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 11 - Page 28 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Summary

Oracle University and Integrated Training Solutions of Egypt use only


Open the Course Labs book.
Complete the lab titled, Lab 6 – Implementing a Delete

Copyright © Oracle Corporation, 2007. All rights reserved.

Implementing a Delete
Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 11 - Page 29 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Oracle University and Integrated Training Solutions of Egypt use only

Copyright © Oracle Corporation, 2007. All rights reserved.

Implementing a Delete
Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 11 - Page 30 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Oracle University and Integrated Training Solutions of Egypt use only
Implementing an Update
Chapter 12

Copyright © Oracle Corporation, 2007. All rights reserved.

Implementing an Update
Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 12 - Page 1 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Oracle University and Integrated Training Solutions of Egypt use only

Copyright © Oracle Corporation, 2007. All rights reserved.

Implementing an Update
Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 12 - Page 2 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
R12 Building OA Framework Applications

Oracle University and Integrated Training Solutions of Egypt use only

Copyright © Oracle Corporation, 2007. All rights reserved.

Implementing an Update
Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 12 - Page 3 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Lesson Objectives

Oracle University and Integrated Training Solutions of Egypt use only

Copyright © Oracle Corporation, 2007. All rights reserved.

Implementing an Update
Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 12 - Page 4 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Locator Elements

Oracle University and Integrated Training Solutions of Egypt use only

Copyright © Oracle Corporation, 2007. All rights reserved.

Implementing an Update
Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 12 - Page 5 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Breadcrumbs

Oracle University and Integrated Training Solutions of Egypt use only


Breadcrumbs are a series of links that display the user's current location within the
application page hierarchy.

Copyright © Oracle Corporation, 2007. All rights reserved.

Implementing an Update
Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 12 - Page 6 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Page Navigators

Oracle University and Integrated Training Solutions of Egypt use only


A single navigation bar control that can be configured to allow page or record
navigation. Page navigation allows quick movement between specific pages in a
sequence.

Copyright © Oracle Corporation, 2007. All rights reserved.

Implementing an Update
Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 12 - Page 7 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Record Navigators

Oracle University and Integrated Training Solutions of Egypt use only


Record navigation allows quick navigation to sets of data in a table or advanced table.
Unlike page navigation, you don’t have to table any specific actions to implement
record navigation. It is automatically implemented for you on table and advanced table
regions.

Copyright © Oracle Corporation, 2007. All rights reserved.

Implementing an Update
Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 12 - Page 8 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Trains

Oracle University and Integrated Training Solutions of Egypt use only


A train is a graphical component used to show a user’s current location in a linear
process flow.

Copyright © Oracle Corporation, 2007. All rights reserved.

Implementing an Update
Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 12 - Page 9 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Implementing Trains

Oracle University and Integrated Training Solutions of Egypt use only

Copyright © Oracle Corporation, 2007. All rights reserved.

Implementing an Update
Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 12 - Page 10 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Single-Page Update

Oracle University and Integrated Training Solutions of Egypt use only

Copyright © Oracle Corporation, 2007. All rights reserved.

Implementing an Update
Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 12 - Page 11 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Single-Page Update

Oracle University and Integrated Training Solutions of Egypt use only

Copyright © Oracle Corporation, 2007. All rights reserved.

Implementing an Update
Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 12 - Page 12 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Update Confirmation

Oracle University and Integrated Training Solutions of Egypt use only

Copyright © Oracle Corporation, 2007. All rights reserved.

Implementing an Update
Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 12 - Page 13 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Multi-Page Update

Oracle University and Integrated Training Solutions of Egypt use only

Copyright © Oracle Corporation, 2007. All rights reserved.

Implementing an Update
Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 12 - Page 14 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Multi-Page Update

Oracle University and Integrated Training Solutions of Egypt use only

Copyright © Oracle Corporation, 2007. All rights reserved.

Implementing an Update
Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 12 - Page 15 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Multi-Page Update

Oracle University and Integrated Training Solutions of Egypt use only

Copyright © Oracle Corporation, 2007. All rights reserved.

Implementing an Update
Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 12 - Page 16 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Multi-Page Update Confirmation

Oracle University and Integrated Training Solutions of Egypt use only

Copyright © Oracle Corporation, 2007. All rights reserved.

Implementing an Update
Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 12 - Page 17 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Summary

Oracle University and Integrated Training Solutions of Egypt use only


Open the Course Labs book.
Complete the lab titled, Lab 7 – Implementing an Update

Copyright © Oracle Corporation, 2007. All rights reserved.

Implementing an Update
Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 12 - Page 18 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Oracle University and Integrated Training Solutions of Egypt use only
OA Framework Development
Concepts and Standards
Chapter 13

Copyright © Oracle Corporation, 2007. All rights reserved.

OA Framework Development Concepts and Standards


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 13 - Page 1 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Oracle University and Integrated Training Solutions of Egypt use only

Copyright © Oracle Corporation, 2007. All rights reserved.

OA Framework Development Concepts and Standards


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 13 - Page 2 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
R12 Building OA Framework Applications

Oracle University and Integrated Training Solutions of Egypt use only

Copyright © Oracle Corporation, 2007. All rights reserved.

OA Framework Development Concepts and Standards


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 13 - Page 3 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Lesson Objectives

Oracle University and Integrated Training Solutions of Egypt use only

Copyright © Oracle Corporation, 2007. All rights reserved.

OA Framework Development Concepts and Standards


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 13 - Page 4 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
General Coding Standards

Oracle University and Integrated Training Solutions of Egypt use only


Note: If you are developing OA Framework pages, JDeveloper 10g with OA Extension
is not optional. JDeveloper is only optional when you are using technologies other
than OA Framework.

Copyright © Oracle Corporation, 2007. All rights reserved.

OA Framework Development Concepts and Standards


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 13 - Page 5 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Coding Terminology

Oracle University and Integrated Training Solutions of Egypt use only


Why discuss technology originally used in Oracle Forms? Many of the E-Business
Suite products still use PL/SQL-based Handlers; instead of, the corresponding objects
from OA Framework design. By knowing that these objects can and do exist, it will
help you understand any OA Framework pages that you might have to examine.
Chapter 5: Implementing Server-Side Features of the OA Framework Developer’s
Guide covers the issues around using PL/SQL procedures and functions in your OA
Framework pages.

Copyright © Oracle Corporation, 2007. All rights reserved.

OA Framework Development Concepts and Standards


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 13 - Page 6 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
OA Framework Standard Considerations

Oracle University and Integrated Training Solutions of Egypt use only

Copyright © Oracle Corporation, 2007. All rights reserved.

OA Framework Development Concepts and Standards


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 13 - Page 7 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
E-Business Suite Standard Considerations

Oracle University and Integrated Training Solutions of Egypt use only


For more information on E-Business Suite security, refer to the System Administrator’s
Guide – Security in your R12 Documentation Library.
For general development information, there are three sources. The Oracle
Applications Developer’s Guide in the R12 Documentation Library, and the OA
Framework Developer’s Guide available with your JDeveloper 10g with OA Extension
download (for R12, this is patch#5856648, but check with MetaLink for the latest
information.) are your general programming references. The Oracle Applications
Concepts manual is a good general overview.
For more information on Flexfields, use the Oracle Applications Flexfields Guide.
For more information on Multiple Organizations, use the Oracle Applications Multiple
Organizations Implementation Guide.
For more information on Workflow, use the Oracle Workflow guides. Note: There are
several Oracle Workflow guides covering various aspects of this product.

Copyright © Oracle Corporation, 2007. All rights reserved.

OA Framework Development Concepts and Standards


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 13 - Page 8 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Finally, one of the most important resources is an evolving document called the
Oracle Application Framework Documentation Resources, Release 12 note in
MetaLink. This is MetaLink Note #391554.1. It has links to all the other important
OA Framework docs and resources, and is a critical resource for successful OA
Framework development.

Oracle University and Integrated Training Solutions of Egypt use only

Copyright © Oracle Corporation, 2007. All rights reserved.

OA Framework Development Concepts and Standards


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 13 - Page 9 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
E-Business Suite Standard Considerations

Oracle University and Integrated Training Solutions of Egypt use only


For more information on the Message Dictionary, refer to Chapter 12 of the Oracle
Applications Developer’s Guide.
For more information on Profile Options, refer to Chapter 13 of the Oracle Applications
Developer’s Guide.
For more information of setting up flexfields in your database objects, refer to Chapter
14 of the Oracle Applications Developer’s Guide.
For more information Lookups, refer to Appendix A of the Oracle Applications
Developer’s Guide.
Additionally, the E-Business Suite product follow naming standards for most of their
objects, both database and file system related. This lesson will cover the naming
standards for OA Framework related objects, but for other standards, like table
names, view names, etc., see Chapter 31 of the Oracle Applications Developer’s
Guide.

Copyright © Oracle Corporation, 2007. All rights reserved.

OA Framework Development Concepts and Standards


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 13 - Page 10 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
E-Business Suite Standard DB Objects

Oracle University and Integrated Training Solutions of Egypt use only


Row Who (WHO) columns are provided as an audit feature in an E-Business Suite
Applications. OA Framework EOs are aware of this functionality, but you need to
create tables that take advantage of this functionality. WHO needs the following
columns in the database table:
• CREATED_BY – Number(15) – Not Null
• CREATION_DATE – Date – Not Null
• LAST_UPDATED_BY – Number(15) – Not Null
• LAST_UPDATE_DATE – Date – Not Null
• LAST_UPDATE_LOGIN – Number(15)
If a table can be updated by a Concurrent Processing, it needs these additional
columns:
• REQUEST_ID – Number(15)
• PROGRAM_APPLICATION_ID – Number(15)
• PROGRAM_ID – Number(15)
• PROGRAM_UPDATE_DATE – Date

Copyright © Oracle Corporation, 2007. All rights reserved.

OA Framework Development Concepts and Standards


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 13 - Page 11 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Tables are registered using the Table Registration API, which is documented in the
Oracle Applications Developer’s Guide.

Oracle University and Integrated Training Solutions of Egypt use only

Copyright © Oracle Corporation, 2007. All rights reserved.

OA Framework Development Concepts and Standards


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 13 - Page 12 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Oracle BLAF Standards

Oracle University and Integrated Training Solutions of Egypt use only


The latest Oracle BLAF standards are available online at the Oracle website at:
http://www.oracle.com/technology/tech/blaf/specs/index.html
Why is this important to you? You’re not an E-Business Suite developer. But, you are
writing OA Framework pages and applications, either a new customized add-ons or
modifications to existing pages. Either way, for ease of maintenance, reductions in
training costs, improved usability, and a host of other considerations, your pages and
applications should look and behave like any other Oracle product.

Copyright © Oracle Corporation, 2007. All rights reserved.

OA Framework Development Concepts and Standards


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 13 - Page 13 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
E-Business Suite Java Standards

Oracle University and Integrated Training Solutions of Egypt use only

Copyright © Oracle Corporation, 2007. All rights reserved.

OA Framework Development Concepts and Standards


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 13 - Page 14 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
OA Framework File Standards

Oracle University and Integrated Training Solutions of Egypt use only

Copyright © Oracle Corporation, 2007. All rights reserved.

OA Framework Development Concepts and Standards


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 13 - Page 15 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Files in a Typical OA Framework Application

Oracle University and Integrated Training Solutions of Egypt use only


Workspaces and Projects:
*.jws Workspace XML definition
*.jpr Project XML definition
*.jpx BC4J Substitution XML definition
*.xcfg JDeveloper configuration file

Java/Class Files:
CO Controller files
AMImpl Application Module
VOImpl View Objects
VORowImpl Generated VO Accessors
EOImpl Entity Objects
EntityExpert Entity Experts for Validation

Copyright © Oracle Corporation, 2007. All rights reserved.

OA Framework Development Concepts and Standards


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 13 - Page 16 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
XML Files:
PG/RN UI Page and Regions
Attribute Sets Reusable UI definitions
AM.xml Application Module definitions
VO.xml View Object definitions
EO.xml Entity Object definitions

Oracle University and Integrated Training Solutions of Egypt use only


AO.xml Association Object definitions
VL.xml View Link definitions

Seed Data:
Menu (.ldt) Seeded menu definitions
Message (.ldt) Translatable messages for the Message Dictionary
*.ldt General seed data, like users, responsibilities, concurrent
programs, profiles options, lookups, etc.

Images:
*.gif Put into $OA_MEDIA directory on the server.

JSPs NOTE: All OA Framework pages are routed through a single,


central JSP (OA.jsp). There is no need for OA Framework
applications to create additional JSPs.

Copyright © Oracle Corporation, 2007. All rights reserved.

OA Framework Development Concepts and Standards


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 13 - Page 17 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Standard File Suffix Abbreviations

Oracle University and Integrated Training Solutions of Egypt use only

Copyright © Oracle Corporation, 2007. All rights reserved.

OA Framework Development Concepts and Standards


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 13 - Page 18 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Standard File Suffix Abbreviations

Oracle University and Integrated Training Solutions of Egypt use only

Copyright © Oracle Corporation, 2007. All rights reserved.

OA Framework Development Concepts and Standards


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 13 - Page 19 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Package Names

Oracle University and Integrated Training Solutions of Egypt use only


Package names are used to group Java classes/interfaces and individual XML UI files.
The Oracle corporate standard on package names requires that they begin with a
lower case letter and use initial capitals rather than underscores for each subsequent
word in the name (for example: oracle.apps.fnd.wf.statusMonitor).
At the highest level, all Oracle E-Business Suite code goes into the oracle.apps
package. You should NOT create your code under the following restricted packages:
• oracle.apps.fnd.framework
• oracle.jrad
• oracle.mds
• oracle.jbo
• oracle.cabo
• oracle.jdbc

Copyright © Oracle Corporation, 2007. All rights reserved.

OA Framework Development Concepts and Standards


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 13 - Page 20 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Package Names

Oracle University and Integrated Training Solutions of Egypt use only


Do you have to follow these standards? No, but you should know where E-Business
Suite developers are going to put their files, and you can reduce maintenance costs by
following the established standards.

Copyright © Oracle Corporation, 2007. All rights reserved.

OA Framework Development Concepts and Standards


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 13 - Page 21 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Package Names

Oracle University and Integrated Training Solutions of Egypt use only

Copyright © Oracle Corporation, 2007. All rights reserved.

OA Framework Development Concepts and Standards


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 13 - Page 22 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
File Names

Oracle University and Integrated Training Solutions of Egypt use only


NOTE: This is important enough to repeat. XML name must be unique within the first
30 characters. If they are not unique within the first 30 characters, you will encounter
unexpected behavior.

Copyright © Oracle Corporation, 2007. All rights reserved.

OA Framework Development Concepts and Standards


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 13 - Page 23 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Region and Item Names

Oracle University and Integrated Training Solutions of Egypt use only

Copyright © Oracle Corporation, 2007. All rights reserved.

OA Framework Development Concepts and Standards


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 13 - Page 24 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
OA Framework Model Standards

Oracle University and Integrated Training Solutions of Egypt use only


For more information, refer to Chapter 8: OA Framework Model Coding Standards in
the OA Framework Developer’s Guide.

Copyright © Oracle Corporation, 2007. All rights reserved.

OA Framework Development Concepts and Standards


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 13 - Page 25 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
OA Framework View Standards

Oracle University and Integrated Training Solutions of Egypt use only


For more information, refer to Chapter 8: OA Framework View Coding Standards in
the OA Framework Developer’s Guide.

Copyright © Oracle Corporation, 2007. All rights reserved.

OA Framework Development Concepts and Standards


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 13 - Page 26 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
OA Framework Controller Standards

Oracle University and Integrated Training Solutions of Egypt use only


For more information, refer to Chapter 8: OA Framework Controller Coding Standards
in the OA Framework Developer’s Guide.

Copyright © Oracle Corporation, 2007. All rights reserved.

OA Framework Development Concepts and Standards


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 13 - Page 27 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Summary

Oracle University and Integrated Training Solutions of Egypt use only

Copyright © Oracle Corporation, 2007. All rights reserved.

OA Framework Development Concepts and Standards


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 13 - Page 28 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Oracle University and Integrated Training Solutions of Egypt use only
OA Framework and E-
Business Suite Security
Chapter 14

Copyright © Oracle Corporation, 2007. All rights reserved.

OA Framework and E-Business Suite Security


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 14 - Page 1 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Oracle University and Integrated Training Solutions of Egypt use only

Copyright © Oracle Corporation, 2007. All rights reserved.

OA Framework and E-Business Suite Security


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 14 - Page 2 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
R12 Building OA Framework Applications

Oracle University and Integrated Training Solutions of Egypt use only

Copyright © Oracle Corporation, 2007. All rights reserved.

OA Framework and E-Business Suite Security


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 14 - Page 3 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Lesson Objectives

Oracle University and Integrated Training Solutions of Egypt use only

Copyright © Oracle Corporation, 2007. All rights reserved.

OA Framework and E-Business Suite Security


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 14 - Page 4 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Key E-Business Suite Security Terms

Oracle University and Integrated Training Solutions of Egypt use only


User
A user is an individual with access to one or more E-Business Suite applications on a
particular E-Business Suite instance. A user is a global entity that exists outside the
context of a particular E-Business Suite application.
Role
A role represents the job functions that a user can perform within an E-Business Suite
instance, and that role confers the privileges required to perform that job. Roles
determine what applications a user can access (responsibilities), and the data and
functions with those applications that the user can access.
Responsibility
A responsibility provides a context in which a user operates. Each user has at least
one or more responsibilities, and multiple users can share the
same responsibility. In the older E-Business Suite security model, users are defined
with 1 or more responsibilities. In the newer E-Business Suite security model, users
are defined with 1 or more roles. Those roles have 1 or more responsibilities attached
to them. So, in roles, the users are assigned responsibilities indirectly. In R12, and
prior, the older security model of users and responsibilities is still the primary security

Copyright © Oracle Corporation, 2007. All rights reserved.

OA Framework and E-Business Suite Security


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 14 - Page 5 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
model. But, going forward, the new security model, called Role Based Access Control
(RBAC), will be preferred.
Function Security
Function Security is the base layer of access control in E-Business Suite. It restricts
user access to individual menus and menu options within the system, but does not
restrict access to the data contained within those menus. For example, an
organization could use Function Security to provide its sales representatives with the

Oracle University and Integrated Training Solutions of Egypt use only


required menus and menu options for querying customers. It could also control access
to specific components of those pages such as a button on a sales forecasting page.
Data Security
Data Security is the next layer of access control. Building on Function Security, Data
Security provides access control within E-Business Suite on the data a user can
access, and the actions a user can perform on that data. E-Business Suite restricts
access to individual data that is displayed on the screen once the user has selected a
menu or menu option. For example, Data Security restricts the set of users that a local
administrator can access within Oracle User Management. Data Security policies can
only be defined for applications that have been written to utilize the Data Security
Framework.
Role Based Access Control (RBAC)
RBAC is the next layer and builds upon Data Security and Function Security. With
RBAC, access control is defined through roles, and user access to Applications is
determined by the roles granted to the user. A role can be configured to consolidate
the responsibilities, permissions, function security and data security polices that users
require to perform a specific function. This is accomplished with a one-time setup, in
which permissions, responsibilities, and other roles are assigned to the role. Users are
not required to be assigned the lower-level permissions directly, since permissions are
implicitly inherited on the basis of the roles assigned to the user. This simplifies mass
updates of user permissions, since an organization need only change the permissions
or role inheritance hierarchy defined for a given role, and the users assigned that role
will inherit the new set of permissions automatically.
Organizations can define roles that closely mirror their business situation. For
example, an organization can create an "Employee" role and then assign that role to
all of its employees. It can also create an "External" role and assign that role to
customers and suppliers. Further examples may include specific roles such as
"Support Agent", "Sales Rep", "Sales Managers". In these examples, each role
contains a specific level of access privileges that restricts its assignees to the scope of
their job functions. Some members of the organization will probably be assigned more
than one role. A sales representative would be assigned the Employee and Sales
Representative roles, and a Sales Manager would be assigned the Employee, Sales
Representative, and Sales Manager roles. Roles and role assignments are stored in
the workflow directory, which is interpreted by the security system at runtime.
Delegated Administration
Delegated Administration is a privilege model that builds on the RBAC system to
provide organizations with the ability to assign the required access rights for managing
roles and user accounts. With delegated administration, instead of relying on a central

Copyright © Oracle Corporation, 2007. All rights reserved.

OA Framework and E-Business Suite Security


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 14 - Page 6 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
administrator to manage all its users, an organization can create local administrators
and grant them sufficient privileges to manage a specific subset of the organization's
users and roles. This provides organizations with a tighter, more granular level of
security, and the ability to easily scale their administrative capabilities. For example,
organizations could internally designate administrators at division or even department
levels, and then delegate administration of external users to people within those
(external) organizations. Delegation policies are defined as data security policies. The
set of data policies that are defined as part of delegated administration are known as

Oracle University and Integrated Training Solutions of Egypt use only


Administration Privileges.
Provisioning Services (Registration)
Provisioning services are modeled as registration processes that enable end users to
perform some of their own registration tasks, such as requesting new accounts or
additional access to the system. They also provide administrators with a faster and
more efficient method of creating new user accounts, as well as assigning roles.
Self Service and Approvals
Once registration processes have been configured as required, individuals can
subsequently perform self-service registration tasks, such as obtaining new user
accounts or requesting additional access to the system. In addition, organizations can
use the Oracle Approvals Management engine to create customized approval routing
for these requests. For example, an organization may enable users to request a
particularly sensitive role: however, before the user is granted the role, the
organization can require that two senior members of staff, such as a manager and a
vice president, must approve the request. Oracle User Management also provides
self-service features for resetting forgotten passwords.

Copyright © Oracle Corporation, 2007. All rights reserved.

OA Framework and E-Business Suite Security


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 14 - Page 7 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Key E-Business Suite Security Terms

Oracle University and Integrated Training Solutions of Egypt use only


Oracle User / Oracle ID
The Oracle User / ID is the specific Oracle username or ID that is used to connect to
the database. This should not be confused with the E-Business Suite user.
Application
The application is the specific product, like General Ledger, iExpenses, iProcurement,
or others, that you are using as an E-Business Suite user.
Menu
A menu is a hierarchical arrangement of application functions (forms). In the definition
of a responsibility, the specified menu defines what is displayed in the navigator. The
specified menu does not necessarily define the functions that can be accessed by the
responsibility, which are granted.
Data Group
A data group defines the mapping between E-Business Suite products and ORACLE
database IDs. A data group determines which Oracle database accounts a
responsibility's forms, concurrent programs, and reports connect to. Data Group is an
older concept that is not used within OA Framework applications, but which you still
might encounter.

Copyright © Oracle Corporation, 2007. All rights reserved.

OA Framework and E-Business Suite Security


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 14 - Page 8 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Function
A function is a part of an application's functionality that is registered under a unique
name for the purpose of assigning it to, or excluding it from, a responsibility. There are
two types of functions: executable functions (formerly called form functions), and non-
executable functions (formerly called subfunctions).
Executable Function
Executable functions have the unique property that you may navigate to them using

Oracle University and Integrated Training Solutions of Egypt use only


the Navigate window.
Non-executable Function
A non-executable function) is a securable subset of a form's functionality: in other
words, a function executed from within a form. A developer can write a form to test the
availability of a particular non-executable function, and then take some action based
on whether the non-executable function is available in the current responsibility. Non-
executable functions are frequently associated with buttons or other graphical
elements on forms. For example, when a non-executable function is enabled, the
corresponding button is enabled. However, a non-executable function may be tested
and executed at any time during a form's operation, and it need not have an explicit
user interface impact. For example, if a non-executable function corresponds to a form
procedure not associated with a graphical element, its availability is not obvious to the
form's user.
Request Security Group
You use request security groups to specify the reports, request sets, and concurrent
programs that your users can run from a standard submission form, such as the
Submit Requests form.

Copyright © Oracle Corporation, 2007. All rights reserved.

OA Framework and E-Business Suite Security


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 14 - Page 9 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Successive Layers of Access Control

Oracle University and Integrated Training Solutions of Egypt use only


Layers of Access Control
Access control with User Management is implemented in successive layers and each
builds upon the one that precedes it. Organizations can optionally uptake the various
layers depending on the degree of automation and scalability they wish to build upon
the existing Function and Data Security models.
There are six layers of access control. The Core Security layers include:
• Function Security
• Data Security
The next four layers are part of Oracle User Management:
• Role Based Access Control
• Delegated Administration
• Registration Processes
• Self Service and Approvals

Copyright © Oracle Corporation, 2007. All rights reserved.

OA Framework and E-Business Suite Security


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 14 - Page 10 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Increasing Flexibility and Scalability

Oracle University and Integrated Training Solutions of Egypt use only


Increasing Flexibility and Scalability
In general, Access Control with Oracle User Management begins with basic system
administration tasks and progresses to more distributed, local modes of
administration, and ultimately enables users to perform some basic, predefined
registration tasks on their own. Details of the various levels of access control and the
increasing level of flexibility and automation are provided later in the course, however
the following general guidelines may be considered for the time being:
System Administrator
Oracle’s Function Security and Data Security mechanisms constitute the base layers,
and contain the traditional system administrative capabilities. Organizations can
optionally add more layers to the system depending on the degree of flexibility they
require.
By themselves, Function Security and Data Security limit the scope of Oracle User
Management to basic system administration by granting access to specific menus and
to the data that can be accessed from within those menus.

Copyright © Oracle Corporation, 2007. All rights reserved.

OA Framework and E-Business Suite Security


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 14 - Page 11 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Local Administrators
When Role Based Access Control and Delegated Administration are added to the
Data Security and Function Security layers system administration tasks can be
distributed to local administrators who manage a subset of the organization’s users.
End Users
Registration Processes and Self Service and Approvals further distribute system
administration by automating some registration tasks.

Oracle University and Integrated Training Solutions of Egypt use only

Copyright © Oracle Corporation, 2007. All rights reserved.

OA Framework and E-Business Suite Security


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 14 - Page 12 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Function Security

Oracle University and Integrated Training Solutions of Egypt use only


Function Security
The base layer of access control within Oracle Applications is Function Security.
Function Security restricts user access to the individual menus and menu options
within the system. It can also be used to control access to some specific widget (often,
graphical in nature) within a page. Each of these various elements is represented in
the system as a function, which is also known as a permission. Using the Order Entry
page as an example, Function Security could control whether you have the ability to
create a new order, or even access the page.

Copyright © Oracle Corporation, 2007. All rights reserved.

OA Framework and E-Business Suite Security


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 14 - Page 13 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Data Security

Oracle University and Integrated Training Solutions of Egypt use only


Data Security
The second layer represents Data Security. Working in conjunction with Function
Security, Data Security provides additional access control on the data a user can see
and what actions a user can perform on that data, within Oracle Applications. Note
that Data Security is not used in all Oracle Applications products. Products that do use
data security include Oracle Projects, Quality, and Cash Management.
Data Security Policies restrict the actions or operations that can be performed on a
specific business object (for example, inventory items). Data Security Policies can
reflect access to:
• All Instances – All instances of an object represents all rows in the database
object. For example, assume that we have an object “inventory item” in the
database. Creating a data security policy for all instances of our object would
result in providing access to every single inventory item we have catalogued in
the database.
• An Instance Set – An instance set is a related set of instances of an object. This
corresponds to a set of rows for the database object. Using our object example,

Copyright © Oracle Corporation, 2007. All rights reserved.

OA Framework and E-Business Suite Security


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 14 - Page 14 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
an instance set could be constructed to include all inventory items with a shelf life
of 7 days.
• A Specific Instance – A specific instance generally corresponds to a single row in
the database. A specific instance is generally identified by a primary key value for
the object. Using our example, we could enter a unique serial number for the
inventory item. This would return one and only one inventory item from the
database.

Oracle University and Integrated Training Solutions of Egypt use only

Copyright © Oracle Corporation, 2007. All rights reserved.

OA Framework and E-Business Suite Security


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 14 - Page 15 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Oracle User Management Layers of Access Control

Oracle University and Integrated Training Solutions of Egypt use only


Oracle User Management Layers of Access Control
The next four layers of access control are used in Oracle User Management, an
optional component in the implementation of Oracle Applications.

Copyright © Oracle Corporation, 2007. All rights reserved.

OA Framework and E-Business Suite Security


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 14 - Page 16 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Role Based Access Control (RBAC)

Oracle University and Integrated Training Solutions of Egypt use only


Role Based Access Control (RBAC)
A role can be configured to consolidate the responsibilities, permissions, function
security and data security polices users require to perform a specific function. This is
accomplished with a one-time setup, in which permissions, responsibilities, and other
roles are assigned to the role. Users are not required to be assigned the lower level
permissions directly since permissions are implicitly inherited based on the roles
assigned to the user. When making a mass update in a production system an
organization simply changes the permissions or role inheritance hierarchy defined for
a role. The users assigned that role subsequently inherit the new set of permissions.
Role Categories
Administrators can create role categories to bundle roles and responsibilities to
simplify the process of searching for roles and responsibilities. For example all sales
and marketing related roles could be included in the Sales & Marketing category.
Role Inheritance Hierarchies
Roles can be included in role inheritance hierarchies that can contain multiple sub-
roles and superior roles. With role inheritance hierarchies a superior role inherits all of
the properties of its sub-role and any of its sub-roles.

Copyright © Oracle Corporation, 2007. All rights reserved.

OA Framework and E-Business Suite Security


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 14 - Page 17 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Example
Organizations can define roles that closely mirror their business situation. For
example, an organization can create an "Employee" role and assign that role to all of
its employees. It can also create an "External" role and assign that role to customers
and suppliers. Further examples may include specific roles such as "Support Agent",
"Sales Rep", "Sales Managers". In these examples, each role contains a specific level
of access privileges that restricts its assignees to the scope of their job functions.

Oracle University and Integrated Training Solutions of Egypt use only


Some members of the organization will probably be assigned more than one role. A
sales representative would be assigned the Employee and Sales Representative roles
and a Sales Manager would be assigned the Employee, Sales Representative, and
Sales Manager roles. Roles and role assignments are stored in the workflow directory,
which is interpreted by the security system at runtime.

Copyright © Oracle Corporation, 2007. All rights reserved.

OA Framework and E-Business Suite Security


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 14 - Page 18 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Delegated Administration

Oracle University and Integrated Training Solutions of Egypt use only


Delegated Administration
With delegated administration, instead of exclusively relying on a centralized
administrator to manage all of its users, an organization can create local
administrators with sufficient privileges to manage a specific subset of the
organization's users and roles. This provides organizations with a tighter, more
granular level of security and the ability to easily scale their administrative capabilities.
Administration Privileges
Administration Privileges determine the users, roles and organization information
delegated administrators (local administrators) can manage. Each privilege is granted
separately, yet the three work in conjunction to provide the complete set of abilities for
the delegated administrator.
User Administration Privileges
A local administrator must be granted User Administration Privileges to determine the
users and people the local administrator can manage. Local administrators can be
granted different privileges for different subsets of users. For example, a local
administrator can be granted privileges only to query one set of users, and granted full

Copyright © Oracle Corporation, 2007. All rights reserved.

OA Framework and E-Business Suite Security


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 14 - Page 19 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
privileges (including update and reset password) for another set. Local administrators
cannot query users for which they do not have administration privileges.
Role Administration Privileges
Role Administration Privileges define the roles local administrators can directly assign
to and revoke from the set of users they manage.
Organization Administration Privileges
Organization Administration Privileges define the organizations a local administrator

Oracle University and Integrated Training Solutions of Egypt use only


can view in the system. This privilege enables an administrator to search for people
based on their organization, if the local administrator has additionally been granted
access to view the people in that organization (User Administration Privileges).
Depending on the user administration privileges, an administrator may have the ability
to register new people for that organization.
Example
Organizations can internally designate administrators at division or even department
levels, and then delegate administration of external users to people within those
(external) organizations. These delegation policies are defined as data security
policies. The set of data policies defined as part of delegated administration are known
as Administration Privileges.

Copyright © Oracle Corporation, 2007. All rights reserved.

OA Framework and E-Business Suite Security


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 14 - Page 20 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Registration Processes

Oracle University and Integrated Training Solutions of Egypt use only


Registration Processes
Oracle User Management contains the following registration processes.
Self-Service Account Requests
Commonly referred to as Self Service Registration, self-service account requests
provide a method for persons to request a new user account. Consider the case
where customers may need to register before they can purchase an item from an
online store. Once the customer has completed the registration process, the customer
obtains both a user account and the necessary role(s) for accessing some portion of
the website in which they registered.
Requests for Additional Access
Users can request additional access through the Oracle User Management Access
Request Tool (ART) available in the global preferences menu. Requests for Additional
Access uses the same Oracle User Management infrastructure and processing logic
as Self Service Account Requests.
Account Creation By Administrators
Administrators can benefit from existing registration processes designed to streamline
the process of creating and maintaining user access. Registration Processes of this

Copyright © Oracle Corporation, 2007. All rights reserved.

OA Framework and E-Business Suite Security


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 14 - Page 21 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
type are geared toward administrators, especially delegated administrators, to ensure
consistent application of the client's user security policies. Each account creation
registration process can be made available to select local administrators. Local
administrators can perform these tasks for users within their own organizations.

Oracle University and Integrated Training Solutions of Egypt use only

Copyright © Oracle Corporation, 2007. All rights reserved.

OA Framework and E-Business Suite Security


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 14 - Page 22 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Self Service and Approvals

Oracle University and Integrated Training Solutions of Egypt use only


Self Service and Approvals
Once registration processes have been configured as required, individuals can
subsequently perform self-service registration tasks such as obtaining new user
accounts or requesting additional access to the system. In addition, organizations can
use the Oracle Approvals Management engine, to create customized approval routing
for these requests.
Example
An organization may enable users to request a particularly sensitive role, however
before the user is granted the role, the organization can specify that two approvers, a
manager and a vice president, must first provide their approval.

Copyright © Oracle Corporation, 2007. All rights reserved.

OA Framework and E-Business Suite Security


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 14 - Page 23 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Introduction to Function Security

Oracle University and Integrated Training Solutions of Egypt use only


Overview of Function Security
In Oracle Applications, the system administrator manages security on a number of
levels.
Note: User, Responsibility, Function, and Application have been previously defined.
Reports
Reports can be grouped together into request groups, which are in turn assigned to
responsibilities.
Note
Note that Oracle User Management introduces the concept of roles, in which a role is
defined as as "a job function within the context of an organization with some
associated semantics regarding the authority and responsibility conferred on the user
assigned to the role." Roles control the level of access to the various data and
functions within an application, instead of the traditional responsibility.
Responsibilities then only represent the set of navigation menus contained within an
application. Therefore, responsibilities loosely represent an application itself, or a
subset of the functions in an application. Each responsibility defined must be linked to
a menu.

Copyright © Oracle Corporation, 2007. All rights reserved.

OA Framework and E-Business Suite Security


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 14 - Page 24 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Securing Functions

Oracle University and Integrated Training Solutions of Egypt use only


Securing Functions
You can manage security by controlling access to individual functions through menu
definitions.
About Functions
• A function is a set of code in Oracle Applications that is executed only if the
name of the function is present in a list maintained within a responsibility.
• There are two types of functions: a form function and a non-form function or
subfunction. A subfunction represents a securable subset of a form’s
functionality.
Adding Functions to or Removing Functions from a Responsibility
• Maintain menu structures while eliminating specific functionality.
• Exclude individual functions from a responsibility.
Adding or Removing Menus of Functions
• Use menus to group functions together.
• Exclude groups of functions by excluding a menu from a responsibility.

Copyright © Oracle Corporation, 2007. All rights reserved.

OA Framework and E-Business Suite Security


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 14 - Page 25 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Defining a Menu

Oracle University and Integrated Training Solutions of Egypt use only


Menus Link Functions to Responsibilities
Use the Menus form to define menus pointing to functions that you want to make
available to a new responsibility.
Make New Responsibilities, Not New Menus
If possible, apply exclusion rules to existing menus to customize a responsibility rather
than constructing an entirely new menu structure.
Determine the Application Functionality Required
• Different jobs require access to different functions.
• Identify predefined menus, forms, and form subfunctions to use as entries when
defining a new menu.
Plan Your Menu Structure
• Start with a blank Menus form (blank screen). Menus cannot be copied. A menu
saved under a different name overwrites the original menu (there is no Save As
feature).
• Start with the lowest-level menus. A menu must be defined before it can be
selected as an entry on another menu.

Copyright © Oracle Corporation, 2007. All rights reserved.

OA Framework and E-Business Suite Security


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 14 - Page 26 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
• Assign menus and functions to higher-level menus.
• Assign the menu structure to the new responsibility by using the responsibilities
form.
• Document your menu structure by printing the Function Security Menu Report.

Oracle University and Integrated Training Solutions of Egypt use only

Copyright © Oracle Corporation, 2007. All rights reserved.

OA Framework and E-Business Suite Security


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 14 - Page 27 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Menu Guidelines

Oracle University and Integrated Training Solutions of Egypt use only

Copyright © Oracle Corporation, 2007. All rights reserved.

OA Framework and E-Business Suite Security


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 14 - Page 28 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Creating a Menu

Oracle University and Integrated Training Solutions of Egypt use only


Creating a Menu
Use the Menus window to create a menu. The preferred Menus window is from the
Functional Administrator responsibility.
(N) Home > Core Services > Menus
After you save your changes in this form, the Compile Security concurrent program is
automatically submitted to compile the menu data. Compiling your menu data allows
for the system to determine more quickly, during a user’s session, whether a function
is available to a particular responsibility or menu.

Copyright © Oracle Corporation, 2007. All rights reserved.

OA Framework and E-Business Suite Security


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 14 - Page 29 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Modifying an Existing Menu Definition

Oracle University and Integrated Training Solutions of Egypt use only


Modifying a Menu
You can modify existing custom menus to suit specific job functions.
Overwrite a User Menu Name
When you change a menu’s user menu name, the menu entries are not affected. The
menu’s definition still exists, but under a new name. Other menus that call the menu
by its old user menu name now call the same menu by its new (revised) user menu
name.
The old user menu name is no longer valid. When you are defining menus, or if you
are selecting main menus when defining a responsibility, the previously named menu
is no longer displayed in any list of values.
Modify a Menu Entry
When you are modifying a previously defined menu, all other menus that call that
menu display the menu’s modifications. For example, if you modify XXX_GL_USER
by adding another prompt that calls a form, all menus that call GL_SUPERUSER4.0
display the additional prompt when XXX_GL_USER is displayed.
Note: Modifying shipped menu definitions is not supported. The customized definitions
may be overwritten during an upgrade process.

Copyright © Oracle Corporation, 2007. All rights reserved.

OA Framework and E-Business Suite Security


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 14 - Page 30 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Using Responsibilities

Oracle University and Integrated Training Solutions of Egypt use only


Creating a New Responsibility
Generally you relate new application users to existing predefined responsibilities.
However, you can customize an existing responsibility or create new responsibilities to
accommodate the needs of different users or different categories of users. When
creating a new responsibility, it is generally easier to modify an existing responsibility
in one of two ways:
• Extend Privileges a Responsibility Owns
When users require additional reporting and summary information, you can:
• Use request groups to add additional program or report privileges to a
responsibility
• Use menus to add windows and tasks to a responsibility
• Restrict Privileges a Responsibility Owns
Sometimes it is easier to remove authorizations from an existing responsibility.
To do this you can:
• Use exclusions against a responsibility to limit menu and function access
privileges to those required for job duties

Copyright © Oracle Corporation, 2007. All rights reserved.

OA Framework and E-Business Suite Security


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 14 - Page 31 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
• Use request groups to limit program or report privileges for a responsibility
that requires only data entry privileges
After you have defined a new responsibility, you can associate it with an application
user.

Oracle University and Integrated Training Solutions of Egypt use only

Copyright © Oracle Corporation, 2007. All rights reserved.

OA Framework and E-Business Suite Security


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 14 - Page 32 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Responsibility Components

Oracle University and Integrated Training Solutions of Egypt use only


Components of a Responsibility
A responsibility has two required components and two optional components.
Required Components
• Data group: specifies the Oracle Application database accounts to which a
responsibility’s forms and concurrent programs connect.
• Menu: specifies the forms that a responsibility can display and the functions it
can access.
Optional Components
• Request security group: lists the concurrent programs that a responsibility can
run. When a request group is assigned to a responsibility, it is referred to as a
request security group.
• Exclusions: modify a responsibility’s access to the forms and functions specified
by a menu.

Copyright © Oracle Corporation, 2007. All rights reserved.

OA Framework and E-Business Suite Security


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 14 - Page 33 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Defining a New Responsibility

Oracle University and Integrated Training Solutions of Egypt use only


Defining a Responsibility
(N) Security > Responsibility > Define
A responsibility determines the type of applications a user accesses, which application
functions a user can use, which reports and concurrent programs the user can run,
and which data those reports and concurrent programs can access. Most
responsibilities are available from Oracle Applications (the Forms navigator or the
HTML-based E-Business Suite Home page), others may be accessible from Oracle
Self-Service Web Applications or Oracle Mobile Applications.

Copyright © Oracle Corporation, 2007. All rights reserved.

OA Framework and E-Business Suite Security


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 14 - Page 34 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Sample Menu

Oracle University and Integrated Training Solutions of Egypt use only


Basics
Within any given E-Business Suite product, you will likely encounter pages that look
similar to the above. This particular example is the primary page for the Functional
Administrator responsibility. The E-Business Suite security model not the individual
OA Framework page drives the UI that you see at the top of the page. In fact, there
are even icons and buttons on the page that are driven by E-Business Suite security.
We will discuss each of those throughout this lesson.

Copyright © Oracle Corporation, 2007. All rights reserved.

OA Framework and E-Business Suite Security


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 14 - Page 35 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Dissecting Security – Users

Oracle University and Integrated Training Solutions of Egypt use only


User
First, login to the E-Business Suite instance as a user with the System Administrator
responsibility. Then navigate to Security > User > Define. This will launch the Forms-
based responsibility, and load the Users form. On the Users form, query your user
(XXX_USER), and look at the responsibilities listed to that user.
The responsibility of interest for this example is the Functional Administrator
responsibility.
Note: Functional Administrator is assigned as a Direct Responsibility, which means it
was assigned via the older E-Business Suite security model. If you select the Indirect
Responsibility tab on the form, it will show responsibilities assigned via Roles and
RBAC (i.e., the new security model).

Copyright © Oracle Corporation, 2007. All rights reserved.

OA Framework and E-Business Suite Security


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 14 - Page 36 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Dissecting Security – Responsibilities

Oracle University and Integrated Training Solutions of Egypt use only


Responsibility
As System Administrator responsibility, navigate to Security > Responsibility > Define.
This will launch the Forms-based responsibility, and load the Responsibilities form. On
the Responsibilities form, query your responsibility (Functional Administrator). There
are two key items to consider with the Responsibility, the Responsibility Key and the
Menu.
The Responsibility Key is the unique identifier for any given responsibility. For OA
Framework development, this key is important for us in setting up the Project Settings
within JDeveloper.
Menu items point to the top-level menu for any given responsibility. Since a menu is a
hierarchical arrangement of functions and menus, the tree that composes the menu
assigned to any given responsibility can be quite complex.
Note: The Menu assigned to the Functional Administrator responsibility is Fnd
Functional Administrator Root.

Copyright © Oracle Corporation, 2007. All rights reserved.

OA Framework and E-Business Suite Security


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 14 - Page 37 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Dissecting Security – Project Settings

Oracle University and Integrated Training Solutions of Egypt use only


Project Settings
Project Settings are not set within the E-Business Suite instance. They are only used
for testing pages from JDeveloper 10g with OA Extension. In this case, the project is
using the FWK_TBX_TUTORIAL key. If you needed to find the associated
responsibility, go the the Responsibility form in the System Administrator
responsibility, and query by the FWK_TBX_TUTORIAL Responsibility Key.

Copyright © Oracle Corporation, 2007. All rights reserved.

OA Framework and E-Business Suite Security


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 14 - Page 38 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Dissecting Security – Menus

Oracle University and Integrated Training Solutions of Egypt use only


Menu
You can now use the OA Framework-based, Functional Administrator responsibility,
and navigate to Core Services (tab) > Menus (subtab), and query your menu (Fnd
Functional Administrator Root). Click the link in the Name column to drill-down to the
menu details.
One of the major advantages of using the Functional Administrator responsibility (OA
Framework-based) vs. the System Administrator responsibility (Oracle Forms-based)
is the ability to duplicate menus. Note the Duplicate column and associated icon in the
menu table.

Copyright © Oracle Corporation, 2007. All rights reserved.

OA Framework and E-Business Suite Security


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 14 - Page 39 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Dissecting Security – Menus

Oracle University and Integrated Training Solutions of Egypt use only


Menu Details
Looking at the menu details, there are two entries. The first entry is shown as having
the following:
• Prompt = Home
• Function = Functional Administrator Home
• Function Type = JSP
The second entry has the following:
• Prompt = none
• Sub Menu = Fnd Functional Administrator Menu
• Sub Menu Type = HOMEPAGE
In terms of visible appearance, the second entry is by far the primary entry. It controls
the very tabs and subtabs you are seeing on the menu even as you are looking at the
page. Also, every OA Framework page has to have as part of its top-level menu
hierarchy an item that is a HOMEPAGE.

Copyright © Oracle Corporation, 2007. All rights reserved.

OA Framework and E-Business Suite Security


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 14 - Page 40 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
While this information is useful, there is another tab that can more quickly give us a
high-level overview of the entire menu structure. Click the Hierarchy of Children
subtab that is next to the Menu Manager subtab.

Oracle University and Integrated Training Solutions of Egypt use only

Copyright © Oracle Corporation, 2007. All rights reserved.

OA Framework and E-Business Suite Security


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 14 - Page 41 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Dissecting Security – Menus

Oracle University and Integrated Training Solutions of Egypt use only


Hierarchy of Children
Click the Expand All link.

Copyright © Oracle Corporation, 2007. All rights reserved.

OA Framework and E-Business Suite Security


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 14 - Page 42 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Dissecting Security – Menus

Oracle University and Integrated Training Solutions of Egypt use only


Hierarchy of Children
With the menu expanded, you can see, at a glance, all of the menus, submenus,
functions and other objects that make up an OA Framework page’s navigation
structure. You can also drill-down to the details of any of the objects that make up that
navigational structure.

Copyright © Oracle Corporation, 2007. All rights reserved.

OA Framework and E-Business Suite Security


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 14 - Page 43 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Key E-Business Suite Menu Terms

Oracle University and Integrated Training Solutions of Egypt use only


Standard
This is the menu type used for menus that are displayed on the Navigator page.
Home Page
A menu defined as the Home Page is the top-level component of an OA Framework-
based navigational structure. Home Pages are not reserved strictly to OA Framework-
based pages. They are used for any non-Oracle Forms pages. But, only the
applications to OA Framework will be described in this course. A properly formatted
Home Page is composed of the following:
• A Corporate Brand set by a profile option.
• A Product Brand set with a WEBPORTLET, or set within the OA Framework
page.
• A Global Menu for common header and footer items.
• The menu set with the components comprises the menu (tabs, subtabs,
sidebars, and the pages themselves).
• Other items set via profile options.

Copyright © Oracle Corporation, 2007. All rights reserved.

OA Framework and E-Business Suite Security


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 14 - Page 44 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
• Copyright and Privacy statements set by default, through personalizations, or
through a custom look and feel.
Corporate Brand
A Profile Option named, Corporate Branding Image for E-Business Suite
(FND_CORPORATE_BRANDING_IMAGE), controls the Corporate Brand (which by
default is the Oracle logo). This profile option should be set at the site level. It points to
a valid GIF file in the $OA_MEDIA directory on your E-Business Suite instance.

Oracle University and Integrated Training Solutions of Egypt use only


Product Brand
The Product Brand can be set within a given page, and you have seen how that is
accomplished throughout the pages you have created for this course. You can also
create a menu entry for a WEBPORTLET item, and use that menu entry to point to the
proper Product Branding image. For an example, look at the Function,
FND_FUNC_ADMIN_BRAND.
Global Menu
The Global Menu is the items that appear on the header of the page, and are
included, along with the menu items, in the footer of the page.
Tabs, Subtabs, and Sidebars
These are the prime navigation widgets on an OA Framework-based page.
JSPs and WWWs
Eventually, you must get to an OA Framework-based page. The details of calling a
page are defined later, but a given page can either be called directly as a JSP, or
through a call to a PL/SQL function that defines the page. Calling the JSP is the
preferred, and newer method of accessing the pages.
Other Items
There are a few other types of items that can impact the navigation structure, but
aren’t as commonly used. There are profile options that can be set that will control
whether or not a specific UI item will appear or whether or not certain UI behavior will
be observed. Through functions, you can also control whether or not certain UI
objects, like buttons, fields, regions, etc., appear on a given page. Finally, there are a
couple of other navigation widgets, like Sidebar Lists, that can be defined. For more
information on these, look at the manual titled, Oracle Applications System
Administrator’s Guide – Security Release 12.

Copyright © Oracle Corporation, 2007. All rights reserved.

OA Framework and E-Business Suite Security


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 14 - Page 45 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Dissecting Security – Standard Menus

Oracle University and Integrated Training Solutions of Egypt use only


Standard Menu
Per our definition of the menu (Fnd Functional Administrator Root), our Standard
menu only had one item on it with a prompt, and that item had its Prompt property set
to “Home”. You can see the results in the slide above.

Copyright © Oracle Corporation, 2007. All rights reserved.

OA Framework and E-Business Suite Security


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 14 - Page 46 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Menu: Global Menu

Oracle University and Integrated Training Solutions of Egypt use only


The items on the Global Menu can change based on profile option settings. For
example, the Personalize link is not shown in the base global menu. But, if the
Personalization profile option (Personalize Self-Service Defn) is set, then that item will
appear on the global menu as well.
The default global menu is ICX_STANDARD_GLOBAL_MENU.

Copyright © Oracle Corporation, 2007. All rights reserved.

OA Framework and E-Business Suite Security


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 14 - Page 47 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Menu: Tabs

Oracle University and Integrated Training Solutions of Egypt use only


Tabs will vary depending upon the responsibility selected.

Copyright © Oracle Corporation, 2007. All rights reserved.

OA Framework and E-Business Suite Security


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 14 - Page 48 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Menu: Subtabs

Oracle University and Integrated Training Solutions of Egypt use only


Subtabs will vary based on the responsibility selected.

Copyright © Oracle Corporation, 2007. All rights reserved.

OA Framework and E-Business Suite Security


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 14 - Page 49 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Menu: Side Navigation

Oracle University and Integrated Training Solutions of Egypt use only

Copyright © Oracle Corporation, 2007. All rights reserved.

OA Framework and E-Business Suite Security


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 14 - Page 50 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Menu: Task/Property Menu

Oracle University and Integrated Training Solutions of Egypt use only

Copyright © Oracle Corporation, 2007. All rights reserved.

OA Framework and E-Business Suite Security


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 14 - Page 51 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Menu Structures

Oracle University and Integrated Training Solutions of Egypt use only

Copyright © Oracle Corporation, 2007. All rights reserved.

OA Framework and E-Business Suite Security


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 14 - Page 52 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Creating Menus

Oracle University and Integrated Training Solutions of Egypt use only

Copyright © Oracle Corporation, 2007. All rights reserved.

OA Framework and E-Business Suite Security


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 14 - Page 53 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Navigation and Security Separate

Oracle University and Integrated Training Solutions of Egypt use only

Copyright © Oracle Corporation, 2007. All rights reserved.

OA Framework and E-Business Suite Security


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 14 - Page 54 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Introduction to Data Security

Oracle University and Integrated Training Solutions of Egypt use only


Introduction
Working in conjunction with Function Security, Data Security provides additional
access control on the data a user can see and what actions a user can perform on
that data. Using Data Security, for example, you could control access to the set of
orders that an order administrator can update within the Order Management
application.
Data Security Policies restrict the actions or operations that can be performed on a
specific business object (for example, inventory items). Data Security Policies can
reflect access to:
• All Instances – All instances of an object represents all rows in the database
table or view. For example, assume that we have an object “inventory item” in the
database. Creating a data security policy for all instances of our object would
result in providing access to every single inventory item we have catalogued in
the database.
• An Instance Set – An instance set is a related set of instances of an object. This
corresponds to a set of rows in the database. Using our object example, an

Copyright © Oracle Corporation, 2007. All rights reserved.

OA Framework and E-Business Suite Security


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 14 - Page 55 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
instance set could be constructed to include all inventory items with a shelf life of
7 days.
• A Specific Instance – A specific instance generally corresponds to a single row in
the database. A specific instance is generally identified by a primary key value for
the object. Using our example, we could enter a unique serial number for the
inventory item. This would return one and only one inventory item from the
database.

Oracle University and Integrated Training Solutions of Egypt use only

Copyright © Oracle Corporation, 2007. All rights reserved.

OA Framework and E-Business Suite Security


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 14 - Page 56 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Data Security Components - Objects

Oracle University and Integrated Training Solutions of Egypt use only


Objects
(N) Functional Developer responsibility > Objects
An object is a system entity on which an operation can be performed. In Oracle
Applications, an object typically maps to records in relational tables/views,
Forms/HTML pages, and UI widgets. Examples in Oracle Applications include: a
person, an machine, and a file.
Examples of operations include: Create, Update, Escalate, Approve, and Reject. In
Oracle Applications, operations are implied by a permission definition. Permission has
been defined as an operation on a object; for example, Invoke Service Request Form,
Update Order, Approve Expense Report, and Query Customers.
An object instance is a specific example of an object, such as Project Number 123 or
User JDOE. An object instance generally corresponds to a row in the database, and
is identified by a set of one or more primary key values as defined by the object.
Related object instances can be grouped together into an object instance set.

Copyright © Oracle Corporation, 2007. All rights reserved.

OA Framework and E-Business Suite Security


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 14 - Page 57 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Grants

Oracle University and Integrated Training Solutions of Egypt use only


Grants
(N) Functional Administrator Responsibility > Grants
Grants are used to provide specified users access to specific objects or functions.
Grants that deal with business objects are called Data Security Policies.
Grants can also be used to control access to an application's functionality. For
example, you could use a grant to secure an aspect of a menu, page, or other widget
within the application. For example, you want to provide access to a set of
administrative menus to a select group of users.
The grantee defines who is being granted access. The grantee can be one of three
types:
• A group of users
• A specific user – for example, Joe Smith
• All users (global) – all users of the system, except the Guest account

Copyright © Oracle Corporation, 2007. All rights reserved.

OA Framework and E-Business Suite Security


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 14 - Page 58 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Permissions and Permission Sets

Oracle University and Integrated Training Solutions of Egypt use only


Permissions
The Role Based Access Control (RBAC) Model defines permission as "an approval to
perform an operation on one or more RBAC-protected objects." This definition maps
to what has been referred to as functions earlier. Permissions can be grouped into
permission sets.
Permission sets can be granted to users or roles independently of menus or
responsibilities. Permission assignments, or Grants, reflect the access granted to
users through roles.
Permissions are discussed more in the User Management lessons.

Copyright © Oracle Corporation, 2007. All rights reserved.

OA Framework and E-Business Suite Security


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 14 - Page 59 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Data Security Policies

Oracle University and Integrated Training Solutions of Egypt use only


Data Security Policies
Using Data Security, access to a specific object can be specified using a data
security policy. A data security policy restricts operations so that these operations
can only be performed on a subset of instances of the corresponding database object
(an object instance set). Data security policies can reflect access to:
• All Instances (rows) of an object
• An Instance Set, which is defined as a SQL predicate (WHERE clause), and can
optionally be implemented as a VPD (Virtual Private Database) policy
• A Specific Instance, identified by a primary key value

Copyright © Oracle Corporation, 2007. All rights reserved.

OA Framework and E-Business Suite Security


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 14 - Page 60 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Summary

Oracle University and Integrated Training Solutions of Egypt use only


Want more? Fully understanding and using E-Business Suite Security is beyond the
scope of this course. For a full explanation of and practices with E-Business Suite
security, enroll in the Oracle University course, R12 Oracle Applications System
Administrator Fundamentals (E-Business Suite).

Copyright © Oracle Corporation, 2007. All rights reserved.

OA Framework and E-Business Suite Security


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 14 - Page 61 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Oracle University and Integrated Training Solutions of Egypt use only

Copyright © Oracle Corporation, 2007. All rights reserved.

OA Framework and E-Business Suite Security


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 14 - Page 62 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Oracle University and Integrated Training Solutions of Egypt use only
Deploying OA Framework
Applications
Chapter 15

Copyright © Oracle Corporation, 2007. All rights reserved.

Deploying OA Framework Applications


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 15 - Page 1 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Oracle University and Integrated Training Solutions of Egypt use only

Copyright © Oracle Corporation, 2007. All rights reserved.

Deploying OA Framework Applications


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 15 - Page 2 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
R12 Building OA Framework Applications

Oracle University and Integrated Training Solutions of Egypt use only

Copyright © Oracle Corporation, 2007. All rights reserved.

Deploying OA Framework Applications


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 15 - Page 3 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Objectives

Oracle University and Integrated Training Solutions of Egypt use only

Copyright © Oracle Corporation, 2007. All rights reserved.

Deploying OA Framework Applications


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 15 - Page 4 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Storing Personalizations

Oracle University and Integrated Training Solutions of Egypt use only


MDS Repository Documents
The MDS Repository is the database that stores the metadata of your OA Framework-
based pages and regions, as well as information on any personalizations that have
been created in your system. Each metadata definition of a region, page or
personalization is called a document.
This document is stored in JDR_PATHS, JDR_COMPONENTS and
JDR_ATTRIBUTES tables.
JDR_PATHS – has columns that store document path.
JDR_COMPONENTS – has columns that store component information.
JDR_ATTRIBUTES – has columns that store attribute information.

Copyright © Oracle Corporation, 2007. All rights reserved.

Deploying OA Framework Applications


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 15 - Page 5 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Directory Structure

Oracle University and Integrated Training Solutions of Egypt use only

Copyright © Oracle Corporation, 2007. All rights reserved.

Deploying OA Framework Applications


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 15 - Page 6 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Directory Structure - Layer Values

Oracle University and Integrated Training Solutions of Egypt use only


Note: One quirk of interest. Please notice that the Location, Organization,
Responsibility and User all use the ID. There may be cases where IDs exist on your
Development system and not in Production, and vice-versa. You must test this
carefully when deploying.

Copyright © Oracle Corporation, 2007. All rights reserved.

Deploying OA Framework Applications


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 15 - Page 7 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Toolset

Oracle University and Integrated Training Solutions of Egypt use only


XMLExporter – exports personalization from MDS repository to .xml file.
XMLImporter – imports personalizations into MDS repository.
JPXImporter – imports substitutions specified in the .jpx file to the MDS repository.
The export/import batch files are shipped along with OA Extension to Jdeveloper.
These batch files have the script to run the XMLExporter and XMLImporter java files.

Copyright © Oracle Corporation, 2007. All rights reserved.

Deploying OA Framework Applications


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 15 - Page 8 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Functional Administrator Personalization UI

Oracle University and Integrated Training Solutions of Egypt use only


You can only work with Personalizations from this UI. It does not allow the
import/export of OA Framework pages or BC4J substitutions.

Copyright © Oracle Corporation, 2007. All rights reserved.

Deploying OA Framework Applications


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 15 - Page 9 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
export.bat / import.bat- Syntax

Oracle University and Integrated Training Solutions of Egypt use only


-rootdir = directory where the exported xml file needs to be stored
-username = username for the database to export from
-password = password for the database to export from
-dbconnection = connection for the MDS

Copyright © Oracle Corporation, 2007. All rights reserved.

Deploying OA Framework Applications


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 15 - Page 10 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
export.bat/import.bat - Example

Oracle University and Integrated Training Solutions of Egypt use only


The –dbconnection information can actually be in one of two formats:
Format 1: The long format
You can put the entire TNS Names entry. For example, your entry might read as
follows:
-dbconnection "(description = (address_list = (address =
(community = tcp.world)(protocol = tcp) (host
=es0006.oracle.com)(port = 1521))) (connect_data = (sid =
es0006)))“
Format 2: The short format (preferred)
You can put an entry similar to the following:
-dbconnection es0006.oracle.com:1521:es0006

Copyright © Oracle Corporation, 2007. All rights reserved.

Deploying OA Framework Applications


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 15 - Page 11 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Command Line – XMLExporter/XMLImporter

Oracle University and Integrated Training Solutions of Egypt use only


This tool can be run from either the JDeveloper with OA Extension install, or it can be
run on the Admin Server where the files will be stored.

Copyright © Oracle Corporation, 2007. All rights reserved.

Deploying OA Framework Applications


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 15 - Page 12 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
export.bat vs. XMLExporter

Oracle University and Integrated Training Solutions of Egypt use only

Copyright © Oracle Corporation, 2007. All rights reserved.

Deploying OA Framework Applications


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 15 - Page 13 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Import Substitutions – JPXImport.bat

Oracle University and Integrated Training Solutions of Egypt use only

Copyright © Oracle Corporation, 2007. All rights reserved.

Deploying OA Framework Applications


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 15 - Page 14 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
JPXImport.bat - Syntax

Oracle University and Integrated Training Solutions of Egypt use only


-username = username for the database to import to
-password = password for the database to import to
-dbconnection = connection for the database to import to, in tnsnames format

Copyright © Oracle Corporation, 2007. All rights reserved.

Deploying OA Framework Applications


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 15 - Page 15 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Import Substitutions – JPXImporter

Oracle University and Integrated Training Solutions of Egypt use only

Copyright © Oracle Corporation, 2007. All rights reserved.

Deploying OA Framework Applications


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 15 - Page 16 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Inspecting the MDS Repository

Oracle University and Integrated Training Solutions of Egypt use only


Using JDR_UTILS in SQL*Plus
You can use SQL*Plus to review all the personalizations for a given base document.
JDR_UTILS is a PL/SQL package that allows you to evaluate the list of
personalization documents that are in your MDS repository. Included in this package
is a procedure called JDR_UTILS.listcustomizations( ); which allows you to see the
personalization document path names that are currently defined in the MDS
repository.
See "Inspecting the MDS Repository Content" in the OA Framework Developer's
Guide for more information on the JDR_UTILS package.
This package should never be called from any program code.

Copyright © Oracle Corporation, 2007. All rights reserved.

Deploying OA Framework Applications


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 15 - Page 17 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
JDR_UTILS PL/SQL package APIs

Oracle University and Integrated Training Solutions of Egypt use only


PROCEDURE deleteDocument(p_document VARCHAR2);
-- Deletes all empty customization documents from the repository. An empty
-- customization document is a customization document that does not specify
-- any modifications to the base metadata.
--
-- Example 1: /oracle/apps/hr/customizations/localization/US/page1
-- <customization customizes="/oracle/apps/hr/page1"
-- xmlns="http://xmlns.oracle.com/jrad"
-- xmlns:ui="http://xmlns.oracle.com/uix/ui"
-- xmlns:oa="http://xmlns.oracle.com/oa"
-- xmlns:user="http://xmlns.oracle.com/jrad/user"
-- file-version="$Header: JDRUTEXS.pls 120.3 2005/10/26 06:16:00
akbansal noship $" version="9.0.3.6.6_557"
-- xml:lang="en-US">
-- <modifications/>

Copyright © Oracle Corporation, 2007. All rights reserved.

Deploying OA Framework Applications


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 15 - Page 18 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
-- </customization>
--
-- Example 2: /oracle/apps/hr/customizations/user/100/page1
-- <customization customizes="/oracle/apps/hr/page1"
-- xmlns="http://xmlns.oracle.com/jrad"
-- xmlns:ui="http://xmlns.oracle.com/uix/ui"

Oracle University and Integrated Training Solutions of Egypt use only


-- xmlns:oa="http://xmlns.oracle.com/oa"
-- xmlns:user="http://xmlns.oracle.com/jrad/user"
-- file-version="$Header: JDRUTEXS.pls 120.3 2005/10/26 06:16:00
akbansal noship $" version="9.0.3.6.6_557"
-- xml:lang="en-US">
-- <views>
-- <view name="MyTest10" description="my view"
-- id="view1" element="Region1">
-- <modifications/>
-- </view>
-- <views/>
-- <customization/>

PROCEDURE deleteEmptyCustomizations;
-- Deletes the package from the repository if the package is empty. If the
-- package is not empty (i.e. it contains either documents or packages), then
-- an error will be issued indicated that non-empty packages can not be
-- deleted.
--
-- Parameters:
-- p_package - the fully qualified package name
-- (i.e. '/oracle/apps')

PROCEDURE deletePackage(p_package VARCHAR2);


-- Export the XML for a document and pass it back in 32k chunks. This
-- function will return XML chunks, with a maximum size of 32k.
--
-- Specifying a document name will initiate the export. Thereafter, a NULL
-- document name should be passed in until the export is complete.
-- That is, to export an entire document, you should do:
--
-- firstChunk := jdr_utils.exportDocument('/oracle/apps/fnd/mydoc', isDone);
-- WHILE (NOT isDone) LOOP

Copyright © Oracle Corporation, 2007. All rights reserved.

Deploying OA Framework Applications


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 15 - Page 19 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
-- nextChunk := jdr_utils.exportDocument(NULL, isDone);
-- END LOOP;
--
-- Parameters:
-- p_document - the fully qualified name of the document. However,
-- after the first chunk of text is exported, a NULL

Oracle University and Integrated Training Solutions of Egypt use only


-- value must be passed in to retrieve the next
-- chunks.
--
-- p_exportFinished - OUT parameter which indicates whether or not the export
-- is complete. TRUE indicates the entire document is
-- exported, FALSE indicates that there are more chunks
-- remaining.
--
-- p_formatted - TRUE indicates that the XML is formatted nicely
-- (i.e. whether or not the elements are indented).
-- This is defaulted to TRUE.
--
--
-- Returns:
-- The exported XML, in 32k chunks.
--
-- Notes:
-- As this function relies on package state, it is not possible to export
-- multiple documents at the same time. A document must be finished
-- exporting before a new document can be exported.

FUNCTION exportDocument(
p_document VARCHAR2,
p_exportFinished OUT NOCOPY /* file.sql.39 change */ BOOLEAN,
p_formatted BOOLEAN DEFAULT TRUE) RETURN VARCHAR2;
-- Gets the fully qualified name of the component.
--
-- Parameters:
-- p_docid - the ID of the document which contains the component
--
-- p_compid - the ID of the component (from comp_id in the
-- jdr_components table

Copyright © Oracle Corporation, 2007. All rights reserved.

Deploying OA Framework Applications


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 15 - Page 20 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
FUNCTION getComponentName(
p_docid jdr_paths.path_docid%TYPE,
p_compid jdr_components.comp_id%TYPE) RETURN VARCHAR2;
-- Gets the fully qualified name of the document.
--
-- Parameters:

Oracle University and Integrated Training Solutions of Egypt use only


-- p_docid - the ID of the document

FUNCTION getDocumentName(
p_docid jdr_paths.path_docid%TYPE) RETURN VARCHAR2;
-- Gets all of the translations of the specified document.
--
-- Parameters:
-- p_document - the fully qualified document name
--
-- Raises NO_SUCH_DOCUMENT exception if the document does not exist.

FUNCTION getTranslations(
p_document VARCHAR2) RETURN translationList;
-- Prints the contents of a package.
--
-- For the non-recursive case, this will list the documents,
-- package files and package directories.
--
-- For the recursive case, this will list the document, package files
-- and empty package directories (i.e. packages which contain no documents
-- or child packages).
--
-- In order to diferentiate documents from package directories, package
-- directories will end with a '/'.
--
-- Parameters:
-- p_path - The path in which to list the documents. To specify
-- the root directory, use '/'.
--
-- p_recursive - If TRUE, recursively lists the contents of
-- sub-directories. Defaults to FALSE.
--
-- To use this from SQL*Plus, do:

Copyright © Oracle Corporation, 2007. All rights reserved.

Deploying OA Framework Applications


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 15 - Page 21 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
--
-- (1) set serveroutput on
-- execute jdr_utils.listContents('/oracle/apps/ak');
-- This will list the contents of the ak directory, without showing
-- the contents of the sub-directories.
--

Oracle University and Integrated Training Solutions of Egypt use only


-- (2) set serveroutput on
-- execute jdr_utils.listContents('/', TRUE);
-- This will list the contents of the entire repository.
-- sub-directories.

PROCEDURE listContents(p_path VARCHAR2, p_recursive BOOLEAN DEFAULT


FALSE);
-- List the customizations for the specified document.
--
-- Parameters:
-- p_document - the fully qualified document name, which can represent
-- either a document or package file.
-- (i.e. '/oracle/apps/ak/attributeSets')

PROCEDURE listDocuments(p_path VARCHAR2, p_recursive BOOLEAN DEFAULT


FALSE);
-- Lists the supported languages for the specified document.
--
-- Parameters:
-- p_document - the fully qualified document name, which can represent
-- either a document or package file.
-- (i.e. '/oracle/apps/ak/attributeSets')

PROCEDURE listLanguages(p_document VARCHAR2);


-- Prints the contents of a JRAD document to the console.
--
-- Parameters:
-- p_document - the fully qualified document name, which can represent
-- either a document or package file.
-- (i.e. '/oracle/apps/ak/attributeSets')
--
-- p_maxLineSize - the maximum size of line. This defaults to 255 which is
-- the maximim allowable size of a line (the 255 limit is

Copyright © Oracle Corporation, 2007. All rights reserved.

Deploying OA Framework Applications


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 15 - Page 22 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
-- a limitation of the DBMS_OUPUT package).
--
-- Limitations:
-- Documents larger than 1000000 bytes will fail as DBMS_OUPUT's maximim
-- buffer is 1000000 bytes.
--

Oracle University and Integrated Training Solutions of Egypt use only


-- To use this from SQL*Plus, do:
-- set serveroutput on format wrapped (this is needed for leading spaces)
-- set linesize 100
-- execute jdr_utils.printDocument('/oracle/apps/ak/attributeSets', 100);
--
-- To create an XML file, you can create the following SQL file:
-- set feedback off
-- set serveroutput on format wrapped
-- set linesize 100
-- spool (parameter 1)
-- execute jdr_utils.printDocument('(parameter 2)', 100);
-- spool off
--
-- and call the file with:
-- sqlplus scott/tiger @export.sql myxml.xml /oracle/apps/ak/attributeSets

PROCEDURE printDocument(p_document VARCHAR2,


p_maxLineSize NUMBER DEFAULT MAX_LINE_SIZE);
-- Prints the translations for the document in XLIFF format.
--
-- Parameters:
-- p_document - the fully qualified document name, which can represent
-- either a document or package file.
-- (i.e. '/oracle/apps/ak/attributeSets')
--
-- p_language - the language to use for the translations
--
-- p_maxLineSize - the maximum size of line. This defaults to 255 which is
-- the maximim allowable size of a line (the 255 limit is
-- a limitation of the DBMS_OUPUT package).
--
-- To use this from SQL*Plus, do:
-- set serveroutput on format wrapped (this is needed for leading spaces)

Copyright © Oracle Corporation, 2007. All rights reserved.

Deploying OA Framework Applications


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 15 - Page 23 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
-- set linesize 100
-- execute jdr_utils.printTranslations('/oracle/apps/ak/attributeSets',
-- 'mylanguage', 100);

PROCEDURE printTranslations(p_document VARCHAR2,


p_language VARCHAR2,

Oracle University and Integrated Training Solutions of Egypt use only


p_maxLineSize NUMBER DEFAULT MAX_LINE_SIZE);
-- Saves the specified translations for the specified document.
--
-- This procedure will do the following:
-- (1) Lock the document so as to prevent multiple users attempting
-- to modify translations at the same time
-- (2) Delete all of the translations for the specified document
-- (3) Insert the new translations
-- (4) Commit the data unless p_commit set to FALSE
--
-- Please use this with care as it will delete all of the
-- translations for the specified document.
--
-- Parameters:
-- p_document - the fully qualified document name
--
-- p_translations - the list of translations to insert
--
-- p_commit - if TRUE, the data is committed. Default is TRUE
--
-- NOTE: If p_commit is set to FALSE, then the document will remain locked
-- after the call to saveTranslations. In order to prevent a deadlock, a
-- commit (or rollback) must occur to unlock the document.
--
-- Raises NO_SUCH_DOCUMENT exception if the document does not exist.

PROCEDURE saveTranslations(
p_document VARCHAR2,
p_translations translationList,
p_commit BOOLEAN := TRUE);

Copyright © Oracle Corporation, 2007. All rights reserved.

Deploying OA Framework Applications


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 15 - Page 24 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
List the Personalizations Done on a Page

Oracle University and Integrated Training Solutions of Egypt use only

Copyright © Oracle Corporation, 2007. All rights reserved.

Deploying OA Framework Applications


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 15 - Page 25 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Inspect Personalizations

Oracle University and Integrated Training Solutions of Egypt use only


The above mentioned command will produce the following output.
<?xml version='1.0' encoding='UTF-8'?>
<customization xmlns="http://xmlns.oracle.com/jrad"
version="9.0.5.4.79_479" xml:lang="en-US"
customizes="/acme/oracle/apps/fnd/framework/toolbox/tutorial/we
bui/AcmePoSummaryCreatePG"
xmlns:oa="http://xmlns.oracle.com/oa">
<modifications>
<move element="OrdersRN.Status" after="OrdersRN.OrderNum"/>

<move element="OrdersRN.Description" after="OrdersRN.Status"/>
<move element="OrdersRN.Buyer" after="OrdersRN.Description"/>
<move element="OrdersRN.Supplier" after="OrdersRN.Buyer"/>
<move element="OrdersRN.Currency" after="OrdersRN.Supplier"/>
<insert before="OrdersRN.Currency">

Copyright © Oracle Corporation, 2007. All rights reserved.

Deploying OA Framework Applications


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 15 - Page 26 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
<oa:messageStyledText id="SiteName" adminCustomizable="true"
cellNoWrapFormat="false"
dataType="VARCHAR2" initSortSeq="none" prompt="Supplier Site"
queryable="false" rendered="true"
required="no" scope="." selectiveSearchCriteria="false"
serverUnvalidated="false" sortState="no" tipType="none"
totalValue="false" userCustomizable="false"

Oracle University and Integrated Training Solutions of Egypt use only


vAlign="middle" viewAttr="SiteName" viewName="PoSummaryVO1"
warnAboutChanges="true"/>

</insert>
<move element="OrdersRN.OrderTotal" after="OrdersRN.Currency"/>
<move element="OrdersRN.DeleteSwitcher"
after="OrdersRN.OrderTotal"/>
<move
element="OrdersRN.UpdateSwitcher"
after="OrdersRN.DeleteSwitcher"/>
</modifications>
</customization>

Copyright © Oracle Corporation, 2007. All rights reserved.

Deploying OA Framework Applications


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 15 - Page 27 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Deploying Personalizations

Oracle University and Integrated Training Solutions of Egypt use only

Copyright © Oracle Corporation, 2007. All rights reserved.

Deploying OA Framework Applications


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 15 - Page 28 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Extract the Personalizations – Functional Administrator Page

Oracle University and Integrated Training Solutions of Egypt use only

Copyright © Oracle Corporation, 2007. All rights reserved.

Deploying OA Framework Applications


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 15 - Page 29 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Set Personalization Document Root Path

Oracle University and Integrated Training Solutions of Egypt use only


The full Internal Profile Code is FND_PERZ_DOC_ROOT_PATH.

Copyright © Oracle Corporation, 2007. All rights reserved.

Deploying OA Framework Applications


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 15 - Page 30 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Import/Export Personalizations

Oracle University and Integrated Training Solutions of Egypt use only

Copyright © Oracle Corporation, 2007. All rights reserved.

Deploying OA Framework Applications


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 15 - Page 31 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Extract the Personalizations – Select the Page

Oracle University and Integrated Training Solutions of Egypt use only

Copyright © Oracle Corporation, 2007. All rights reserved.

Deploying OA Framework Applications


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 15 - Page 32 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Extract the Personalizations – Export to File System

Oracle University and Integrated Training Solutions of Egypt use only

Copyright © Oracle Corporation, 2007. All rights reserved.

Deploying OA Framework Applications


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 15 - Page 33 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Upload Personalizations into Production Instance – Functional
Administrator Page

Oracle University and Integrated Training Solutions of Egypt use only


The profile option should be set at the User level to ensure security.

Copyright © Oracle Corporation, 2007. All rights reserved.

Deploying OA Framework Applications


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 15 - Page 34 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Upload Personalizations into Production Instance – Exported
Personalizations

Oracle University and Integrated Training Solutions of Egypt use only

Copyright © Oracle Corporation, 2007. All rights reserved.

Deploying OA Framework Applications


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 15 - Page 35 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Upload Personalizations into Production Instance – Import from
File System

Oracle University and Integrated Training Solutions of Egypt use only

Copyright © Oracle Corporation, 2007. All rights reserved.

Deploying OA Framework Applications


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 15 - Page 36 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Extensions

Oracle University and Integrated Training Solutions of Egypt use only


Extensions require either changes to Java code or changes to XML files that can not
be done via personalizations. Since personalizations deal with the UI objects, the XML
files needed by extensions are BC4J-based XML files.

Copyright © Oracle Corporation, 2007. All rights reserved.

Deploying OA Framework Applications


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 15 - Page 37 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
OA Page Extensions

Oracle University and Integrated Training Solutions of Egypt use only

Copyright © Oracle Corporation, 2007. All rights reserved.

Deploying OA Framework Applications


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 15 - Page 38 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Deployment of Page Extensions

Oracle University and Integrated Training Solutions of Egypt use only

Copyright © Oracle Corporation, 2007. All rights reserved.

Deploying OA Framework Applications


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 15 - Page 39 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
1.Copy .java Classes

Oracle University and Integrated Training Solutions of Egypt use only

Copyright © Oracle Corporation, 2007. All rights reserved.

Deploying OA Framework Applications


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 15 - Page 40 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
2. Import Substitutions

Oracle University and Integrated Training Solutions of Egypt use only

Copyright © Oracle Corporation, 2007. All rights reserved.

Deploying OA Framework Applications


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 15 - Page 41 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
3. Import OA Component Definitions

Oracle University and Integrated Training Solutions of Egypt use only

Copyright © Oracle Corporation, 2007. All rights reserved.

Deploying OA Framework Applications


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 15 - Page 42 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
View The Deployed Extensions

Oracle University and Integrated Training Solutions of Egypt use only

Copyright © Oracle Corporation, 2007. All rights reserved.

Deploying OA Framework Applications


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 15 - Page 43 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
BC4J Extensions

Oracle University and Integrated Training Solutions of Egypt use only


Note: Extending BC4J objects is supported. Extending Controllers (CO) is not. Any
work done to extend an Oracle-supplied Controller is by definition unsupported.

Copyright © Oracle Corporation, 2007. All rights reserved.

Deploying OA Framework Applications


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 15 - Page 44 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Deployment of Business Logic Extensions

Oracle University and Integrated Training Solutions of Egypt use only

Copyright © Oracle Corporation, 2007. All rights reserved.

Deploying OA Framework Applications


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 15 - Page 45 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED
Summary

Oracle University and Integrated Training Solutions of Egypt use only


Open the Course Labs book.
Watch the guided demo titled, Guided Demo 1 – Deploying Personalizations
Watch the guided demo titled, Guided Demo 2 – Deploying Extensions

Copyright © Oracle Corporation, 2007. All rights reserved.

Deploying OA Framework Applications


Chapter
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS 15 - Page 46 ONLY. COPYING eKIT MATERIALS FROM THIS
CLASSROOM
COMPUTER IS STRICTLY PROHIBITED

You might also like