Sg_r12 Extend Oracle Application Building Oa Framework Application Vol 2.pdf

  • Uploaded by: korlapati Manikanta
  • 0
  • 0
  • December 2019
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Sg_r12 Extend Oracle Application Building Oa Framework Application Vol 2.pdf as PDF for free.

More details

  • Words: 32,261
  • Pages: 292
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

Oracle University and Integrated Training Solutions of Egypt use only

R12 Extend Oracle Applications: Building OA Framework Applications

Copyright © 2007, Oracle. All rights reserved.

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. 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

Oracle University and Integrated Training Solutions of Egypt use only

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.

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 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

Oracle University and Integrated Training Solutions of Egypt use only

Table of Contents

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

Oracle University and Integrated Training Solutions of Egypt use only

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 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 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

Oracle University and Integrated Training Solutions of Egypt use only

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 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

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

Oracle University and Integrated Training Solutions of Egypt use only

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 Summary........................................................................................................................................................5-43

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 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

Oracle University and Integrated Training Solutions of Egypt use only

Further Study of Back Button........................................................................................................................7-52 Summary........................................................................................................................................................7-53

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

Oracle University and Integrated Training Solutions of Egypt use only

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 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

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

Oracle University and Integrated Training Solutions of Egypt use only

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 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

Deploying OA Framework Applications .......................................................................................................15-1 R12 Building OA Framework Applications ..................................................................................................15-3 Objectives ......................................................................................................................................................15-4 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

Oracle University and Integrated Training Solutions of Egypt use only

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

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

Oracle University and Integrated Training Solutions of Egypt use only

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 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

x 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

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 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

Oracle University and Integrated Training Solutions of Egypt use only

Preface

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

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, 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 instructorled 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

Oracle University and Integrated Training Solutions of Egypt use only

Profile

Related Publications Part Number Check MetaLink for latest version.

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

Oracle University and Integrated Training Solutions of Egypt use only

Oracle Publications Title Oracle Applications Framework - JDeveloper with OA Extension patch

Typographic Conventions

Typographic Conventions Within Text Convention Uppercase

Object or Term Commands, functions, column names, table names, PL/SQL objects, schemas

Example Use the SELECT command to view information stored in the LAST_NAME column of the EMPLOYEES table.

Lowercase, italic

Filenames, syntax variables, usernames, passwords

where: role

Initial cap

Trigger and button names

Assign a When-Validate-Item trigger to the ORD block.

is the name of the role to be created.

Choose Cancel. Italic

Quotation marks

Books, names of courses and manuals, and emphasized words or phrases Lesson module titles referenced within a course

For more information on the subject see Oracle SQL Reference Manual Do not save changes to the database. This subject is covered in Lesson 3, “Working with Objects.”

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

Oracle University and Integrated Training Solutions of Egypt use only

What follows are two lists of typographical conventions that are used specifically within text or within code.

Typographic Conventions in Code

Convention Uppercase

Object or Term Example Commands, SELECT employee_id functions FROM employees;

Lowercase, italic

Syntax variables CREATE ROLE role;

Initial cap

Forms triggers

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

Lowercase

Column names, table names, filenames, PL/SQL objects

. . . OG_ACTIVATE_LAYER (OG_GET_LAYER ('prod_pie_layer')) . . . SELECT last_name FROM employees;

Bold

Text that must be entered by a user

CREATE USER scott IDENTIFIED BY tiger;

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

Typographic Conventions Within Code

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

Chapter 8

Copyright © Oracle Corporation, 2007. All rights reserved.

Introduction to JDeveloper 10g with OA Extension

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

Oracle University and Integrated Training Solutions of Egypt use only

Introduction to JDeveloper 10g with OA Extension

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 8 - Page 2 ONLY. COPYING eKIT MATERIALS FROM THIS THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM COMPUTER IS STRICTLY PROHIBITED

Oracle University and Integrated Training Solutions of Egypt use only

R12 Building OA Framework Applications

Copyright © Oracle Corporation, 2007. All rights reserved.

Introduction to JDeveloper 10g with OA Extension

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

Oracle University and Integrated Training Solutions of Egypt use only

Lesson Objectives

Copyright © Oracle Corporation, 2007. All rights reserved.

Introduction to JDeveloper 10g with OA Extension

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

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 8 - Page 5 ONLY. COPYING eKIT MATERIALS FROM THIS THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM COMPUTER IS STRICTLY PROHIBITED

Oracle University and Integrated Training Solutions of Egypt use only

Oracle JDeveloper 10g with OA Extension

Copyright © Oracle Corporation, 2007. All rights reserved.

Introduction to JDeveloper 10g with OA Extension

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

Oracle University and Integrated Training Solutions of Egypt use only

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 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 8 - Page 7 ONLY. COPYING eKIT MATERIALS FROM THIS THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM COMPUTER IS STRICTLY PROHIBITED

Oracle University and Integrated Training Solutions of Egypt use only

Oracle JDeveloper 10g Components

Oracle University and Integrated Training Solutions of Egypt use only

the file in the Navigator that you want to edit or view. The appropriate editor, code or design, will open based on your selection.

Copyright © Oracle Corporation, 2007. All rights reserved.

Introduction to JDeveloper 10g with OA Extension

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

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 8 - Page 9 ONLY. COPYING eKIT MATERIALS FROM THIS THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM COMPUTER IS STRICTLY PROHIBITED

Oracle University and Integrated Training Solutions of Egypt use only

Applications and Workspaces

Copyright © Oracle Corporation, 2007. All rights reserved.

Introduction to JDeveloper 10g with OA Extension

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

Oracle University and Integrated Training Solutions of Egypt use only

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). 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.

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 8 - Page 11 ONLY. COPYING eKIT MATERIALS FROM THIS THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM COMPUTER IS STRICTLY PROHIBITED

Oracle University and Integrated Training Solutions of Egypt use only

Projects

Copyright © Oracle Corporation, 2007. All rights reserved.

Introduction to JDeveloper 10g with OA Extension

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

Oracle University and Integrated Training Solutions of Egypt use only

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.

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 8 - Page 13 ONLY. COPYING eKIT MATERIALS FROM THIS THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM COMPUTER IS STRICTLY PROHIBITED

Oracle University and Integrated Training Solutions of Egypt use only

Creating JDeveloper Items

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 8 - Page 14 ONLY. COPYING eKIT MATERIALS FROM THIS THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM COMPUTER IS STRICTLY PROHIBITED

Oracle University and Integrated Training Solutions of Egypt use only

Creating a Workspace

Oracle University and Integrated Training Solutions of Egypt use only

Step 1: Creating a Project

Copyright © Oracle Corporation, 2007. All rights reserved.

Introduction to JDeveloper 10g with OA Extension

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

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 8 - Page 16 ONLY. COPYING eKIT MATERIALS FROM THIS THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM COMPUTER IS STRICTLY PROHIBITED

Oracle University and Integrated Training Solutions of Egypt use only

Step 2: Creating a Project

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 8 - Page 17 ONLY. COPYING eKIT MATERIALS FROM THIS THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM COMPUTER IS STRICTLY PROHIBITED

Oracle University and Integrated Training Solutions of Egypt use only

Step 3: Creating a Project

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 8 - Page 18 ONLY. COPYING eKIT MATERIALS FROM THIS THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM COMPUTER IS STRICTLY PROHIBITED

Oracle University and Integrated Training Solutions of Egypt use only

Step 4: Creating a Project

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 8 - Page 19 ONLY. COPYING eKIT MATERIALS FROM THIS THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM COMPUTER IS STRICTLY PROHIBITED

Oracle University and Integrated Training Solutions of Egypt use only

Step 1: Establish a Database Connection

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 8 - Page 20 ONLY. COPYING eKIT MATERIALS FROM THIS THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM COMPUTER IS STRICTLY PROHIBITED

Oracle University and Integrated Training Solutions of Egypt use only

Step 2: Establish a Database Connection

Oracle University and Integrated Training Solutions of Egypt use only

Step 3: Establish a Database Connection

Copyright © Oracle Corporation, 2007. All rights reserved.

Introduction to JDeveloper 10g with OA Extension

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

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 8 - Page 22 ONLY. COPYING eKIT MATERIALS FROM THIS THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM COMPUTER IS STRICTLY PROHIBITED

Oracle University and Integrated Training Solutions of Egypt use only

Step 4: Establish a Database Connection

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 8 - Page 23 ONLY. COPYING eKIT MATERIALS FROM THIS THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM COMPUTER IS STRICTLY PROHIBITED

Oracle University and Integrated Training Solutions of Egypt use only

Step 5: Establish a Database Connection

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 8 - Page 24 ONLY. COPYING eKIT MATERIALS FROM THIS THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM COMPUTER IS STRICTLY PROHIBITED

Oracle University and Integrated Training Solutions of Egypt use only

Step 6: Establish a Database Connection

Always test the connection.

Copyright © Oracle Corporation, 2007. All rights reserved.

Introduction to JDeveloper 10g with OA Extension

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

Oracle University and Integrated Training Solutions of Egypt use only

Step 7: Establish a Database Connection

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 8 - Page 26 ONLY. COPYING eKIT MATERIALS FROM THIS THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM COMPUTER IS STRICTLY PROHIBITED

Oracle University and Integrated Training Solutions of Egypt use only

Project Properties

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 8 - Page 27 ONLY. COPYING eKIT MATERIALS FROM THIS THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM COMPUTER IS STRICTLY PROHIBITED

Oracle University and Integrated Training Solutions of Egypt use only

Project Properties – Oracle Applications

myprojects: myclasses: myhtml: system: dbc_files/secure:

Holds .java and .xml files Holds .class and .xml files Holds deployed objects, like shared images, and .jsps Holds JDeveloper configuration information Holds DBC files

Copyright © Oracle Corporation, 2007. All rights reserved.

Introduction to JDeveloper 10g with OA Extension

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

Oracle University and Integrated Training Solutions of Egypt use only

Directory Structure

Oracle University and Integrated Training Solutions of Egypt use only

Exploring Java Files

Copyright © Oracle Corporation, 2007. All rights reserved.

Introduction to JDeveloper 10g with OA Extension

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

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 8 - Page 30 ONLY. COPYING eKIT MATERIALS FROM THIS THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM COMPUTER IS STRICTLY PROHIBITED

Oracle University and Integrated Training Solutions of Egypt use only

Exploring Other Objects - Wizards

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 8 - Page 31 ONLY. COPYING eKIT MATERIALS FROM THIS THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM COMPUTER IS STRICTLY PROHIBITED

Oracle University and Integrated Training Solutions of Egypt use only

Exploring Other Objects – UI Objects

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 8 - Page 32 ONLY. COPYING eKIT MATERIALS FROM THIS THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM COMPUTER IS STRICTLY PROHIBITED

Oracle University and Integrated Training Solutions of Egypt use only

Finding Methods and Fields

Oracle University and Integrated Training Solutions of Egypt use only

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.

Copyright © Oracle Corporation, 2007. All rights reserved.

Introduction to JDeveloper 10g with OA Extension

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

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 8 - Page 34 ONLY. COPYING eKIT MATERIALS FROM THIS THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM COMPUTER IS STRICTLY PROHIBITED

Oracle University and Integrated Training Solutions of Egypt use only

Supporting Code Development with Profiler and Code Coach

Oracle University and Integrated Training Solutions of Egypt use only

also provides Code Insight for parameters when you pause after entering a left parenthesis.

Copyright © Oracle Corporation, 2007. All rights reserved.

Introduction to JDeveloper 10g with OA Extension

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

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 8 - Page 36 ONLY. COPYING eKIT MATERIALS FROM THIS THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM COMPUTER IS STRICTLY PROHIBITED

Oracle University and Integrated Training Solutions of Egypt use only

New Code Editor Features

Copyright © Oracle Corporation, 2007. All rights reserved.

Introduction to JDeveloper 10g with OA Extension

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

Oracle University and Integrated Training Solutions of Egypt use only

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 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.

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 8 - Page 38 ONLY. COPYING eKIT MATERIALS FROM THIS THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM COMPUTER IS STRICTLY PROHIBITED

Oracle University and Integrated Training Solutions of Egypt use only

Customizing JDeveloper 10g with OA Extension

Copyright © Oracle Corporation, 2007. All rights reserved.

Introduction to JDeveloper 10g with OA Extension

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

Oracle University and Integrated Training Solutions of Egypt use only

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 which keyboard shortcuts, or accelerators, map to which actions. • Customize options for the Code Editor. • Add external tools to JDeveloper.

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 8 - Page 40 ONLY. COPYING eKIT MATERIALS FROM THIS THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM COMPUTER IS STRICTLY PROHIBITED

Oracle University and Integrated Training Solutions of Egypt use only

Refactoring

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 8 - Page 41 ONLY. COPYING eKIT MATERIALS FROM THIS THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM COMPUTER IS STRICTLY PROHIBITED

Oracle University and Integrated Training Solutions of Egypt use only

Refactoring

Copyright © Oracle Corporation, 2007. All rights reserved.

Introduction to JDeveloper 10g with OA Extension

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

Oracle University and Integrated Training Solutions of Egypt use only

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 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.

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 8 - Page 43 ONLY. COPYING eKIT MATERIALS FROM THIS THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM COMPUTER IS STRICTLY PROHIBITED

Oracle University and Integrated Training Solutions of Egypt use only

JDeveloper Help System

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 8 - Page 44 ONLY. COPYING eKIT MATERIALS FROM THIS THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM COMPUTER IS STRICTLY PROHIBITED

Oracle University and Integrated Training Solutions of Egypt use only

Obtaining Help on a Topic

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 8 - Page 45 ONLY. COPYING eKIT MATERIALS FROM THIS THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM COMPUTER IS STRICTLY PROHIBITED

Oracle University and Integrated Training Solutions of Egypt use only

Oracle JDeveloper Debugger

Copyright © Oracle Corporation, 2007. All rights reserved.

Introduction to JDeveloper 10g with OA Extension

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

Oracle University and Integrated Training Solutions of Egypt use only

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 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.

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 8 - Page 47 ONLY. COPYING eKIT MATERIALS FROM THIS THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM COMPUTER IS STRICTLY PROHIBITED

Oracle University and Integrated Training Solutions of Egypt use only

Breakpoints

Copyright © Oracle Corporation, 2007. All rights reserved.

Introduction to JDeveloper 10g with OA Extension

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

Oracle University and Integrated Training Solutions of Egypt use only

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 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.

Oracle University and Integrated Training Solutions of Egypt use only

Breaking on Exceptions

Copyright © Oracle Corporation, 2007. All rights reserved.

Introduction to JDeveloper 10g with OA Extension

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

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 .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 8 - Page 50 ONLY. COPYING eKIT MATERIALS FROM THIS THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM COMPUTER IS STRICTLY PROHIBITED

Oracle University and Integrated Training Solutions of Egypt use only

Debugger Windows

Oracle University and Integrated Training Solutions of Egypt use only

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.

Copyright © Oracle Corporation, 2007. All rights reserved.

Introduction to JDeveloper 10g with OA Extension

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

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 8 - Page 52 ONLY. COPYING eKIT MATERIALS FROM THIS THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM COMPUTER IS STRICTLY PROHIBITED

Oracle University and Integrated Training Solutions of Egypt use only

Stepping Through a Program

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 8 - Page 53 ONLY. COPYING eKIT MATERIALS FROM THIS THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM COMPUTER IS STRICTLY PROHIBITED

Oracle University and Integrated Training Solutions of Egypt use only

Watching Data and Variables

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 8 - Page 54 ONLY. COPYING eKIT MATERIALS FROM THIS THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM COMPUTER IS STRICTLY PROHIBITED

Oracle University and Integrated Training Solutions of Egypt use only

Debugging Declarative Applications

Oracle University and Integrated Training Solutions of Egypt use only

More Debugging Tips

Copyright © Oracle Corporation, 2007. All rights reserved.

Introduction to JDeveloper 10g with OA Extension

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

Oracle University and Integrated Training Solutions of Egypt use only

Understand BC4J Interactions

Copyright © Oracle Corporation, 2007. All rights reserved.

Introduction to JDeveloper 10g with OA Extension

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

Oracle University and Integrated Training Solutions of Egypt use only

Understand BC4J Interactions

Copyright © Oracle Corporation, 2007. All rights reserved.

Introduction to JDeveloper 10g with OA Extension

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

Oracle University and Integrated Training Solutions of Egypt use only

Debugging Validation and Commits

Copyright © Oracle Corporation, 2007. All rights reserved.

Introduction to JDeveloper 10g with OA Extension

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

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 8 - Page 59 ONLY. COPYING eKIT MATERIALS FROM THIS THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM COMPUTER IS STRICTLY PROHIBITED

Oracle University and Integrated Training Solutions of Egypt use only

Summary

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 8 - Page 60 ONLY. COPYING eKIT MATERIALS FROM THIS THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM COMPUTER IS STRICTLY PROHIBITED

Chapter 9

Copyright © Oracle Corporation, 2007. All rights reserved.

Implementing a Query and Drill-down

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

Oracle University and Integrated Training Solutions of Egypt use only

Implementing a Query and Drill-down

Oracle University and Integrated Training Solutions of Egypt use only Copyright © Oracle Corporation, 2007. All rights reserved.

Implementing a Query and Drill-down

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

Oracle University and Integrated Training Solutions of Egypt use only

R12 Building OA Framework Applications

Copyright © Oracle Corporation, 2007. All rights reserved.

Implementing a Query and Drill-down

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

Oracle University and Integrated Training Solutions of Egypt use only

Lesson Objectives

Copyright © Oracle Corporation, 2007. All rights reserved.

Implementing a Query and Drill-down

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

Oracle University and Integrated Training Solutions of Egypt use only

Course Methodology

Copyright © Oracle Corporation, 2007. All rights reserved.

Implementing a Query and Drill-down

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

Oracle University and Integrated Training Solutions of Egypt use only

Course Methodology

Copyright © Oracle Corporation, 2007. All rights reserved.

Implementing a Query and Drill-down

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

Oracle University and Integrated Training Solutions of Egypt use only

Finished Page Before Search

Copyright © Oracle Corporation, 2007. All rights reserved.

Implementing a Query and Drill-down

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

Oracle University and Integrated Training Solutions of Egypt use only

Finished Page After Search

Copyright © Oracle Corporation, 2007. All rights reserved.

Implementing a Query and Drill-down

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

Oracle University and Integrated Training Solutions of Egypt use only

Finished List of Values Page

Copyright © Oracle Corporation, 2007. All rights reserved.

Implementing a Query and Drill-down

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

Oracle University and Integrated Training Solutions of Egypt use only

Finished Drilldown-to-Details Page

Copyright © Oracle Corporation, 2007. All rights reserved.

Implementing a Query and Drill-down

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

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 9 - Page 11 ONLY. COPYING eKIT MATERIALS FROM THIS THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM COMPUTER IS STRICTLY PROHIBITED

Oracle University and Integrated Training Solutions of Egypt use only

Summary

Oracle University and Integrated Training Solutions of Egypt use only Copyright © Oracle Corporation, 2007. All rights reserved.

Implementing a Query and Drill-down

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

Chapter 10

Copyright © Oracle Corporation, 2007. All rights reserved.

Implementing a Create

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

Oracle University and Integrated Training Solutions of Egypt use only

Implementing a Create

Oracle University and Integrated Training Solutions of Egypt use only Copyright © Oracle Corporation, 2007. All rights reserved.

Implementing a Create

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

Oracle University and Integrated Training Solutions of Egypt use only

R12 Building OA Framework Applications

Copyright © Oracle Corporation, 2007. All rights reserved.

Implementing a Create

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

Oracle University and Integrated Training Solutions of Egypt use only

Lesson Objectives

Copyright © Oracle Corporation, 2007. All rights reserved.

Implementing a Create

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

Oracle University and Integrated Training Solutions of Egypt use only

Implementing a Poplist

Copyright © Oracle Corporation, 2007. All rights reserved.

Implementing a Create

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

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 10 - Page 6 ONLY. COPYING eKIT MATERIALS FROM THIS THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM COMPUTER IS STRICTLY PROHIBITED

Oracle University and Integrated Training Solutions of Egypt use only

Extending a Shared Region

Oracle University and Integrated Training Solutions of Egypt use only

Creating a New Row

Copyright © Oracle Corporation, 2007. All rights reserved.

Implementing a Create

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

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 10 - Page 8 ONLY. COPYING eKIT MATERIALS FROM THIS THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM COMPUTER IS STRICTLY PROHIBITED

Oracle University and Integrated Training Solutions of Egypt use only

Initializing a View Object

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 10 - Page 9 ONLY. COPYING eKIT MATERIALS FROM THIS THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM COMPUTER IS STRICTLY PROHIBITED

Oracle University and Integrated Training Solutions of Egypt use only

Creating and Initializing a VO Row

Oracle University and Integrated Training Solutions of Egypt use only

Getting the Data

Copyright © Oracle Corporation, 2007. All rights reserved.

Implementing a Create

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

Oracle University and Integrated Training Solutions of Egypt use only

Saving a Row to the Database

Copyright © Oracle Corporation, 2007. All rights reserved.

Implementing a Create

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

Oracle University and Integrated Training Solutions of Egypt use only

Lab – After Create Basics

Copyright © Oracle Corporation, 2007. All rights reserved.

Implementing a Create

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

Oracle University and Integrated Training Solutions of Egypt use only

Lab – After Validations

Copyright © Oracle Corporation, 2007. All rights reserved.

Implementing a Create

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

Oracle University and Integrated Training Solutions of Egypt use only

Lab – After Validations

Copyright © Oracle Corporation, 2007. All rights reserved.

Implementing a Create

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

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 10 - Page 15 ONLY. COPYING eKIT MATERIALS FROM THIS THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM COMPUTER IS STRICTLY PROHIBITED

Oracle University and Integrated Training Solutions of Egypt use only

Lab – After Partial Page Rendering

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 10 - Page 16 ONLY. COPYING eKIT MATERIALS FROM THIS THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM COMPUTER IS STRICTLY PROHIBITED

Oracle University and Integrated Training Solutions of Egypt use only

Lab – After Partial Page Rendering

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 10 - Page 17 ONLY. COPYING eKIT MATERIALS FROM THIS THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM COMPUTER IS STRICTLY PROHIBITED

Oracle University and Integrated Training Solutions of Egypt use only

Summary

Oracle University and Integrated Training Solutions of Egypt use only Copyright © Oracle Corporation, 2007. All rights reserved.

Implementing a Create

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

Chapter 11

Copyright © Oracle Corporation, 2007. All rights reserved.

Implementing a Delete

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

Oracle University and Integrated Training Solutions of Egypt use only

Implementing a Delete

Oracle University and Integrated Training Solutions of Egypt use only Copyright © Oracle Corporation, 2007. All rights reserved.

Implementing a Delete

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

Oracle University and Integrated Training Solutions of Egypt use only

R12 Building OA Framework Applications

Copyright © Oracle Corporation, 2007. All rights reserved.

Implementing a Delete

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

Oracle University and Integrated Training Solutions of Egypt use only

Lesson Objectives

Copyright © Oracle Corporation, 2007. All rights reserved.

Implementing a Delete

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

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 11 - Page 5 ONLY. COPYING eKIT MATERIALS FROM THIS THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM COMPUTER IS STRICTLY PROHIBITED

Oracle University and Integrated Training Solutions of Egypt use only

Error Handling Overview

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 11 - Page 6 ONLY. COPYING eKIT MATERIALS FROM THIS THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM COMPUTER IS STRICTLY PROHIBITED

Oracle University and Integrated Training Solutions of Egypt use only

Exception Types

Oracle University and Integrated Training Solutions of Egypt use only

Exception Types

Copyright © Oracle Corporation, 2007. All rights reserved.

Implementing a Delete

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

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 11 - Page 8 ONLY. COPYING eKIT MATERIALS FROM THIS THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM COMPUTER IS STRICTLY PROHIBITED

Oracle University and Integrated Training Solutions of Egypt use only

Exception Classes

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 11 - Page 9 ONLY. COPYING eKIT MATERIALS FROM THIS THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM COMPUTER IS STRICTLY PROHIBITED

Oracle University and Integrated Training Solutions of Egypt use only

Message Types

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 11 - Page 10 ONLY. COPYING eKIT MATERIALS FROM THIS THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM COMPUTER IS STRICTLY PROHIBITED

Oracle University and Integrated Training Solutions of Egypt use only

Message Dictionary

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 11 - Page 11 ONLY. COPYING eKIT MATERIALS FROM THIS THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM COMPUTER IS STRICTLY PROHIBITED

Oracle University and Integrated Training Solutions of Egypt use only

Implementing Message Dictionary

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

Copyright © Oracle Corporation, 2007. All rights reserved.

Implementing a Delete

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

Oracle University and Integrated Training Solutions of Egypt use only

Instantiating Attribute-level Exceptions

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 11 - Page 13 ONLY. COPYING eKIT MATERIALS FROM THIS THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM COMPUTER IS STRICTLY PROHIBITED

Oracle University and Integrated Training Solutions of Egypt use only

Instantiating Row-level Exceptions

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 11 - Page 14 ONLY. COPYING eKIT MATERIALS FROM THIS THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM COMPUTER IS STRICTLY PROHIBITED

Oracle University and Integrated Training Solutions of Egypt use only

Attribute Value - EO Example

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 11 - Page 15 ONLY. COPYING eKIT MATERIALS FROM THIS THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM COMPUTER IS STRICTLY PROHIBITED

Oracle University and Integrated Training Solutions of Egypt use only

Attribute Value - VO Example

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 11 - Page 16 ONLY. COPYING eKIT MATERIALS FROM THIS THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM COMPUTER IS STRICTLY PROHIBITED

Oracle University and Integrated Training Solutions of Egypt use only

Row Value - EO Example

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 11 - Page 17 ONLY. COPYING eKIT MATERIALS FROM THIS THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM COMPUTER IS STRICTLY PROHIBITED

Oracle University and Integrated Training Solutions of Egypt use only

Row Value - VO Example

Oracle University and Integrated Training Solutions of Egypt use only

Messaging Flows

Copyright © Oracle Corporation, 2007. All rights reserved.

Implementing a Delete

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

Oracle University and Integrated Training Solutions of Egypt use only

Inline Messages

Copyright © Oracle Corporation, 2007. All rights reserved.

Implementing a Delete

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

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 11 - Page 20 ONLY. COPYING eKIT MATERIALS FROM THIS THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM COMPUTER IS STRICTLY PROHIBITED

Oracle University and Integrated Training Solutions of Egypt use only

Dialog Pages

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 11 - Page 21 ONLY. COPYING eKIT MATERIALS FROM THIS THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM COMPUTER IS STRICTLY PROHIBITED

Oracle University and Integrated Training Solutions of Egypt use only

Dialog Pages

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 11 - Page 22 ONLY. COPYING eKIT MATERIALS FROM THIS THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM COMPUTER IS STRICTLY PROHIBITED

Oracle University and Integrated Training Solutions of Egypt use only

Switchers

Oracle University and Integrated Training Solutions of Egypt use only

Table Content Switcher Abilities and Limits

Copyright © Oracle Corporation, 2007. All rights reserved.

Implementing a Delete

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

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 11 - Page 24 ONLY. COPYING eKIT MATERIALS FROM THIS THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM COMPUTER IS STRICTLY PROHIBITED

Oracle University and Integrated Training Solutions of Egypt use only

Implementing Table Content Switchers

Oracle University and Integrated Training Solutions of Egypt use only

Query Page with Non-Deleteable Employee

Copyright © Oracle Corporation, 2007. All rights reserved.

Implementing a Delete

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

Oracle University and Integrated Training Solutions of Egypt use only

Query Page with Deleteable Employee

Copyright © Oracle Corporation, 2007. All rights reserved.

Implementing a Delete

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

Oracle University and Integrated Training Solutions of Egypt use only

Warning Dialog

Copyright © Oracle Corporation, 2007. All rights reserved.

Implementing a Delete

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

Oracle University and Integrated Training Solutions of Egypt use only

Confirmation Message

Copyright © Oracle Corporation, 2007. All rights reserved.

Implementing a Delete

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

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 11 - Page 29 ONLY. COPYING eKIT MATERIALS FROM THIS THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM COMPUTER IS STRICTLY PROHIBITED

Oracle University and Integrated Training Solutions of Egypt use only

Summary

Oracle University and Integrated Training Solutions of Egypt use only Copyright © Oracle Corporation, 2007. All rights reserved.

Implementing a Delete

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

Chapter 12

Copyright © Oracle Corporation, 2007. All rights reserved.

Implementing an Update

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

Oracle University and Integrated Training Solutions of Egypt use only

Implementing an Update

Oracle University and Integrated Training Solutions of Egypt use only Copyright © Oracle Corporation, 2007. All rights reserved.

Implementing an Update

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

Oracle University and Integrated Training Solutions of Egypt use only

R12 Building OA Framework Applications

Copyright © Oracle Corporation, 2007. All rights reserved.

Implementing an Update

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

Oracle University and Integrated Training Solutions of Egypt use only

Lesson Objectives

Copyright © Oracle Corporation, 2007. All rights reserved.

Implementing an Update

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

Oracle University and Integrated Training Solutions of Egypt use only

Locator Elements

Copyright © Oracle Corporation, 2007. All rights reserved.

Implementing an Update

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

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 12 - Page 6 ONLY. COPYING eKIT MATERIALS FROM THIS THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM COMPUTER IS STRICTLY PROHIBITED

Oracle University and Integrated Training Solutions of Egypt use only

Breadcrumbs

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 12 - Page 7 ONLY. COPYING eKIT MATERIALS FROM THIS THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM COMPUTER IS STRICTLY PROHIBITED

Oracle University and Integrated Training Solutions of Egypt use only

Page Navigators

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 12 - Page 8 ONLY. COPYING eKIT MATERIALS FROM THIS THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM COMPUTER IS STRICTLY PROHIBITED

Oracle University and Integrated Training Solutions of Egypt use only

Record Navigators

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 12 - Page 9 ONLY. COPYING eKIT MATERIALS FROM THIS THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM COMPUTER IS STRICTLY PROHIBITED

Oracle University and Integrated Training Solutions of Egypt use only

Trains

Oracle University and Integrated Training Solutions of Egypt use only

Implementing Trains

Copyright © Oracle Corporation, 2007. All rights reserved.

Implementing an Update

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

Oracle University and Integrated Training Solutions of Egypt use only

Single-Page Update

Copyright © Oracle Corporation, 2007. All rights reserved.

Implementing an Update

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

Oracle University and Integrated Training Solutions of Egypt use only

Single-Page Update

Copyright © Oracle Corporation, 2007. All rights reserved.

Implementing an Update

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

Oracle University and Integrated Training Solutions of Egypt use only

Update Confirmation

Copyright © Oracle Corporation, 2007. All rights reserved.

Implementing an Update

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

Oracle University and Integrated Training Solutions of Egypt use only

Multi-Page Update

Copyright © Oracle Corporation, 2007. All rights reserved.

Implementing an Update

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

Oracle University and Integrated Training Solutions of Egypt use only

Multi-Page Update

Copyright © Oracle Corporation, 2007. All rights reserved.

Implementing an Update

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

Oracle University and Integrated Training Solutions of Egypt use only

Multi-Page Update

Copyright © Oracle Corporation, 2007. All rights reserved.

Implementing an Update

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

Oracle University and Integrated Training Solutions of Egypt use only

Multi-Page Update Confirmation

Copyright © Oracle Corporation, 2007. All rights reserved.

Implementing an Update

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

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 12 - Page 18 ONLY. COPYING eKIT MATERIALS FROM THIS THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM COMPUTER IS STRICTLY PROHIBITED

Oracle University and Integrated Training Solutions of Egypt use only

Summary

Chapter 13

Copyright © Oracle Corporation, 2007. All rights reserved.

OA Framework Development Concepts and Standards

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

Oracle University and Integrated Training Solutions of Egypt use only

OA Framework Development Concepts and 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 13 - Page 2 ONLY. COPYING eKIT MATERIALS FROM THIS THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM COMPUTER IS STRICTLY PROHIBITED

Oracle University and Integrated Training Solutions of Egypt use only

R12 Building OA Framework Applications

Copyright © Oracle Corporation, 2007. All rights reserved.

OA Framework Development Concepts and Standards

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

Oracle University and Integrated Training Solutions of Egypt use only

Lesson Objectives

Copyright © Oracle Corporation, 2007. All rights reserved.

OA Framework Development Concepts and Standards

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

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 13 - Page 5 ONLY. COPYING eKIT MATERIALS FROM THIS THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM COMPUTER IS STRICTLY PROHIBITED

Oracle University and Integrated Training Solutions of Egypt use only

General Coding Standards

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 13 - Page 6 ONLY. COPYING eKIT MATERIALS FROM THIS THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM COMPUTER IS STRICTLY PROHIBITED

Oracle University and Integrated Training Solutions of Egypt use only

Coding Terminology

Oracle University and Integrated Training Solutions of Egypt use only

OA Framework Standard Considerations

Copyright © Oracle Corporation, 2007. All rights reserved.

OA Framework Development Concepts and Standards

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

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 13 - Page 8 ONLY. COPYING eKIT MATERIALS FROM THIS THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM COMPUTER IS STRICTLY PROHIBITED

Oracle University and Integrated Training Solutions of Egypt use only

E-Business Suite Standard Considerations

Oracle University and Integrated Training Solutions of Egypt use only

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.

Copyright © Oracle Corporation, 2007. All rights reserved.

OA Framework Development Concepts and Standards

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

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 13 - Page 10 ONLY. COPYING eKIT MATERIALS FROM THIS THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM COMPUTER IS STRICTLY PROHIBITED

Oracle University and Integrated Training Solutions of Egypt use only

E-Business Suite Standard Considerations

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 13 - Page 11 ONLY. COPYING eKIT MATERIALS FROM THIS THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM COMPUTER IS STRICTLY PROHIBITED

Oracle University and Integrated Training Solutions of Egypt use only

E-Business Suite Standard DB Objects

Oracle University and Integrated Training Solutions of Egypt use only

Tables are registered using the Table Registration API, which is documented in the Oracle Applications Developer’s Guide.

Copyright © Oracle Corporation, 2007. All rights reserved.

OA Framework Development Concepts and Standards

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

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 13 - Page 13 ONLY. COPYING eKIT MATERIALS FROM THIS THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM COMPUTER IS STRICTLY PROHIBITED

Oracle University and Integrated Training Solutions of Egypt use only

Oracle BLAF Standards

Oracle University and Integrated Training Solutions of Egypt use only

E-Business Suite Java Standards

Copyright © Oracle Corporation, 2007. All rights reserved.

OA Framework Development Concepts and Standards

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

Oracle University and Integrated Training Solutions of Egypt use only

OA Framework File Standards

Copyright © Oracle Corporation, 2007. All rights reserved.

OA Framework Development Concepts and Standards

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

Workspaces and Projects: *.jws Workspace XML definition *.jpr Project XML definition *.jpx BC4J Substitution XML definition *.xcfg JDeveloper configuration file Java/Class Files: CO AMImpl VOImpl VORowImpl EOImpl EntityExpert

Controller files Application Module View Objects Generated VO Accessors Entity Objects Entity Experts for Validation

Copyright © Oracle Corporation, 2007. All rights reserved.

OA Framework Development Concepts and Standards

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

Oracle University and Integrated Training Solutions of Egypt use only

Files in a Typical OA Framework Application

Seed Data: Menu (.ldt) Message (.ldt) *.ldt

Images: *.gif JSPs

UI Page and Regions Reusable UI definitions Application Module definitions View Object definitions Entity Object definitions Association Object definitions View Link definitions

Seeded menu definitions Translatable messages for the Message Dictionary General seed data, like users, responsibilities, concurrent programs, profiles options, lookups, etc.

Put into $OA_MEDIA directory on the server. 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 13 - Page 17 ONLY. COPYING eKIT MATERIALS FROM THIS THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM COMPUTER IS STRICTLY PROHIBITED

Oracle University and Integrated Training Solutions of Egypt use only

XML Files: PG/RN Attribute Sets AM.xml VO.xml EO.xml AO.xml VL.xml

Oracle University and Integrated Training Solutions of Egypt use only

Standard File Suffix Abbreviations

Copyright © Oracle Corporation, 2007. All rights reserved.

OA Framework Development Concepts and Standards

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

Oracle University and Integrated Training Solutions of Egypt use only

Standard File Suffix Abbreviations

Copyright © Oracle Corporation, 2007. All rights reserved.

OA Framework Development Concepts and Standards

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

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 13 - Page 20 ONLY. COPYING eKIT MATERIALS FROM THIS THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM COMPUTER IS STRICTLY PROHIBITED

Oracle University and Integrated Training Solutions of Egypt use only

Package Names

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 13 - Page 21 ONLY. COPYING eKIT MATERIALS FROM THIS THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM COMPUTER IS STRICTLY PROHIBITED

Oracle University and Integrated Training Solutions of Egypt use only

Package Names

Oracle University and Integrated Training Solutions of Egypt use only

Package Names

Copyright © Oracle Corporation, 2007. All rights reserved.

OA Framework Development Concepts and Standards

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

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 13 - Page 23 ONLY. COPYING eKIT MATERIALS FROM THIS THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM COMPUTER IS STRICTLY PROHIBITED

Oracle University and Integrated Training Solutions of Egypt use only

File Names

Oracle University and Integrated Training Solutions of Egypt use only

Region and Item Names

Copyright © Oracle Corporation, 2007. All rights reserved.

OA Framework Development Concepts and Standards

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

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 13 - Page 25 ONLY. COPYING eKIT MATERIALS FROM THIS THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM COMPUTER IS STRICTLY PROHIBITED

Oracle University and Integrated Training Solutions of Egypt use only

OA Framework Model Standards

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 13 - Page 26 ONLY. COPYING eKIT MATERIALS FROM THIS THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM COMPUTER IS STRICTLY PROHIBITED

Oracle University and Integrated Training Solutions of Egypt use only

OA Framework View Standards

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 13 - Page 27 ONLY. COPYING eKIT MATERIALS FROM THIS THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM COMPUTER IS STRICTLY PROHIBITED

Oracle University and Integrated Training Solutions of Egypt use only

OA Framework Controller Standards

Oracle University and Integrated Training Solutions of Egypt use only

Summary

Copyright © Oracle Corporation, 2007. All rights reserved.

OA Framework Development Concepts and Standards

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

Chapter 14

Copyright © Oracle Corporation, 2007. All rights reserved.

OA Framework and E-Business Suite Security

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

Oracle University and Integrated Training Solutions of Egypt use only

OA Framework and EBusiness Suite Security

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 14 - Page 2 ONLY. COPYING eKIT MATERIALS FROM THIS THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM COMPUTER IS STRICTLY PROHIBITED

Oracle University and Integrated Training Solutions of Egypt use only

R12 Building OA Framework Applications

Copyright © Oracle Corporation, 2007. All rights reserved.

OA Framework and E-Business Suite Security

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

Oracle University and Integrated Training Solutions of Egypt use only

Lesson Objectives

Copyright © Oracle Corporation, 2007. All rights reserved.

OA Framework and E-Business Suite Security

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

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 14 - Page 5 ONLY. COPYING eKIT MATERIALS FROM THIS THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM COMPUTER IS STRICTLY PROHIBITED

Oracle University and Integrated Training Solutions of Egypt use only

Key E-Business Suite Security Terms

Copyright © Oracle Corporation, 2007. All rights reserved.

OA Framework and E-Business Suite Security

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

Oracle University and Integrated Training Solutions of Egypt use only

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 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 14 - Page 7 ONLY. COPYING eKIT MATERIALS FROM THIS THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM COMPUTER IS STRICTLY PROHIBITED

Oracle University and Integrated Training Solutions of Egypt use only

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 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.

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 14 - Page 8 ONLY. COPYING eKIT MATERIALS FROM THIS THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM COMPUTER IS STRICTLY PROHIBITED

Oracle University and Integrated Training Solutions of Egypt use only

Key E-Business Suite Security Terms

Copyright © Oracle Corporation, 2007. All rights reserved.

OA Framework and E-Business Suite Security

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

Oracle University and Integrated Training Solutions of Egypt use only

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 nonexecutable functions (formerly called subfunctions). Executable Function Executable functions have the unique property that you may navigate to them using 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. Nonexecutable 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.

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 14 - Page 10 ONLY. COPYING eKIT MATERIALS FROM THIS THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM COMPUTER IS STRICTLY PROHIBITED

Oracle University and Integrated Training Solutions of Egypt use only

Successive Layers of Access Control

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 14 - Page 11 ONLY. COPYING eKIT MATERIALS FROM THIS THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM COMPUTER IS STRICTLY PROHIBITED

Oracle University and Integrated Training Solutions of Egypt use only

Increasing Flexibility and Scalability

Copyright © Oracle Corporation, 2007. All rights reserved.

OA Framework and E-Business Suite Security

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

Oracle University and Integrated Training Solutions of Egypt use only

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.

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 14 - Page 13 ONLY. COPYING eKIT MATERIALS FROM THIS THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM COMPUTER IS STRICTLY PROHIBITED

Oracle University and Integrated Training Solutions of Egypt use only

Function Security

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 14 - Page 14 ONLY. COPYING eKIT MATERIALS FROM THIS THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM COMPUTER IS STRICTLY PROHIBITED

Oracle University and Integrated Training Solutions of Egypt use only

Data Security

Copyright © Oracle Corporation, 2007. All rights reserved.

OA Framework and E-Business Suite Security

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

Oracle University and Integrated Training Solutions of Egypt use only



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 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 14 - Page 16 ONLY. COPYING eKIT MATERIALS FROM THIS THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM COMPUTER IS STRICTLY PROHIBITED

Oracle University and Integrated Training Solutions of Egypt use only

Oracle User Management Layers of Access Control

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 subroles 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 14 - Page 17 ONLY. COPYING eKIT MATERIALS FROM THIS THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM COMPUTER IS STRICTLY PROHIBITED

Oracle University and Integrated Training Solutions of Egypt use only

Role Based Access Control (RBAC)

Copyright © Oracle Corporation, 2007. All rights reserved.

OA Framework and E-Business Suite Security

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

Oracle University and Integrated Training Solutions of Egypt use only

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. 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 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 14 - Page 19 ONLY. COPYING eKIT MATERIALS FROM THIS THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM COMPUTER IS STRICTLY PROHIBITED

Oracle University and Integrated Training Solutions of Egypt use only

Delegated Administration

Copyright © Oracle Corporation, 2007. All rights reserved.

OA Framework and E-Business Suite Security

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

Oracle University and Integrated Training Solutions of Egypt use only

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 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.

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 14 - Page 21 ONLY. COPYING eKIT MATERIALS FROM THIS THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM COMPUTER IS STRICTLY PROHIBITED

Oracle University and Integrated Training Solutions of Egypt use only

Registration Processes

Oracle University and Integrated Training Solutions of Egypt use only

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.

Copyright © Oracle Corporation, 2007. All rights reserved.

OA Framework and E-Business Suite Security

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

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 14 - Page 23 ONLY. COPYING eKIT MATERIALS FROM THIS THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM COMPUTER IS STRICTLY PROHIBITED

Oracle University and Integrated Training Solutions of Egypt use only

Self Service and Approvals

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 14 - Page 24 ONLY. COPYING eKIT MATERIALS FROM THIS THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM COMPUTER IS STRICTLY PROHIBITED

Oracle University and Integrated Training Solutions of Egypt use only

Introduction to Function Security

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 14 - Page 25 ONLY. COPYING eKIT MATERIALS FROM THIS THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM COMPUTER IS STRICTLY PROHIBITED

Oracle University and Integrated Training Solutions of Egypt use only

Securing Functions

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 14 - Page 26 ONLY. COPYING eKIT MATERIALS FROM THIS THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM COMPUTER IS STRICTLY PROHIBITED

Oracle University and Integrated Training Solutions of Egypt use only

Defining a Menu

• •

Oracle University and Integrated Training Solutions of Egypt use only



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.

Copyright © Oracle Corporation, 2007. All rights reserved.

OA Framework and E-Business Suite Security

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

Oracle University and Integrated Training Solutions of Egypt use only

Menu Guidelines

Copyright © Oracle Corporation, 2007. All rights reserved.

OA Framework and E-Business Suite Security

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

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 14 - Page 29 ONLY. COPYING eKIT MATERIALS FROM THIS THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM COMPUTER IS STRICTLY PROHIBITED

Oracle University and Integrated Training Solutions of Egypt use only

Creating a Menu

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 14 - Page 30 ONLY. COPYING eKIT MATERIALS FROM THIS THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM COMPUTER IS STRICTLY PROHIBITED

Oracle University and Integrated Training Solutions of Egypt use only

Modifying an Existing Menu Definition

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 14 - Page 31 ONLY. COPYING eKIT MATERIALS FROM THIS THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM COMPUTER IS STRICTLY PROHIBITED

Oracle University and Integrated Training Solutions of Egypt use only

Using Responsibilities

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 14 - Page 32 ONLY. COPYING eKIT MATERIALS FROM THIS THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM COMPUTER IS STRICTLY PROHIBITED

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 14 - Page 33 ONLY. COPYING eKIT MATERIALS FROM THIS THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM COMPUTER IS STRICTLY PROHIBITED

Oracle University and Integrated Training Solutions of Egypt use only

Responsibility Components

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 14 - Page 34 ONLY. COPYING eKIT MATERIALS FROM THIS THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM COMPUTER IS STRICTLY PROHIBITED

Oracle University and Integrated Training Solutions of Egypt use only

Defining a New Responsibility

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 14 - Page 35 ONLY. COPYING eKIT MATERIALS FROM THIS THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM COMPUTER IS STRICTLY PROHIBITED

Oracle University and Integrated Training Solutions of Egypt use only

Sample Menu

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 Formsbased 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 14 - Page 36 ONLY. COPYING eKIT MATERIALS FROM THIS THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM COMPUTER IS STRICTLY PROHIBITED

Oracle University and Integrated Training Solutions of Egypt use only

Dissecting Security – Users

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 14 - Page 37 ONLY. COPYING eKIT MATERIALS FROM THIS THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM COMPUTER IS STRICTLY PROHIBITED

Oracle University and Integrated Training Solutions of Egypt use only

Dissecting Security – Responsibilities

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 14 - Page 38 ONLY. COPYING eKIT MATERIALS FROM THIS THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM COMPUTER IS STRICTLY PROHIBITED

Oracle University and Integrated Training Solutions of Egypt use only

Dissecting Security – Project Settings

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 14 - Page 39 ONLY. COPYING eKIT MATERIALS FROM THIS THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM COMPUTER IS STRICTLY PROHIBITED

Oracle University and Integrated Training Solutions of Egypt use only

Dissecting Security – Menus

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 14 - Page 40 ONLY. COPYING eKIT MATERIALS FROM THIS THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM COMPUTER IS STRICTLY PROHIBITED

Oracle University and Integrated Training Solutions of Egypt use only

Dissecting Security – Menus

Oracle University and Integrated Training Solutions of Egypt use only

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.

Copyright © Oracle Corporation, 2007. All rights reserved.

OA Framework and E-Business Suite Security

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

Oracle University and Integrated Training Solutions of Egypt use only

Dissecting Security – Menus

Hierarchy of Children Click the Expand All link.

Copyright © Oracle Corporation, 2007. All rights reserved.

OA Framework and E-Business Suite Security

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

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 14 - Page 43 ONLY. COPYING eKIT MATERIALS FROM THIS THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM COMPUTER IS STRICTLY PROHIBITED

Oracle University and Integrated Training Solutions of Egypt use only

Dissecting Security – Menus

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 Frameworkbased navigational structure. Home Pages are not reserved strictly to OA Frameworkbased 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 14 - Page 44 ONLY. COPYING eKIT MATERIALS FROM THIS THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM COMPUTER IS STRICTLY PROHIBITED

Oracle University and Integrated Training Solutions of Egypt use only

Key E-Business Suite Menu Terms

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. 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 14 - Page 45 ONLY. COPYING eKIT MATERIALS FROM THIS THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM COMPUTER IS STRICTLY PROHIBITED

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 14 - Page 46 ONLY. COPYING eKIT MATERIALS FROM THIS THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM COMPUTER IS STRICTLY PROHIBITED

Oracle University and Integrated Training Solutions of Egypt use only

Dissecting Security – Standard Menus

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 14 - Page 47 ONLY. COPYING eKIT MATERIALS FROM THIS THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM COMPUTER IS STRICTLY PROHIBITED

Oracle University and Integrated Training Solutions of Egypt use only

Menu: Global Menu

Tabs will vary depending upon the responsibility selected.

Copyright © Oracle Corporation, 2007. All rights reserved.

OA Framework and E-Business Suite Security

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

Oracle University and Integrated Training Solutions of Egypt use only

Menu: Tabs

Subtabs will vary based on the responsibility selected.

Copyright © Oracle Corporation, 2007. All rights reserved.

OA Framework and E-Business Suite Security

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

Oracle University and Integrated Training Solutions of Egypt use only

Menu: Subtabs

Oracle University and Integrated Training Solutions of Egypt use only

Menu: Side Navigation

Copyright © Oracle Corporation, 2007. All rights reserved.

OA Framework and E-Business Suite Security

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

Oracle University and Integrated Training Solutions of Egypt use only

Menu: Task/Property Menu

Copyright © Oracle Corporation, 2007. All rights reserved.

OA Framework and E-Business Suite Security

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

Oracle University and Integrated Training Solutions of Egypt use only

Menu Structures

Copyright © Oracle Corporation, 2007. All rights reserved.

OA Framework and E-Business Suite Security

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

Oracle University and Integrated Training Solutions of Egypt use only

Creating Menus

Copyright © Oracle Corporation, 2007. All rights reserved.

OA Framework and E-Business Suite Security

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

Oracle University and Integrated Training Solutions of Egypt use only

Navigation and Security Separate

Copyright © Oracle Corporation, 2007. All rights reserved.

OA Framework and E-Business Suite Security

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

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 14 - Page 55 ONLY. COPYING eKIT MATERIALS FROM THIS THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM COMPUTER IS STRICTLY PROHIBITED

Oracle University and Integrated Training Solutions of Egypt use only

Introduction to Data Security

Copyright © Oracle Corporation, 2007. All rights reserved.

OA Framework and E-Business Suite Security

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

Oracle University and Integrated Training Solutions of Egypt use only



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.

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 14 - Page 57 ONLY. COPYING eKIT MATERIALS FROM THIS THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM COMPUTER IS STRICTLY PROHIBITED

Oracle University and Integrated Training Solutions of Egypt use only

Data Security Components - Objects

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 14 - Page 58 ONLY. COPYING eKIT MATERIALS FROM THIS THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM COMPUTER IS STRICTLY PROHIBITED

Oracle University and Integrated Training Solutions of Egypt use only

Grants

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 14 - Page 59 ONLY. COPYING eKIT MATERIALS FROM THIS THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM COMPUTER IS STRICTLY PROHIBITED

Oracle University and Integrated Training Solutions of Egypt use only

Permissions and Permission Sets

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 14 - Page 60 ONLY. COPYING eKIT MATERIALS FROM THIS THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM COMPUTER IS STRICTLY PROHIBITED

Oracle University and Integrated Training Solutions of Egypt use only

Data Security Policies

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 14 - Page 61 ONLY. COPYING eKIT MATERIALS FROM THIS THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM COMPUTER IS STRICTLY PROHIBITED

Oracle University and Integrated Training Solutions of Egypt use only

Summary

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 14 - Page 62 ONLY. COPYING eKIT MATERIALS FROM THIS THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM COMPUTER IS STRICTLY PROHIBITED

Chapter 15

Copyright © Oracle Corporation, 2007. All rights reserved.

Deploying OA Framework Applications

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

Oracle University and Integrated Training Solutions of Egypt use only

Deploying 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 15 - Page 2 ONLY. COPYING eKIT MATERIALS FROM THIS THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM COMPUTER IS STRICTLY PROHIBITED

Oracle University and Integrated Training Solutions of Egypt use only

R12 Building OA Framework Applications

Copyright © Oracle Corporation, 2007. All rights reserved.

Deploying OA Framework Applications

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

Oracle University and Integrated Training Solutions of Egypt use only

Objectives

Copyright © Oracle Corporation, 2007. All rights reserved.

Deploying OA Framework Applications

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

MDS Repository Documents The MDS Repository is the database that stores the metadata of your OA Frameworkbased 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 15 - Page 5 ONLY. COPYING eKIT MATERIALS FROM THIS THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM COMPUTER IS STRICTLY PROHIBITED

Oracle University and Integrated Training Solutions of Egypt use only

Storing Personalizations

Oracle University and Integrated Training Solutions of Egypt use only

Directory Structure

Copyright © Oracle Corporation, 2007. All rights reserved.

Deploying OA Framework Applications

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

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 15 - Page 7 ONLY. COPYING eKIT MATERIALS FROM THIS THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM COMPUTER IS STRICTLY PROHIBITED

Oracle University and Integrated Training Solutions of Egypt use only

Directory Structure - Layer Values

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 15 - Page 8 ONLY. COPYING eKIT MATERIALS FROM THIS THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM COMPUTER IS STRICTLY PROHIBITED

Oracle University and Integrated Training Solutions of Egypt use only

Toolset

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 15 - Page 9 ONLY. COPYING eKIT MATERIALS FROM THIS THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM COMPUTER IS STRICTLY PROHIBITED

Oracle University and Integrated Training Solutions of Egypt use only

Functional Administrator Personalization UI

-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 15 - Page 10 ONLY. COPYING eKIT MATERIALS FROM THIS THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM COMPUTER IS STRICTLY PROHIBITED

Oracle University and Integrated Training Solutions of Egypt use only

export.bat / import.bat- Syntax

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 15 - Page 11 ONLY. COPYING eKIT MATERIALS FROM THIS THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM COMPUTER IS STRICTLY PROHIBITED

Oracle University and Integrated Training Solutions of Egypt use only

export.bat/import.bat - Example

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 15 - Page 12 ONLY. COPYING eKIT MATERIALS FROM THIS THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM COMPUTER IS STRICTLY PROHIBITED

Oracle University and Integrated Training Solutions of Egypt use only

Command Line – XMLExporter/XMLImporter

Oracle University and Integrated Training Solutions of Egypt use only

export.bat vs. XMLExporter

Copyright © Oracle Corporation, 2007. All rights reserved.

Deploying OA Framework Applications

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

Oracle University and Integrated Training Solutions of Egypt use only

Import Substitutions – JPXImport.bat

Copyright © Oracle Corporation, 2007. All rights reserved.

Deploying OA Framework Applications

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

-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 15 - Page 15 ONLY. COPYING eKIT MATERIALS FROM THIS THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM COMPUTER IS STRICTLY PROHIBITED

Oracle University and Integrated Training Solutions of Egypt use only

JPXImport.bat - Syntax

Oracle University and Integrated Training Solutions of Egypt use only

Import Substitutions – JPXImporter

Copyright © Oracle Corporation, 2007. All rights reserved.

Deploying OA Framework Applications

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

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 15 - Page 17 ONLY. COPYING eKIT MATERIALS FROM THIS THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM COMPUTER IS STRICTLY PROHIBITED

Oracle University and Integrated Training Solutions of Egypt use only

Inspecting the MDS Repository

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 15 - Page 18 ONLY. COPYING eKIT MATERIALS FROM THIS THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM COMPUTER IS STRICTLY PROHIBITED

Oracle University and Integrated Training Solutions of Egypt use only

JDR_UTILS PL/SQL package APIs

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 15 - Page 19 ONLY. COPYING eKIT MATERIALS FROM THIS THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM COMPUTER IS STRICTLY PROHIBITED

Oracle University and Integrated Training Solutions of Egypt use only

-- --- 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" -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/> -- -- -- <customization/>

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 15 - Page 20 ONLY. COPYING eKIT MATERIALS FROM THIS THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM COMPUTER IS STRICTLY PROHIBITED

Oracle University and Integrated Training Solutions of Egypt use only

-- 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 -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 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 15 - Page 21 ONLY. COPYING eKIT MATERIALS FROM THIS THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM COMPUTER IS STRICTLY PROHIBITED

Oracle University and Integrated Training Solutions of Egypt use only

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: -- p_docid - the ID of the document

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 15 - Page 22 ONLY. COPYING eKIT MATERIALS FROM THIS THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM COMPUTER IS STRICTLY PROHIBITED

Oracle University and Integrated Training Solutions of Egypt use only

--- (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. --- (2) set serveroutput on -- execute jdr_utils.listContents('/', TRUE); -- This will list the contents of the entire repository. -- sub-directories.

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 15 - Page 23 ONLY. COPYING eKIT MATERIALS FROM THIS THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM COMPUTER IS STRICTLY PROHIBITED

Oracle University and Integrated Training Solutions of Egypt use only

-a limitation of the DBMS_OUPUT package). --- Limitations: -- Documents larger than 1000000 bytes will fail as DBMS_OUPUT's maximim -- buffer is 1000000 bytes. --- 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 printTranslations(p_document VARCHAR2, p_language VARCHAR2, 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 15 - Page 24 ONLY. COPYING eKIT MATERIALS FROM THIS THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM COMPUTER IS STRICTLY PROHIBITED

Oracle University and Integrated Training Solutions of Egypt use only

-- set linesize 100 -- execute jdr_utils.printTranslations('/oracle/apps/ak/attributeSets', -'mylanguage', 100);

Oracle University and Integrated Training Solutions of Egypt use only

List the Personalizations Done on a Page

Copyright © Oracle Corporation, 2007. All rights reserved.

Deploying OA Framework Applications

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

The above mentioned command will produce the following output. <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"/>

Copyright © Oracle Corporation, 2007. All rights reserved.

Deploying OA Framework Applications

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

Oracle University and Integrated Training Solutions of Egypt use only

Inspect Personalizations

Copyright © Oracle Corporation, 2007. All rights reserved.

Deploying OA Framework Applications

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

Oracle University and Integrated Training Solutions of Egypt use only

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

Oracle University and Integrated Training Solutions of Egypt use only

Deploying Personalizations

Copyright © Oracle Corporation, 2007. All rights reserved.

Deploying OA Framework Applications

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

Oracle University and Integrated Training Solutions of Egypt use only

Extract the Personalizations – Functional Administrator Page

Copyright © Oracle Corporation, 2007. All rights reserved.

Deploying OA Framework Applications

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

The full Internal Profile Code is FND_PERZ_DOC_ROOT_PATH.

Copyright © Oracle Corporation, 2007. All rights reserved.

Deploying OA Framework Applications

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

Oracle University and Integrated Training Solutions of Egypt use only

Set Personalization Document Root Path

Oracle University and Integrated Training Solutions of Egypt use only

Import/Export Personalizations

Copyright © Oracle Corporation, 2007. All rights reserved.

Deploying OA Framework Applications

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

Oracle University and Integrated Training Solutions of Egypt use only

Extract the Personalizations – Select the Page

Copyright © Oracle Corporation, 2007. All rights reserved.

Deploying OA Framework Applications

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

Oracle University and Integrated Training Solutions of Egypt use only

Extract the Personalizations – Export to File System

Copyright © Oracle Corporation, 2007. All rights reserved.

Deploying OA Framework Applications

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

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 15 - Page 34 ONLY. COPYING eKIT MATERIALS FROM THIS THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM COMPUTER IS STRICTLY PROHIBITED

Oracle University and Integrated Training Solutions of Egypt use only

Upload Personalizations into Production Instance – Functional Administrator Page

Oracle University and Integrated Training Solutions of Egypt use only

Upload Personalizations into Production Instance – Exported Personalizations

Copyright © Oracle Corporation, 2007. All rights reserved.

Deploying OA Framework Applications

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

Oracle University and Integrated Training Solutions of Egypt use only

Upload Personalizations into Production Instance – Import from File System

Copyright © Oracle Corporation, 2007. All rights reserved.

Deploying OA Framework Applications

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

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 15 - Page 37 ONLY. COPYING eKIT MATERIALS FROM THIS THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM COMPUTER IS STRICTLY PROHIBITED

Oracle University and Integrated Training Solutions of Egypt use only

Extensions

Oracle University and Integrated Training Solutions of Egypt use only

OA Page Extensions

Copyright © Oracle Corporation, 2007. All rights reserved.

Deploying OA Framework Applications

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

Oracle University and Integrated Training Solutions of Egypt use only

Deployment of Page Extensions

Copyright © Oracle Corporation, 2007. All rights reserved.

Deploying OA Framework Applications

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

Oracle University and Integrated Training Solutions of Egypt use only

1.Copy .java Classes

Copyright © Oracle Corporation, 2007. All rights reserved.

Deploying OA Framework Applications

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

Oracle University and Integrated Training Solutions of Egypt use only

2. Import Substitutions

Copyright © Oracle Corporation, 2007. All rights reserved.

Deploying OA Framework Applications

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

Oracle University and Integrated Training Solutions of Egypt use only

3. Import OA Component Definitions

Copyright © Oracle Corporation, 2007. All rights reserved.

Deploying OA Framework Applications

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

Oracle University and Integrated Training Solutions of Egypt use only

View The Deployed Extensions

Copyright © Oracle Corporation, 2007. All rights reserved.

Deploying OA Framework Applications

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

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 15 - Page 44 ONLY. COPYING eKIT MATERIALS FROM THIS THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM COMPUTER IS STRICTLY PROHIBITED

Oracle University and Integrated Training Solutions of Egypt use only

BC4J Extensions

Oracle University and Integrated Training Solutions of Egypt use only

Deployment of Business Logic Extensions

Copyright © Oracle Corporation, 2007. All rights reserved.

Deploying OA Framework Applications

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

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 15 - Page 46 ONLY. COPYING eKIT MATERIALS FROM THIS THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM COMPUTER IS STRICTLY PROHIBITED

Oracle University and Integrated Training Solutions of Egypt use only

Summary

Related Documents


More Documents from ""