Skip Headers
Oracle® Fusion Applications Developer's Guide
11
g
Release 6 (11.1.6)
Part Number E15524-11
Home
Book List
Contact Us
Next
PDF
·
Mobi
·
ePub
Contents
Title and Copyright Information
Preface
Audience
Documentation Accessibility
Related Documents
Conventions
What's New in This Guide
New and Changed Features for 11
g
Release 6 (11.1.6)
Other Significant Changes in this Document for 11
g
Release 6 (11.1.6)
New and Changed Features for 11
g
Release 5 (11.1.5)
Part I Getting Started Building Your Oracle Fusion Applications
1
Getting Started with Oracle Fusion Applications
1.1
Overview of Fusion Technologies
1.2
Using Oracle ADF Functional Patterns and Best Practices
2
Setting Up Your Development Environment
2.1
Introduction to the Development Environment
2.1.1
Shared Environment
2.1.2
Personal Environment
2.2
Setting Up the JDeveloper-based Personal Environment
2.2.1
Before You Begin
2.2.1.1
Removing the SCIM Process
2.2.1.2
Increasing Open File Limit on Local Linux Servers
2.2.1.3
Installing JDeveloper
2.2.1.4
Adding Customization Extension Bundles to the jdev.conf File
2.2.1.5
Setting Up the JDeveloper-based Development Environment
2.2.1.6
Using the OWSM_MDS Schema
2.2.1.7
Distributing the fusion_apps_wls.properties and cwallet.sso Files
2.2.2
How to Use the Oracle Fusion Domain Wizard
2.2.2.1
Creating the Properties File for Default Integrated Server
2.2.2.2
Completing the Oracle Fusion Domain Wizard for Standalone Server
2.2.3
How to Start Integrated WebLogic Server
2.2.3.1
Managing Integrated WebLogic Server
2.3
Improving Shared and Personal Environments Performance
2.3.1
How to Create the OWSM_MDS Schema
2.3.1.1
Creating the OWSM_MDS Schema
2.3.2
How to Use Alternate Database Schemas
2.3.3
How to Set Up the Personal Environment for Standalone WebLogic Server
2.3.3.1
Creating a Domain for Standalone WebLogic Server
2.4
Configuring Oracle SOA Suite and Oracle Enterprise Manager Fusion Middleware Control
2.4.1
How to Use the Application Logging Service
2.5
Using Deployment Profiles Settings
2.5.1
How to Use Service Deployments
2.5.2
How to Update the Standard
2.6
Configuring the Oracle Enterprise Scheduler (ESS)
2.6.1
How to Provision the Runtime Environment
2.6.2
How to Create Supporting Database Schema
2.6.3
Post-Installation Checks
2.6.3.1
Verifying the Temp Directory Location and Write Permissions
2.6.3.2
Verifying ESS Artifacts Deployment Targets
2.6.3.3
Checking ESS Health
2.7
Testing Your Installation
2.8
Using Best Practices for Setting Up the Development Environment
2.8.1
How to Implement Best Practices for JDeveloper
2.8.2
How to Refresh the Oracle ADF Library Dependencies Library
2.8.3
How to Manage OutOfMemory Exceptions (PermGen)
2.8.4
How to Work with Oracle ADF Libraries at Design Time
2.9
Configuring Hierarchy Providers for Approval Management (AMX)
3
Setting Up Your JDeveloper Application Workspace and Projects
3.1
Using Technology Scopes
3.2
Provisioning the Application Workspace
3.3
Adding Necessary Libraries to Your Data Model Project
3.4
Adding the Applications Core Tag Library to Your User Interface Project
3.5
Integrating Oracle Fusion Middleware Extensions for Applications (Applications Core) Setup UIs
3.5.1
What You May Need to Know About Setup UIs in Oracle Fusion Functional Setup Manager
3.5.2
How to Integrate Setup UIs into Functional Setup Manager
3.6
Creating a Database Connection
3.7
Adding the Search Navigation Tab to the Overview Editor for Oracle Enterprise Crawl and Search Framework (ECSF)
3.7.1
How to Add the Search Navigation Tab to the Overview Editor
3.7.2
What Happens When You Add the Search Navigation Tab to the Overview Editor
3.8
Overriding the Default Resource Bundle
3.9
Deploying Oracle SOA Suite
3.10
Implementing Oracle Enterprise Scheduler Service Workspace and Deployment
3.10.1
How to Create the SuperEss Project
3.10.2
How to Build the EAR/MAR Profiles
3.10.2.1
Deploying a Project-level Metadata Archive (MAR)
3.10.2.2
Building the EAR Profile
3.10.2.3
Deploying an Oracle Enterprise Scheduler Service Hosting Application
3.11
Implementing Oracle Application Development Framework UI Workspace and Projects
3.11.1
How to Set Up Your Web Project
3.11.1.1
Configuring Your User Interface Project
3.11.2
How to Create the SuperEss Project in the ADF UI Workspace
3.11.3
How to Deploy Your Web Project
Part II Defining Business Services
4
Getting Started with Business Services
4.1
Introduction to Implementing Business Logic
4.1.1
About Entity Objects
4.1.1.1
Standard Business and Validation Logic
4.1.1.2
Specialized Business Functions
4.1.2
About View Objects
4.1.3
About Application Modules
4.2
Understanding Validators
4.3
Understanding List of Values (LOV)
4.4
Understanding Batch Processing
4.5
Understanding Extensibility and Reusability
4.6
Understanding Services
4.7
Using the Declarative Approach
4.7.1
How to Define View Objects Using the Declarative Approach
4.7.1.1
Using Entity Object Based View Objects
4.7.1.2
Utilizing View Criteria
5
Developing Services
5.1
Introduction to Services
5.2
Designing the Service Interface
5.2.1
Identifying Business Objects
5.2.1.1
Business Object Attributes
5.2.2
Identifying Service Operations on the Business Objects
5.2.2.1
Types of Operations
5.2.2.2
Identifying Operations
5.2.2.3
Defining Service Operations - General Guidelines
5.2.3
How to Identify Services
5.2.4
How to Define Service Exceptions and Information
5.2.4.1
Defining Service Exceptions
5.2.4.2
Defining Partial Failure and Bulk Processing
5.2.4.3
Defining Informational Messages
5.3
Developing Services
5.3.1
How to Create Service Data Objects
5.3.1.1
SDO Attributes
5.3.1.2
Parent-Child Relationships
5.3.1.3
Enabling Partial Failure
5.3.1.4
Enabling Support Warnings
5.3.1.5
Defining a List of Values (LOV) to Resolve Foreign Key ID
5.3.2
How to Create Services
5.3.2.1
What You May Need to Know About Design Time
5.3.3
How to Generate Synchronous and Asynchronous Service Methods
5.3.4
How to Expose Flexfields
5.3.5
How to Enable Security
5.3.5.1
Authentication
5.3.5.2
Authorization
5.3.6
Using the Java Transaction API
5.3.6.1
Data Source
5.3.6.2
Transaction Attributes
5.3.7
Deploying Services
5.3.7.1
Service Context Root
5.3.8
Testing Services
5.3.8.1
What to Test
5.3.8.2
How to Test
5.4
Invoking Services
5.4.1
How to Invoke a Synchronous Service
5.4.1.1
Using Service Factory
5.4.1.2
Using Service-Based Entity Object and View Object
5.4.1.3
Using the JAX-WS Client
5.4.1.4
Using SOA
5.4.2
How to Invoke an Asynchronous Service
6
Defining Defaulting and Derivation Logic
6.1
Understanding Entity Object Defaulting and Derivation Logic
6.2
Using Groovy Scripting Language
6.2.1
Keywords and Available Names
6.2.2
Scripting Logic
6.2.3
Groovy Expression Examples
6.2.3.1
Querying Based on the Current Locale
6.2.3.2
Error Message Tokens
6.2.3.3
Expression Validators
6.2.3.4
Attribute Defaulting and Calculation
6.2.4
Defining Expressions at Design Time
6.3
Using Oracle ADF Validators and Convertor Hints
7
Defining and Using Message Dictionary Messages
7.1
Introduction to Message Dictionary Messages
7.2
Understanding Message Types
7.3
Understanding Message Content
7.3.1
About Message Names
7.3.2
About Message Numbers
7.3.3
About Translation Notes
7.3.4
About Message Components
7.3.5
About Tokens
7.4
About Grouping Messages by Category and Severity
7.5
Understanding Incidents and Diagnostic Logs with Message Dictionary
7.6
Using Message Dictionary Messages in Oracle ADF Java Code
7.6.1
How to Raise Exceptions Using Oracle Fusion Middleware Extensions for Applications Exception Classes
7.6.2
How to Retrieve Message Text Programmatically
7.7
Associating Message Dictionary Messages with Oracle ADF Validation Rules
7.7.1
How to Associate Error Messages with Oracle ADF Entity Object Validation Rules
7.8
Raising Error Messages Programmatically in PL/SQL
7.8.1
How to Raise Exceptions Programmatically in PL/SQL
7.8.2
How to Raise Errors in PL/SQL
7.8.3
How to Retrieve Errors when PL/SQL is Called from Java
7.9
Diagnosing Generic System Error Messages
7.10
Formatting Message Dictionary Messages for Display in Oracle ADF Applications
7.10.1
How to Programmatically Convert XML Messages
7.10.2
How to Convert XML Messages by Configuring the Error Format Handler
7.11
Integrating Messages Task Flows into Oracle Fusion Functional Setup Manager
8
Managing Reference Data with SetIDs
8.1
Introduction to SetIDs
8.1.1
Partitioning by SetID
8.1.2
SetID Determinant Types
8.1.3
Understanding SetID Machinery
8.1.3.1
Partitioning Patterns
8.1.3.2
Reference Groups
8.1.3.3
Set Configuration Tables
8.1.3.4
SetID PL/SQL Utilities
8.2
Implementing SetID on Entity Objects
8.2.1
How to Annotate Reference Entity Objects for Sharing
8.2.2
How to Build Entity Associations for All Foreign References
8.2.3
How to Annotate Transactional Entity Objects for SetID
8.2.4
How to Define View Accessors for Shared Reference Entities
8.2.5
How to Define a Key Exists Validator for Shared Reference Entities
8.2.6
How to Create LOVs for Shared Reference Entities
8.3
Integrating SetID Task Flows into Oracle Fusion Functional Setup Manager
9
Using Oracle Fusion Middleware Extensions for Oracle Applications Base Classes
9.1
Introduction to Oracle Fusion Middleware Extensions for Oracle Applications Base Classes
9.2
Using Multi-Language Support Features
9.2.1
Using Utility APIs
9.2.2
How to Create a Multi-Language ADF Business Components Entity Object
9.2.2.1
What You Need to Know About Overrides
9.3
Using WHO Column Features
9.3.1
How to Use the Extension
9.3.2
What Happens with WHO Column at Design Time and Runtime
9.4
Using PL/SQL-Based Entities
9.4.1
How to Use APIs to Facilitate DML Operations
9.4.2
How to Use the Extensions
9.4.3
What Happens with PL/SQL Entities at Design Time and Runtime
9.5
Accessing FND Services
9.5.1
How to Use the Extension
9.6
Using Unique ID
9.6.1
How to Use the Extension
9.6.2
What Happens with Unique ID at Design Time
9.6.3
What Happens with Unique ID at Runtime
9.7
Using Data Security
9.7.1
How to Use the Extension
9.8
Using Document Sequencing
10
Implementing Lookups
10.1
Introduction to Lookups
10.1.1
Overview of Lookups
10.1.2
Standard, Set-Enabled, and Common Lookup Views
10.1.3
Lookup Customization Levels
10.1.3.1
What Happens to Customization Levels at Runtime
10.2
Preparing Entities and Views for Lookups
10.2.1
How to Prepare Custom Lookup Views
10.3
Referencing Lookups
10.3.1
How to Reference Lookups
10.4
Defining Validators for Lookups
10.4.1
How to Define a List Validator
10.4.2
How to Define a Key Exists Validator
10.5
Annotating Lookup Code Reference Attributes for Set-Enabled Lookups
10.6
Integrating Lookups Task Flows into Oracle Fusion Functional Setup Manager
11
Setting Up Document Sequences
11.1
Introduction to Document Sequences
11.2
Defining Document Sequence Categories
11.3
Assigning a Document Sequence
11.4
Striping Document Sequence Assignments
11.5
Defining a Document Sequence Audit Table
11.6
Enabling Document Sequences in ADF Business Components
11.6.1
Using the Document-Sequence Extension
11.6.1.1
What Happens with Document Sequences at Design Time
11.6.1.2
What Happens with Document Sequences at Runtime
11.7
Managing PL/SQL APIs
11.8
Integrating Document Sequence Task Flows into Oracle Fusion Functional Setup Manager
Part III Defining User Interfaces
12
Getting Started with Your Web Interface
12.1
Introduction to Developing a Web Application
12.2
Oracle Fusion Guidelines, Patterns, and Standards
12.3
Basic Building Blocks
12.4
Introduction to the UI Shell
12.5
Applications UI Patterns and Features
13
Implementing the UI Shell
13.1
Introduction to Implementing the UI Shell
13.1.1
Standard Related to the UI Shell
13.1.2
UI Shell Description
13.1.2.1
Global Area Standard Links
13.2
Populating a UI Shell
13.2.1
How to Create a JSF Page
13.2.1.1
Working with the Applications Menu Model
13.2.2
How to Add Default Main Area Task Flows to a Page
13.2.3
How to Add Dynamic Main Area and Regional Area Task Flows to a Page
13.2.3.1
Adding the Tasks List Menu to the Page
13.2.3.2
Grouping Tasks in the Tasks Pane into a Category
13.2.3.3
Linking to a Task Flow in a Different Page
13.2.3.4
Supporting No-Tab Work Areas
13.2.3.5
Implementing the Task Popup
13.2.4
How to Pass Parameters into Task Flows from Tasks List
13.2.5
How to Open Data Files from a Tasks List Link
13.3
Implementing Application Menu Security
13.4
Controlling the State of Main and Regional Area Task Flows
13.4.1
How to Control Main Area Task Flows
13.4.1.1
closeMainTask History
13.4.2
How to Control Regional Area Task Flows
13.4.3
How to Control the State of the Contextual Area Splitter
13.4.4
Sizing Regional Area Panels
13.5
Working with the Global Menu Model
13.5.1
How to Implement a Global Menu
13.5.1.1
Menu Attributes Added by Oracle Fusion Middleware Extensions for Applications (Applications Core)
13.5.1.2
Displaying the Navigator Menu
13.5.1.3
Implementing a Global Menu
13.5.2
How to Set Up Global Menu Security
13.5.2.1
Enforcing User Privileges and Restrictions
13.5.3
How to Create the Navigator Menu
13.5.3.1
Rendering the Navigator Menu as Dropdown Buttons
13.6
Using the Personalization Menu
13.7
Implementing End User Preferences
13.7.1
How to Use Preferences Link Navigation
13.7.2
How to Use the Preferences Work Area Page
13.7.3
How to Deploy Preferences Pages and Design General Preferences Content
13.7.4
How to Configure and Implement End-User Preferences
13.7.4.1
Using the Preferences Menu Model
13.7.4.2
Configuring User Session and ADF Security
13.7.4.3
Retrieving Preference Values and Checking Accessibility Mode by Using an Expression Language Expression
13.7.4.4
Implementing the Password Management Page
13.7.5
How to Use the Most Common Preferences
13.7.5.1
Configuring the Language Preference
13.7.5.2
Configuring the Accessibility Preference
13.7.5.3
Configuring the Regional Preferences
13.8
Using the Administration Menu
13.8.1
How to Secure the Administration Menu
13.9
Using the Help Menu
14
Implementing Search Functions in the UI Shell
14.1
Implementing Tagging Integration
14.1.1
How to Use the Delivered Oracle WebCenter Portal Tagging Components
14.1.1.1
Tagging a Resource (Business Object)
14.1.1.2
Enabling Multiple Navigation Targets
14.1.1.3
Tagging a Resource at the Row Level of a Table
14.1.1.4
Searching for a Tag
14.1.1.5
Resource Viewer for Tagged Items
14.1.2
Implementing Tagging Security
14.1.3
How to Use Tagging in a UI Shell Application
14.2
Implementing Recent Items
14.2.1
How to Choose Labels for Task Flows
14.2.2
How to Call Sub Flows
14.2.2.1
Sub Flow Registration APIs
14.2.2.2
openSubTask API Labels
14.2.2.3
Starting from Recent Items
14.2.3
How to Enable a Sub Flow to Be Bookmarked in Recent Items
14.2.3.1
Implementing the Sub Flow Design Pattern
14.2.4
How to Use Additional Capabilities of the Recent Items openSubTask API
14.2.5
How to Implement Data Security for Recent Items and Favorites
14.2.6
Known Issues
14.3
Implementing the Watchlist
14.3.1
Watchlist Data Model Effects
14.3.2
Watchlist Physical Data Model Entities
14.3.3
Supported Watchlist Items
14.3.3.1
Asynchronous Items Overview: Expense Reports Saved Search
14.3.3.2
Summary of Implementation Tasks
14.3.4
How to Use the Watchlist
14.3.4.1
Making the Watchlist Link in the UI Shell Global Area Work
14.3.4.2
Seed Reference Data (All items)
14.3.4.3
Create a Summary View Object (SEEDED_QUERY)
14.3.4.4
Create Seeded Saved Searches in MDS (SEEDED_SAVED_SEARCH)
14.3.4.5
Creating Application Module and View Objects (All except HUMAN_TASK)
14.3.4.6
Setting Up Service (All except HUMAN_TASK)
14.3.4.7
Importing All Watchlist-Related Application Modules
14.3.4.8
Nesting Watchlist Application Modules
14.3.4.9
Using the refreshWatchlistCategory Method
14.3.4.10
Importing Watchlist JAR Files into the Saved Search Project (USER_SAVED_SEARCH)
14.3.4.11
Promoting Saved Search to the ATK Watchlist (USER_SAVED_SEARCH)
14.3.4.12
Code Task Flows to Accept Parameters (All except HUMAN_TASK)
14.3.4.13
Import Watchlist UI JAR File in User Interface Project
14.3.4.14
Additional Entries for Standalone Deployment
14.4
Implementing Group Spaces
14.4.1
Assumptions
14.4.2
How to Implement Group Spaces
14.4.3
Overview of Group Spaces Functionality
14.4.4
How to Pass a Chromeless Template
14.5
Implementing Activity Streams and Business Events
14.5.1
Introduction to WebCenter Portal Activities
14.5.2
How to Publish Business Events to Activities
14.5.3
How to Publish Activities Using a Programmatic API
14.5.4
How to Implement Activity Streams
14.5.4.1
Defining and Publishing Business Events in JDeveloper
14.5.4.2
Overriding isActivityPublishingEnabled() to Enable Activity Publishing
14.5.4.3
Defining Activity Attributes Declaratively
14.5.5
How to Define Activities
14.5.5.1
Adding the ActivityStream UI Task Flow
14.5.5.2
Defining Activities in the service-definition.xml File
14.5.6
How to Implement Comments and Likes
14.5.7
How to Implement Follow for an Object
14.5.7.1
Defining the Service Category
14.5.7.2
Adding ActivityTypes for Follow and Unfollow
14.5.8
How to Render Contextual Actions in Activity Streams
14.6
Implementing the Oracle Fusion Applications Search Results UI
14.6.1
How to Disable Oracle Fusion Applications Search
14.6.2
How to Use Basic Search
14.6.2.1
Search Results
14.6.3
How to Implement the GlobalSearchUtil API
14.6.3.1
Using the Search API
14.6.3.2
Running the Oracle Fusion Applications Search UI Under Oracle WebLogic Server
14.6.4
Introduction to the Crawled Objects Project
14.6.5
How to Implement Tags in Oracle Fusion Applications Search
14.6.6
How to Use the Actionable Results API with Oracle Fusion Applications Search
14.6.6.1
Implementing the URL Action Type
14.6.6.2
Implementing the Task Action Type
14.6.6.3
Passing Parameters in Oracle Fusion Applications Search
14.6.6.4
Ordering the Other Actions
14.6.6.5
Using Click Path and the Saved Search
14.6.7
How to Integrate Non-Applications Data into Oracle Fusion Applications Search
14.6.7.1
Oracle Business Intelligence Integration
14.6.7.2
Integrating Oracle WebCenter Portal
14.6.7.3
Ensuring Parity of Users
15
Implementing Additional Functions in the UI Shell
15.1
Introducing the Navigate API
15.1.1
How to Use the Navigate API Data Control Method
15.1.2
How to Implement Navigation Across Web Applications
15.2
Warning of Pending Changes in the UI Shell
15.2.1
How to Implement Warning of Pending Changes
15.2.2
How to Suppress Warning of Pending Changes
15.3
Implementing the Oracle Fusion Home Page UI
15.3.1
Supported Behavior
15.3.2
How to Create a Home Page
15.3.3
Getting the URL
15.4
Using the Single Object Context Workarea
15.4.1
Implementation Notes
15.4.1.1
Developer Implementation
15.5
Implementing the Third-Party Component Area
15.5.1
How to Implement the ThirdPartyComponentArea Facet Developer
15.6
Developing an Activity Guide Client Application with the UI Shell
15.7
Troubleshooting UI Shell Issues
15.7.1
ApplSession Is Not Created
15.7.2
Navigator Shows a Little White Box
15.7.3
Navigator Shows Unfiltered Entries
15.7.4
Other Navigation Issues
16
Implementing UIs in JDeveloper with Application Tables, Trees and Tree Tables
16.1
Implementing Applications Tables
16.1.1
Understanding Applications Tables Facets and Properties
16.1.2
How to Create an Applications Table
16.1.2.1
Adding Applications Tables to JSF Pages or Page Fragments
16.1.2.2
Adding Applications Table Components Using the Applications Table Wizard
16.1.3
Introduction to Selected Elements in the Table Property Inspector
16.1.3.1
Common Properties Section
16.1.3.2
Patterns Properties
16.1.3.3
Other Properties
16.1.4
How to Modify Applications Table Components and Properties
16.1.4.1
Adding Data Controls to Tables
16.1.4.2
Working with Table Menus and Icons
16.1.4.3
Increasing Table Width to Fill 100% of Its Container
16.1.4.4
Using an Applications Table with a Query Component
16.1.5
What Happens When You Add an Applications Table
16.2
Implementing the Applications Tree
16.2.1
How to Add an Applications Tree to Your Page
16.2.1.1
Adding the Applications Tree
16.2.1.2
Applications Tree Create Wizard
16.2.1.3
Working with the Applications Tree
16.3
Implementing Applications Tree Tables
16.3.1
How to Add an Applications Tree Table
16.3.1.1
Applications Tree Table Create Wizard
16.3.1.2
Working with the Applications Tree Table
16.4
Using the Custom Wizard with Applications Popups
16.4.1
Creating a Popup
16.4.1.1
How to Add Applications Popups to JSF Pages or Page Fragments
16.4.1.2
How to Add Applications Popup Components Using the Wizard
16.4.2
How to Modify Popup Components and Properties
16.4.2.1
Accessing the Popup on a JSF Page
16.4.2.2
Adding a Data Source to an Existing Popup
16.4.2.3
Adding User-Interface Content to an Existing Popup
16.4.2.4
Adding action and actionListener Methods to the Popup Buttons
17
Implementing Applications Panels, Master-Detail, Hover, and Dialog Details
17.1
Implementing Applications Panels
17.1.1
Overview of Applications Panel Components
17.1.2
How to Create an Applications Panel
17.1.2.1
Adding Applications Panels Using the Applications Panel Wizard
17.1.3
How to Modify Applications Panels Components and Properties
17.1.3.1
Stretching the Applications Panel
17.1.3.2
Accessing the Applications Panel on a JSF Page
17.1.3.3
Editing Applications Panel Properties and Components
17.1.3.4
Adding a Data Source to an Existing Panel
17.1.3.5
Adding User-Interface Content to Applications Panels
17.2
Implementing Applications Master-Detail
17.2.1
Component Structure and Functions
17.2.2
Introduction to Master-Detail Components
17.2.3
How to Create a Master-Detail
17.2.3.1
Adding a Master-Detail to JSF Pages or Page Fragments
17.2.3.2
Adding Master-Details Components Using the Applications Master-Details Wizard
17.2.4
Master-Detail Guidelines for Creating New Records
17.2.4.1
Master-Detail without a Default Primary Key Generator
17.2.4.2
Master-Detail with a Default Primary Key Generator
17.2.4.3
Master-Detail with a Composite Primary Key
17.2.4.4
Any Other Case
17.2.5
How to Modify Master-Detail Components and Properties
17.3
Implementing Hover
17.4
Implementing Applications Dialog Details
17.4.1
How to Add Applications Dialog Details to Your Page
17.4.1.1
Adding Applications Dialog Details
17.4.1.2
Working with the Applications Dialog Details
17.4.1.3
Implementing OK and Cancel Buttons in a Popup
18
Implementing Attachments
18.1
Introduction to Attachments
18.2
Creating Attachments
18.2.1
How to Set Up Your Model Project for Attachments
18.2.2
How to Create Attachment View Links
18.2.3
What Happens When You Create an Attachment View Link
18.2.4
How to Delete the Business Object
18.2.5
How to Assign Categories to the Attachment Entity
18.2.6
How to Create an Attachments Field or an Attachments Table
18.2.7
What Happens When You Implement Attachments
18.2.8
How to Create an Attachments Column in an Applications Table
18.2.9
How to Set Up Required Properties
18.2.10
What Happens at Runtime
18.3
Displaying Attachments for Multiple Entities in the Same Table
18.3.1
How to Configure the Attachments Component to Display Attachments for Multiple Entities
18.4
Configuring the Attachments Component UI
18.5
Working with Attachments Programmatically
18.5.1
Creating New Attachment Types
18.5.2
Retrieving Attachments
18.5.3
Using Attachment Utilities
18.5.4
Implementing Attachments with PL/SQL
18.6
Setting Up Miscellaneous Attachments Features
18.6.1
Custom Actions
18.6.2
Approvals
18.7
Integrating Attachments Task Flows into Oracle Fusion Functional Setup Manager
18.8
Securing Attachments
18.8.1
Attachment Category Data Security
18.8.1.1
How to Set Up Category Data Security
18.8.2
File Sharing
18.8.3
Attachments SaaS
18.9
Using Attachments (Runtime)
18.9.1
How to Use Attachments File-Level Security
18.9.2
How to Update Attachments
18.9.2.1
Attachments Update Functions
18.9.2.2
Determining the Checked Out Status of File and Text-Type Attachments
18.9.2.3
Enabling or Disabling Attachments Update Functions
18.9.3
How to Check Out and Check In File Attachments
19
Organizing Hierarchical Data with Tree Structures
19.1
Introduction to Trees
19.1.1
Understanding Tree Structures, Trees, and Tree Versions
19.2
Configuring the Trees Application Launch Page
19.3
Working with Tree Structures
19.3.1
How to Manage Tree Structure Data Sources
19.3.2
How to Specify Data Source Parameters
19.3.2.1
Implementing Use Cases
19.3.3
How to Search for a Tree Structure
19.3.4
How to Use the Search Field
19.3.5
How to Create a Tree Structure
19.3.6
How to Duplicate a Tree Structure
19.3.7
How to Edit a Tree Structure
19.3.8
How to Delete a Tree Structure
19.3.9
How to Set Tree Structure Status
19.3.10
How to Audit a Tree Structure
19.4
Working with Trees
19.4.1
How to Search for a Tree
19.4.2
How to Create a Tree
19.4.3
How to Duplicate a Tree
19.4.4
How to Edit a Tree
19.4.5
How to Delete a Tree
19.5
Working with Tree Versions
19.5.1
How to Create a Tree Version
19.5.2
How to Add Tree Nodes to a Tree Version
19.5.2.1
How to Configure the Add Tree Node: Specific Values
19.5.2.2
How to Configure the Add Tree Node: Values Within a Range
19.5.2.3
How to Configure the Add Tree Node: Referenced Hierarchy
19.5.2.4
How to Use Drag-and-Drop to Move Nodes
19.5.2.5
How to Add a Node Using a Custom Search UI
19.5.2.6
How to Edit a Tree Node
19.5.3
How to Create a Record for a Data Source
19.5.4
How to Duplicate a Tree Version
19.5.5
How to Edit a Tree Version
19.5.6
How to Perform CRUD Operations on Tree Nodes Using APIs
19.5.7
How to Perform Sub-tree Node Operations Using PL/SQL APIs
19.5.8
How to Set Tree Version Status
19.5.9
How to Audit Trees and Tree Versions
19.5.10
How to Flatten Rows and Columns
19.6
Managing Labels in the Generic Label Data Source
19.6.1
How to Search for a Label
19.6.2
How to Create a Label
19.6.3
How to Edit a Label
19.6.4
How to Delete a Label
19.7
Using the Applications Hierarchy Component to Develop Applications
19.7.1
How to Create a Tree Application
19.7.2
How to Create a Tree Table Application
19.8
Integrating Custom Task Flows into the Applications Hierarchy Component
19.8.1
Registering Custom Task Flows
19.8.2
Creating Custom Task Flows
19.8.2.1
How to Create a Search Task Flow for the Add Node Operation
19.8.2.2
How to Create a Create Task Flow
19.8.2.3
How to Create a Duplicate Task Flow
19.8.2.4
How to Create an Edit Task Flow
19.8.2.5
How to Create a Delete Task Flow
19.9
Using the fnd:hierarchy Property Inspector to Specify Tree Versions
19.10
Using the Expression Builder to Bind TreeCode, TreeStructureCode, and TreeVersionId Properties
19.11
Embedding the Tree Picker Component in a User Interface
19.12
Setting Bind Variables and View Criteria
19.12.1
How to Set Bind Variables and View Criteria
19.13
Using Service APIs to Manage Trees
19.13.1
How to Use TreeStructureService
19.13.2
How to Use TreeService
19.13.3
How to Use TreeNodeService
19.14
Advanced Topics
19.14.1
Using the Tree Data Model
19.14.2
Using PL/SQL APIs
19.14.3
Using Incremental Flattening
19.14.3.1
How to Use FND_TREE_FLATTENING_HISTORY
19.14.3.2
How to Use FND_TREE_LOG
19.14.3.3
How to Use FND_TREE_LOG_PARAMS
19.14.3.4
Flattening Rows
19.14.3.5
Flattening Columns
19.14.4
Using Trees Business Events
19.14.5
Using WLST Commands for Flattening
19.14.5.1
How to Invoke Flattening APIs
19.14.5.2
How to Use flattenAll API
19.14.5.3
How to Use flattenTreeStructure API
19.14.5.4
How to Use flattenTree API
19.14.5.5
How to Use flattenTreeVersion API
19.14.5.6
How to Use forceFlattenTreeVersion API
19.14.6
Understanding XML Report Formats for WLST Commands
20
Working with Localization Formatting
20.1
Introduction to Localization Formatting
20.2
Formatting Currency
20.2.1
How to Format Currency
20.2.1.1
Formatting Currency Values
20.2.1.2
What Happens When You Format Currency
20.2.1.3
What Happens at Runtime: How Currency Is Formatted
20.3
Formatting Numbers
20.3.1
How to Format Numbers
20.3.1.1
Formatting Decimal Numbers
20.3.1.2
Formatting Integer Numbers
20.3.1.3
Formatting ID Numbers
20.3.1.4
How to Format Numbers in Hyperlinks
20.3.1.5
How to Format Percentage Values
20.3.2
What Happens When You Format Numbers
20.3.3
What Happens at Runtime: How Numbers Are Formatted
20.4
Formatting Date and Timestamp Values
20.4.1
How to Format Dates and Timestamp Values
20.4.1.1
Formatting Dates
20.4.1.2
Formatting Current Dates
20.4.1.3
Formatting Timestamp Values
20.4.2
What Happens When You Format Dates and Timestamps
20.4.3
What Happens at Runtime: How Dates and Timestamps Are Formatted
20.4.4
Standards and Guidelines for Formatting Dates and Timestamps
20.5
Formatting Time Zones
20.5.1
How to Format Time Zones
20.5.2
How to Format Invariant Time Zone Values
20.5.3
What Happens When You Format Time Zones
20.5.4
What Happens at Runtime: How Time Zones Are Formatted
20.5.5
Standards and Guidelines
20.6
Formatting Numbers, Currency and Dates Using Localization Expression Language Functions
20.6.1
How to Format Numbers, Currency and Dates Using Expression Language Functions
20.6.1.1
Formatting Numbers Using Expression Language Functions
20.6.1.2
Formatting Currency Using Expression Language Functions
20.6.1.3
Formatting Dates Using Expression Language Functions
20.6.2
What Happens When You Format Numbers, Currency and Dates Using Expression Language Functions
20.6.3
What Happens at Runtime: How Currency, Dates and Numbers and Time Zones are Formatted Using Expression Language Functions
20.7
Implementing Bi-directional Support
20.7.1
How to Implement Bi-directional Support
20.7.1.1
Making Panels and Columns Provide Bi-directional Support
20.7.1.2
Making Images Provide Bi-directional Support
20.8
Supporting Mnemonic Keys
20.8.1
How to Implement Mnemonic Key Support
20.9
Implementing Localization Formatting in ADF Desktop Integration
20.9.1
How to Format Numbers
20.9.1.1
Formatting Numbers
20.9.1.2
What Happens When You Format Numbers
20.9.1.3
What Happens at Runtime: How Numbers Are Formatted
20.9.2
How to Format Currency Values
20.9.2.1
Formatting Currency Values
20.9.2.2
What Happens When You Format Currencies
20.9.2.3
What Happens at Runtime: How Currency Values Are Formatted
20.9.3
How to Format Dates and Timestamp Values
20.9.3.1
Formatting Date and Timestamp Values
20.9.3.2
What Happens When You Format the Date and Timestamp
20.9.3.3
What Happens at Runtime: How Date and Timestamp Are Formatted
20.9.3.4
Honoring Time Zones
20.10
Implementing Localization Formatting in Oracle BI Publisher Reports
20.10.1
How to Format Numbers in a Oracle BI Publisher Report
20.10.2
How to Format Currency Values in Oracle BI Publisher
20.10.3
How to Format Dates and Timestamps in Oracle BI Publisher
20.10.4
How to Honor Time Zones in Oracle BI Publisher
20.11
Implementing Localization Formatting in ADF Data Visualization Components
20.11.1
How to Format Numbers on a Graph
20.11.2
Standards and Guidelines for Formatting Numbers in Graphs
20.11.3
How to Format Currency Values in ADF Data Visualization
20.11.3.1
Formatting Currency Values on a Graph
20.11.3.2
Standards and Guidelines for Formatting Currency Values in Graphs
20.11.4
How to Format Dates and Timestamp Values in ADF Data Visualization
20.11.4.1
Formatting Dates and Timestamp Values on a Graph
20.12
Configuring National Language Support Attributes
20.12.1
Session National Language Support Attributes
20.12.2
Database Session Attributes
20.13
Standards and Guidelines for Localization Formatting
Part IV Developing Applications with Flexfields
21
Getting Started with Flexfields
21.1
Introduction to Flexfields
21.1.1
Descriptive Flexfields
21.1.2
Extensible Flexfields
21.1.3
Key Flexfields
21.1.4
Value Sets
21.1.5
Flexfield Integration with Oracle Business Intelligence
21.2
Participant Roles
21.3
The Flexfield Development Lifecycle
21.4
Flexfields in the Application User Interface
22
Using Descriptive Flexfields
22.1
Introduction to Descriptive Flexfields
22.1.1
Benefits of Descriptive Flexfields
22.1.2
How Descriptive Flexfields Are Modeled in Oracle Application Development Framework
22.2
Developing Descriptive Flexfields
22.2.1
How to Create Descriptive Flexfield Columns
22.2.2
How to Register and Define Descriptive Flexfields
22.2.2.1
Registering and Defining Descriptive Flexfields Using a Registration Task
22.2.2.2
Registering and Defining Descriptive Flexfields Using the Setup APIs
22.2.3
How to Reuse a Descriptive Flexfield on Another Table
22.2.4
How to Register the Reuse of a Descriptive Flexfield
22.2.4.1
Registering the Secondary Usage of a Descriptive Flexfield Using a Registration Task
22.2.4.2
Registering the Secondary Usage of a Descriptive Flexfield Using the Setup APIs
22.2.5
How to Register Entity Details
22.2.5.1
Registering Entity Details Using a Registration Task
22.2.5.2
Registering Entity Details Using the Setup APIs
22.2.6
How to Register Descriptive Flexfield Parameters
22.2.6.1
Registering a Flexfield Parameter Using a Registration Task
22.2.6.2
Registering a Flexfield Parameter Using the Setup APIs
22.3
Creating Descriptive Flexfield Business Components
22.3.1
How to Create Descriptive Flexfield Business Components
22.4
Creating Descriptive Flexfield View Links
22.4.1
How to Create Descriptive Flexfield View Links
22.5
Nesting the Descriptive Flexfield Application Module Instance in the Application Module
22.5.1
How to Nest the Descriptive Flexfield Application Module Instance in the Application Module
22.6
Adding a Descriptive Flexfield View Object to the Application Module
22.6.1
How to Add a Descriptive Flexfield View Object Instance to the Application Module
22.7
Adding Descriptive Flexfield UI Components to a Page
22.7.1
How to Add a Descriptive Flexfield UI Component to a Form
22.7.2
How to Add an Unrestricted Descriptive Flexfield UI Component to a Table
22.7.3
How to Add Descriptive Flexfield Context-Sensitive Segments to a Table as Columns
22.7.4
How to Add Create Row and Delete Row Functionality to the Page
22.7.5
How to Add a Row to an Empty Table in a Custom createInsert Method
22.7.6
How to Dynamically Refresh a Descriptive Flexfield
22.7.7
What Happens When You Add a Descriptive Flexfield to a Page
22.8
Configuring Descriptive Flexfield UI Components
22.8.1
How to Configure Flexfield-Level UI Properties
22.8.2
How to Configure Segment-Level UI Properties
22.8.2.1
Configuring a Context Segment
22.8.2.2
Configuring All Global Segments
22.8.2.3
Configuring Individual Global Segments
22.8.2.4
Configuring All Context-Sensitive Segments
22.8.2.5
Configuring Individual Context-Sensitive Segments
22.8.3
How to Configure Descriptive Flexfield Parameters
22.9
Loading Seed Data
22.10
Working with Descriptive Flexfield UI Programmatically
22.10.1
How to Update a Descriptive Flexfield Programmatically
22.10.2
How to Determine Whether Descriptive Flexfield Segments Have Been Defined
22.10.3
How to Configure a Descriptive Flexfield to Handle Value Change Events
22.11
Incorporating Descriptive Flexfield into a Search Form
22.11.1
How to Incorporate Descriptive Flexfields Into a Search Form
22.12
Preparing Descriptive Flexfield Business Components for Oracle Business Intelligence
22.12.1
How to Enable a Descriptive Flexfield for Oracle Business Intelligence
22.12.2
How to Flatten the Descriptive Flexfield Model for a Business Intelligence-Enabled Descriptive Flexfield
22.13
Publishing Descriptive Flexfields as Web Services
22.13.1
How to Expose a Descriptive Flexfield as a Web Service
22.13.2
How to Test the Web Service
22.14
Accessing Descriptive Flexfields from an ADF Desktop Integration Excel Workbook
22.14.1
How to Configure ADF Desktop Integration with a Dynamic Column Descriptive Flexfield
22.14.2
How to Handle User-Initiated Context Value Changes in a Dynamic Column Descriptive Flexfield
22.14.3
How to Configure ADF Desktop Integration with a Static Column Descriptive Flexfield
22.14.4
How to Handle Updating or Inserting of a Descriptive Flexfield Data Row
23
Using Extensible Flexfields
23.1
Introduction to Extensible Flexfields
23.1.1
Understanding Extensible Flexfields
23.1.1.1
About Contexts (Attribute Groups)
23.1.1.2
Context-Sensitive Segments
23.1.1.3
About Logical Pages
23.1.1.4
About Categories
23.1.1.5
About Category Hierarchies
23.1.1.6
About Usages (Data Levels)
23.1.2
The Benefits of Extensible Flexfields
23.1.3
Extensible Flexfield Structure and Content
23.2
Overview of Integrating Extensible Flexfields in an Application
23.3
Creating Extensible Flexfield Data Tables
23.3.1
How to Create a Base Extension Table
23.3.2
How to Create a Translation Extension Table
23.3.3
How to Create a Translation Extension View
23.4
Registering Extension Tables as Secured Objects
23.4.1
How to Register a Table as a Secured Object
23.5
Defining and Registering Extensible Flexfields
23.5.1
How to Register Extensible Flexfields
23.6
Defining and Registering Extensible Flexfield Business Components
23.6.1
How to Create and Configure Extensible Flexfield Entity Objects
23.6.1.1
Creating and Configuring an Entity Object from the Base Extension Table
23.6.1.2
Creating and Configuring an Entity Object from the Translation Extension Table
23.6.1.3
Creating and Configuring an Entity Object from the Translation Extension View
23.6.2
How to Configure the EFF_LINE_ID Attribute as a Unique ID
23.6.3
How to Create and Configure Extensible Flexfield View Objects
23.6.3.1
Creating and Configuring Context View Objects
23.6.3.2
Creating and Configuring the Base Category View Object
23.6.3.3
Creating a Declarative SQL-Based View Object to Enable Searching
23.6.4
How to Configure an Extensible Flexfield Application Module
23.6.5
How to Register Extensible Flexfield Business Components
23.7
Employing an Extensible Flexfield on a User Interface Page
23.7.1
How to Expose the Logical Pages and Contexts Associated with One Extensible Flexfield Usage
23.7.1.1
Creating a Task Flow for a Single Extensible Flexfield Usage
23.7.1.2
Adding the Task Flow to the UI Page
23.7.1.3
Rendering the Page
23.7.2
How to Expose the Complete Set of an Extensible Flexfield's Usages, Logical Pages, and Associated Contexts
23.7.2.1
Creating the Task Flows
23.7.2.2
Creating the Fragments
23.7.2.3
Using the Task Flows in the Page
23.7.3
How to Expose One Logical Page and Its Contexts
23.7.4
How to Expose One Extensible Flexfield Context
23.8
Loading Seed Data
23.9
Customizing the Extensible Flexfield Modelers
23.9.1
How to Customize the Runtime Business Component Modeler for Extensible Flexfields
23.9.2
How to Customize the Runtime User Interface Modeler for Extensible Flexfields
23.9.2.1
Creating the Customizer Wrapper Class
23.10
Testing Flexfields
23.11
Making Extensible Flexfields Available to Web Services
23.11.1
How to Make an Extensible Flexfield Available to Web Services
23.12
Accessing Information About Extensible Flexfield Business Components
23.12.1
How to Access Information About Extensible Flexfield Business Components
24
Using Key Flexfields
24.1
Introduction to Key Flexfields
24.1.1
Benefits of Key Flexfields
24.1.2
How Key Flexfields Are Modeled in Oracle Application Development Framework
24.1.3
Secondary Usage Feature
24.1.4
Participant Roles
24.1.5
Completing the Key Flexfield Development Process
24.1.5.1
Maintenance Mode and Dynamic Combination Insertion
24.1.5.2
Cross-Validation Rules and Custom Validation
24.1.5.3
Understanding the Key Flexfield Producer Development Tasks
24.1.5.4
Understanding the Key Flexfield Consumer Development Tasks
24.2
Completing the Producer Tasks for Key Flexfields
24.2.1
How to Develop Key Flexfields
24.2.1.1
Creating the Combinations Table
24.2.1.2
Creating Foreign Key Columns to Enable the Use of Flexfield Combinations on Application Pages
24.2.1.3
Including Segment Columns in Secondary Tables
24.2.1.4
Creating Filter Columns
24.2.1.5
Registering and Defining Key Flexfields Using the Setup APIs
24.2.1.6
What You May Need to Know About the Key Flexfield Setup API
24.2.1.7
Enabling Multiple Structure, Multiple Structure Instance, and Data Set Features
24.2.1.8
Reusing Key Flexfield Segments in Another Table
24.2.1.9
Registering Entity Details Using the Setup APIs
24.2.2
How to Implement Key Flexfield Segment Labels
24.2.2.1
Defining Key Flexfield Segment Labels
24.2.2.2
Using Value Attributes
24.2.3
How to Implement Cross-Validation Rules and Custom Validation
24.2.3.1
Implementing Cross-Validation Rules
24.2.3.2
Implementing Custom Validation
24.2.4
How to Create Key Flexfield Business Components
24.2.4.1
Building a Writable Maintenance Model
24.2.4.2
Enabling Dynamic Combination Insertion
24.2.4.3
Building a Read-Only Reference Model
24.2.5
How to Share Key Flexfield Business Components
24.2.5.1
Creating an ADF Library JAR File
24.2.5.2
Importing Business Components from an ADF Library
24.2.6
How to Build a Key Flexfield Maintenance User Interface
24.2.6.1
Building a Key Flexfield Code-Combination Maintenance Page
24.2.6.2
Ensuring Proper Handling of New Rows
24.2.7
What Happens at Runtime: Creating New Combinations
24.3
Completing the Consumer Tasks for Key Flexfields in Reference Mode
24.3.1
How to Create Key Flexfield View Links
24.3.2
How to Nest an Instance of the Key Flexfield Application Module in the Product Application Module
24.3.3
How to Add an Instance of a Key Flexfield View Object to the Product Application Module
24.4
Employing Key Flexfield UI Components on a Page
24.4.1
How to Employ a Key Flexfield Component on a Page
24.4.1.1
Adding Key Flexfield UI Components to a Form or a Table
24.4.1.2
Ensuring Proper Handling of New Rows
24.4.1.3
Ensuring Proper Updating of Reference Mode SIN values in an ADF Form or ADF Applications Table
24.4.1.4
Ensuring Proper Updating of Secondary Mode SIN Values in an ADF Form
24.4.1.5
Dynamically Refreshing Segments on a Code-Combination Maintenance Page or Secondary Usage Segments
24.4.1.6
What Happens When You Add a Key Flexfield to a Page
24.4.2
How to Incorporate Key Flexfields into a Query Search Form
24.4.2.1
Setting Up the Business Component Model Layer
24.4.2.2
Creating the Query Search Form
24.4.3
How to Configure Key Flexfield UI Components
24.4.3.1
Configuring Flexfield-Level User Interface Properties
24.4.3.2
Configuring Label-Based Segment UI Properties
24.4.3.3
Configuring Secondary Usage UI Properties
25
Using the Advanced Features of Key Flexfields
25.1
Introduction to Advanced Features of Key Flexfields
25.2
Using Key Flexfield Advanced Features in Reference Mode
25.2.1
How to Define Code Combination Constraints
25.2.1.1
Creating a View Accessor to Define a Code Combination Constraint
25.2.1.2
Constraining Code Combinations by an Extra WHERE Clause
25.2.1.3
Constraining Code Combinations by Validation Date
25.2.1.4
Constraining Code Combinations by Validation Rules
25.2.1.5
Enabling or Disabling Dynamic Combination Creation for a Specific Usage
25.2.2
How to Access Segment Labels Using the Java API
25.2.3
How to Prepare Key Flexfield Business Components for Oracle Business Intelligence
25.2.3.1
Enabling a Key Flexfield for Oracle Business Intelligence
25.2.3.2
Producing a Flattened Model for a Business Intelligence-Enabled Key Flexfield
25.2.4
How to Publish Key Flexfield Application Modules as Web Services
25.2.4.1
Exposing a Key Flexfield Application Module as a Web Service
25.2.4.2
Testing the Web Service
25.2.5
How to Access Key Flexfields from an ADF Desktop Integration Excel Workbook
25.2.5.1
Configuring ADF Desktop Integration with a Dynamic Column Key Flexfield
25.2.5.2
Handling User-Initiated Structure Code Value Changes in a Dynamic Column Key Flexfield
25.2.5.3
Configuring ADF Desktop Integration with a Static Column Key Flexfield
25.2.5.4
Handling Update or Insert of a Key Flexfield Data Row
25.3
Completing the Development Tasks for Key Flexfields in Secondary Mode
25.3.1
How to Register a Key Flexfield All-Segment Secondary Usage
25.3.2
How to Register a Key Flexfield Single-Segment Secondary Usage
25.3.3
How to Create Key Flexfield Business Components for Secondary Usage
25.3.4
How to Create Key Flexfield View Links for a Secondary Usage
25.4
Working with Code-Combination Filters for Key Flexfields
25.4.1
How to Use Standard Combination Filters
25.4.2
How to Use Code-Combination Filters for Oracle BI Publisher Reports
25.4.3
How to Use Cross-Validation Filters
25.4.4
How to Prepare the Database for Standard Code-Combination Filters
25.4.5
How to Add Code-Combination Filters to Your Application
25.4.5.1
Creating a Filter Entity Object for a Standard Filter
25.4.5.2
Creating a Filter View Object
25.4.5.3
Associating Code-Combination Filters with Key Flexfields
25.4.5.4
Configuring, Deploying, and Testing Code-Combination Filters
25.4.6
How to Employ Code-Combination Filters on an Application Page
25.4.6.1
Adding Your Key Flexfield Filter to an Application Page
25.4.6.2
What Happens When You Add a Filter-Repository Filter to an Application Page
25.4.7
How to Create Code-Combination Filter Definitions for Testing
25.4.8
How to Apply Code-Combination Filters Using the PL/SQL Filter APIs
25.4.8.1
Applying Standard Filters Using the WHERE Clause API
25.4.8.2
Applying Repository Filters for Oracle Enterprise Scheduler Service
25.4.9
How to Remove Code-Combination Filters from Your Application
25.4.10
How to Remove Filters from the Filter Repository
26
Testing and Deploying Flexfields
26.1
Introduction to Testing and Deploying Flexfields
26.2
Deploying and Running the Flexfield Configuration User Interface
26.2.1
How to Deploy and Run the ApplCore Setup Application to Integrated WebLogic Server
26.3
Configuring Flexfields
26.3.1
How to Configure Flexfields for Testing
26.4
Testing Flexfields in Integrated WebLogic Server
26.4.1
How to Make Flexfields Available for Testing
26.4.2
How to Test Flexfields in Integrated WebLogic Server
26.5
Deploying Flexfields in a Standalone WebLogic Server Environment
26.5.1
How to Package a Flexfield Application for Deployment
26.5.1.1
Enabling the Flexfield Packaging Plugin
26.5.1.2
Generating an EAR File for the Application
26.5.2
How to Deploy a Flexfield Application
26.5.2.1
Creating an MDS Partition
26.5.2.2
Mapping the EAR File to the MDS Partition
26.5.2.3
Mapping the ApplCore Setup Application to the MDS Partition
26.5.2.4
Including Product Application Model Libraries in the ApplCore Setup EAR File
26.5.2.5
Deploying the Product and Setup Applications to the Server Domains
26.5.2.6
Priming the MDS Partition with Configured Flexfield Artifacts
26.6
Using the WLST Flexfield Commands
26.6.1
How to Prepare Your Environment to Use the WLST Flexfield Commands
26.6.2
How to Prepare Your Environment to Use the deployFlexForApp Command
26.7
Regenerating Flexfield Business Components Programmatically
26.8
Integrating Flexfield Task Flows into Oracle Fusion Functional Setup Manager
Part V Using Oracle Enterprise Crawl and Search Framework
27
Getting Started with Oracle Enterprise Crawl and Search Framework
27.1
Introduction to Using Oracle Enterprise Crawl and Search Framework
27.1.1
ECSF Architecture
27.1.1.1
Searchable Object Manager
27.1.1.2
Search Designer
27.1.1.3
Semantic Engine
27.1.1.4
Fusion Applications Control
27.1.1.5
ECSF Command Line Administration Utility
27.1.1.6
Security Service
27.1.1.7
Data Service
27.1.1.8
Query Service
27.1.1.9
Oracle SES Search Engine
27.1.1.10
Security Plug-in
27.1.1.11
Crawler Plug-in
27.2
Setting Up and Running ECSF Command Line Administration Utility
27.2.1
How to Make Searchable Objects Accessible to the ECSF Command Line Administration Utility
27.2.2
How to Set the Class Path
27.2.2.1
Setting the Class Path in Windows
27.2.2.2
Setting the Class Path in Linux
27.2.3
How to Set the Connection Information
27.2.3.1
Setting the Connection Information in Windows
27.2.3.2
Setting the Connection Information in Linux
27.2.4
How to Manually Connect to the Oracle Fusion Applications Database
27.2.5
How to Provide the Path of the JPS Config File
27.2.6
How to Configure the Log Settings
27.2.7
How to Automate the ECSF Command Line Administration Utility
27.3
Setting Up Oracle Enterprise Manager and Discovering ECSF
27.3.1
How to Register the ECSF Runtime MBean to the Integrated WebLogic Server
27.3.1.1
Adding the MBean listener to web.xml
27.3.1.2
Creating the Application EAR File for Deployment
27.3.1.3
Configuring Data Sources in Oracle WebLogic Server
27.3.1.4
Deploying the ECSF Application Using the EAR File
27.3.1.5
Starting the Oracle WebLogic Server Instance
27.3.2
How to Install Oracle Enterprise Manager
27.3.3
How to Discover ECSF in Oracle Enterprise Manager
27.3.4
How to Add Users to the Administrators Group
28
Creating Searchable Objects
28.1
Introduction to Creating Searchable Objects
28.2
Defining Searchable Objects
28.2.1
How to Use Groovy Expressions in ECSF
28.2.1.1
Referencing View Object Attributes as Variables
28.2.1.2
Referencing Child View Object Attributes
28.2.1.3
Referencing View Object Attributes in Multilevel Searchable Objects
28.2.1.4
Formatting View Object Attribute Values
28.2.2
What Happens When You Use Groovy Expressions in ECSF
28.2.3
How to Make View Objects Searchable
28.2.3.1
Setting Search Property Values for View Objects
28.2.3.2
Using the Select Primary Table Dialog
28.2.3.3
Using the Search PlugIn Dialog
28.2.4
What Happens When You Make View Objects Searchable
28.2.5
What You May Need to Know About Making View Objects Searchable
28.2.6
How to Make View Object Attributes Searchable
28.2.6.1
Making View Object Attributes Searchable
28.2.6.2
Modifying Searchable Attributes
28.2.6.3
Deleting Searchable Attributes
28.2.7
What Happens When You Define Searchable Attributes
28.2.8
What You May Need to Know About Defining Searchable Attributes
28.2.9
What You May Need to Know about Preventing Conflicts with Oracle SES Default Search Attributes
28.2.10
What You May Need to Know About Preventing Search Attribute Naming Conflicts
28.2.10.1
Checking for Stored Attribute Conflicts
28.3
Securing Searchable Objects
28.3.1
How to Set Permissions for Searchable Objects
28.3.2
How to Create the Security Realm
28.3.3
How to Create the Application Policy Store
28.4
Configuring Search Features
28.4.1
How to Define Search Result Actions
28.4.1.1
Access URL
28.4.1.2
Redirect Service
28.4.1.3
Adding Search Result Actions
28.4.1.4
Defining Properties for Bounded Task Flows
28.4.1.5
Modifying Search Result Actions
28.4.1.6
Deleting Search Result Actions
28.4.2
What Happens When You Define Search Result Actions
28.4.3
What You May Need to Know About Defining Search Result Actions
28.4.4
How to Implement Faceted Navigation
28.4.4.1
Defining Lists of Values
28.4.4.2
Constraining View Objects by Stored Attributes
28.4.4.3
Creating Search Facets
28.4.4.4
Defining a Facet to Use a Child View Object Attribute
28.4.4.5
Using the Select Text Resource Dialog to Select a Matching Text Resource
28.4.4.6
Using the Select Text Resource Dialog to Create and Select a New Text Resource
28.4.4.7
Modifying Search Facets
28.4.4.8
Deleting Root Search Facets
28.4.4.9
Deleting Child Search Facets
28.4.4.10
Defining Facets That Support Ranges
28.4.4.11
Defining Derived Facets
28.4.5
What Happens When You Implement Faceted Navigation
28.4.6
What You May Need to Know About Implementing Faceted Navigation
28.5
Configuring Custom Properties for Searchable Objects
28.5.1
How to Modify Default Runtime Behavior of Searchable Objects
28.5.2
How to Make Searchable Objects Public
29
Configuring ECSF Security
29.1
Introduction to Configuring ECSF Security
29.2
Securing ECSF Credentials
29.2.1
How to Add the Permission Policy
29.2.2
How to Configure Application Identities for Search
29.2.2.1
Setting the SearchContext to FusionSearchContextImpl
29.2.2.2
Creating the Application Identities
29.2.2.3
Adding the Permission Policy for the Application Identities
29.3
Authorizing Users for Search Feeds
29.4
Securing the Searchable Application Data
29.4.1
How to Secure the Searchable Application Data
30
Validating and Testing Search Metadata
30.1
Introduction to Validating and Testing Search Metadata
30.2
Validating the Search Metadata
30.2.1
How to Validate Search Metadata
30.3
Testing Searchable Objects Through a Web Browser
30.3.1
How to Run the ECSF Feed Servlet
30.3.2
How to Test the Config Feed
30.3.3
How to Test the Control Feed
30.3.4
How to Test the Data Feed
30.3.5
How to Reset the State of the Feeds
31
Deploying and Crawling Searchable Objects
31.1
Introduction to Deploying and Crawling Searchable Objects
31.2
Deploying Searchable Objects and Dependencies
31.2.1
How to Deploy the ECSF Shared Library to Oracle WebLogic Server
31.2.1.1
Updating the SearchDB Data Source
31.2.1.2
Deploying the ECSF Shared Library to the Standalone WebLogic Server Instance
31.2.2
How to Create an Application
31.2.3
How to Change the Application Name and Context Root of the View-Controller Project
31.2.4
How to Modify the Run Configuration of the View-Controller Project
31.2.5
How to Add the ECSF Runtime Server Library and Required Java Archive Files to the Model and View-Controller Projects
31.2.6
How to Deploy the ECSF Application
31.3
Crawling Searchable Objects
31.3.1
How to Verify the Crawl
32
Advanced Topics for ECSF
32.1
Introduction to Advanced Topics for ECSF
32.2
Enabling Search on Fusion File Attachments
32.2.1
How to Make File Attachments Crawlable
32.3
Enabling Search on WebCenter Tags
32.3.1
How to Add Tags to Indexable Documents
32.3.2
How to Add Tags for Querying
32.3.3
How to Modify Tags in Indexable Documents
32.3.4
How to Register Change Listeners
32.4
Enabling Search on Tree Structure-based Source Systems
32.4.1
How to Crawl Tree Structures
32.4.1.1
Creating a Searchable Object
32.4.1.2
Implementing a Crawlable Tree Node
32.4.1.3
Extending AbstractTreeWalker
32.4.1.4
Implementing Security
32.4.1.5
Implementing the Attachments Interface
32.4.1.6
Deploying and Starting the ECSF Servlet
32.4.1.7
Configuring Oracle SES to Crawl ECSF
32.4.2
How to Integrate Search Functionality for Tree Structures
32.4.2.1
Setting the Configuration
32.4.2.2
Using the Configuration Interface
32.4.2.3
Using the AbstractConfiguration Class
32.4.2.4
Implementing Searchable Object Classes
32.4.2.5
Extending AbstractConfiguration
32.5
Managing Recent Searches
32.5.1
How to Use the RecentSearchManager API
32.5.2
How Recent Searches Are Processed
32.6
Setting Up Federated Search
32.6.1
How to Create the SearchDB Connection on Oracle WebLogic Server Instance
32.6.2
How to Update the Application Deployment Profile with the Target Directory for Searchable Objects
32.6.3
How to Update the Application to Reference the ECSF Service Shared Library
32.6.4
How to Add the ECSF Runtime Library
32.6.5
How to Set the System Parameter for Web Service
32.6.5.1
Setting the System Parameter in Java System Properties
32.6.5.2
Setting the System Parameter in the ecsf.properties File
32.6.6
How to Package and Deploy the Search Application
32.6.6.1
Running the ant Targets from the Command Line
32.6.6.2
Running the ant Targets from Oracle JDeveloper
32.6.7
How to Update the Search Application with New Searchable Objects or Dependencies
32.6.8
How to Set Up the ECSF Client Application for Federation
32.6.8.1
Adding Encryption Keys to cwallet.sso and default-keystore.jks
32.6.8.2
Adding the Keystore to jps-config.xml
32.6.8.3
Creating the Proxy User
32.6.8.4
Updating connections.xml
32.6.9
How to Set the SearchContext Scope to GLOBAL
32.6.10
How to Integrate Federation Across Oracle Fusion Applications Product Families
32.7
Federating Oracle SES Instances
32.8
Raising Change Events Synchronously
32.9
Using the External ECSF Web Service for Integration
32.9.1
Web Service Methods
32.9.2
ECSF Web Service WSDL and XSD
32.9.3
Web Service Request XSDs and XMLs
32.9.3.1
SavedSearch Request XSD
32.9.3.2
QueryMetaData Request XSD
32.9.3.3
engineInstanceRequest Request XSD
32.9.4
Web Service Response XSDs
32.9.4.1
getSavedSearch()
32.9.4.2
getSavedSearches()
32.9.4.3
saveSearch()
32.9.4.4
deleteSearch()
32.9.4.5
getSavedSearchDetails
32.9.4.6
search()
32.9.4.7
getEngineInstances()
32.9.5
How to Invoke the ECSF Web Service
32.9.5.1
Creating a JAX-WS Web Service Proxy
32.9.5.2
Modifying the AppModuleSearchServiceSoapHttpPortClient Class
32.10
Localizing ECSF Artifacts
32.10.1
How to Translate Strings in Groovy Expressions
32.10.1.1
Associating Resource Bundles to View Objects
32.10.1.2
Using the format() Function in Groovy Expressions
32.10.1.3
Associating Translated Labels to Attributes
32.10.1.4
Using the getLabel() function in Groovy Expressions
32.10.2
How to Localize Facet Display Names
32.10.2.1
Configuring LOVs for Localization Using the VL Table
32.10.2.2
Configuring LOVs for Localization Using the Resource Bundles
32.10.3
How to Localize Crawl Management Display Names
32.10.4
How to Localize Crawlable Dynamic Content
32.10.5
How to Localize Crawlable Template Content
32.10.6
How to Determine Locale
32.10.6.1
Search Page
32.10.6.2
ECSF Command Line Administration Utility
32.10.6.3
Crawl
32.10.6.4
Query
32.11
Using ECSF Diagnostics
32.11.1
Query Tests
32.11.1.1
Simple Query
32.11.1.2
Searchable Object Metadata
32.11.1.3
Searchable Groups
32.11.1.4
Advanced Query (Protected)
32.11.2
Crawl Tests
32.11.2.1
Crawl Searchable Object
32.11.2.2
SES Instance
32.11.2.3
Control Feed
32.11.2.4
Data Feed (Protected)
32.11.3
Environment and Configuration Information
32.11.3.1
Configuration Parameters
32.11.3.2
Environment Information
32.11.3.3
Data Source
32.11.3.4
Application Extension/ApplCore Session Locale (Protected)
32.11.4
Security
32.11.4.1
Security (Protected)
32.11.4.2
Credential Store
32.11.4.3
Security Plugin (Protected)
32.12
Troubleshooting ECSF
32.12.1
Problems and Solutions
32.12.1.1
Cannot Remove the ECSF Runtime Server Library
32.12.1.2
Cannot See Data in Data Feeds
32.12.1.3
Configuration or Data Feed Execution Thread Is Busy for Longer than the Configured Warning Timeout
32.12.1.4
Class Not Found Errors When Running the ECSF Servlet
32.12.1.5
Out of Memory Error when Deploying the ECSF Application to Oracle WebLogic Server or Running the Application
32.12.1.6
Blank Oracle ADF/UI Shell Pages
32.12.1.7
Memory Leak on ThreadLocal Variable (SearchContext)
32.12.1.8
How to Check the Space Availability for SES Crawls in the Database
32.12.1.9
How to Crawl with a Different User
32.12.1.10
"FND-6601 Search categories are not available"
32.12.1.11
"FND-6603 Search is not currently available"
32.12.1.12
"FND-6606 An application error occurred with this search"
32.12.1.13
Query Does Not Return Search Results but No Errors Are Displayed on the UI
32.12.1.14
FUSION_RUNTIME.FND_TABLE_OF_VARCHAR2_4000 Exception on Schedules
32.12.1.15
Where Can I Find the SES-ESS Crawler Logs?
32.12.1.16
My Crawls Are Failing
32.12.1.17
How to Get the Password for the SES Administration Page
32.12.2
Diagnosing ECSF Problems
Part VI Common Service Use Cases and Design Patterns
33
Initiating a SOA Composite from an Oracle ADF Web Application
33.1
Introduction to the Recommended Design Pattern
33.2
Other Approaches
33.3
Example
33.4
How to Initiate a BPEL Process Service Component from an Oracle ADF Web Application
33.5
Alternative Approaches
33.5.1
Using the Java Event API to Publish Events
33.5.2
Using a JAX-WS Proxy to Invoke a Synchronous BPEL Process
33.6
Securing the Design Pattern
33.6.1
Running the Mediator as an Event Publisher
33.6.2
Securing Event-Driven Applications
33.7
Verifying the Deployment
33.7.1
How to Verify the Deployment
33.7.2
How to Test EDN Functionality from the Command Line
33.7.2.1
SendEvent
33.7.2.2
BusinessEventConnectionFactorySupport
33.8
Troubleshooting the Use Case
33.8.1
Deployment
33.8.2
Runtime Errors
33.9
What You May Need to Know About Initiating a SOA Composite from an Oracle ADF Web Application
33.10
Known Issues and Workarounds
34
Initiating a SOA Composite from a PL/SQL Stored Procedure
34.1
Introduction to the Recommended Design Pattern
34.2
Other Approaches
34.3
Example
34.4
How to Invoke a SOA Composite Application Component Using PL/SQL
34.5
Securing the Design Pattern
34.6
Verifying the Deployment
34.6.1
Testing and Deploying the Use Case
34.6.2
Verifying the SOA Composite Deployment Using Oracle Enterprise Manager Fusion Middleware Control Console
34.7
Troubleshooting the Use Case
34.8
What You May Need to Know About Initiating a SOA Composite from a PL/SQL Stored Procedure
34.9
Known Issues and Workarounds
35
Orchestrating ADF Business Components Services
35.1
Introduction to the Recommended Design Pattern
35.2
Other Approaches
35.3
Example
35.4
How to Invoke an ADF Business Components Service from a BPEL Process Service Component
35.5
Securing the Design Pattern
35.6
Verifying the Deployment
35.7
Troubleshooting the Use Case
35.8
What You May Need to Know About Orchestrating ADF Business Components Services
36
Manipulating Back-End Data from a SOA Composite
36.1
Introduction to the Recommended Design Pattern
36.2
Example
36.3
How to Manipulate Data from a BPEL Process Service Component
36.4
Securing the Design Pattern
36.5
Verifying the Deployment
36.6
Troubleshooting the Use Case
36.7
What You May Need to Know About Manipulating Back-end Data from a SOA Composite
36.7.1
When Entity Variables Flush Changes Back to ADF Business Components
36.7.2
Support for XPath Operations
36.7.3
Invoking an ADF Business Components Service and Entity Variables in the Same BPEL Process Service Component
37
Accessing a PL/SQL Service from a SOA Composite
37.1
Introduction to the Recommended Design Pattern
37.2
Other Approaches
37.3
Example
37.4
How to Invoke a PL/SQL Stored Procedure from a SOA Composite Application
37.5
Securing the Design Pattern
37.6
Verifying the Deployment
38
Invoking Custom Java Code from a SOA Composite
38.1
Introduction to the Recommended Design Pattern
38.2
Other Approaches
38.3
Example
38.4
How to Invoke a Java Class from a SOA Composite Application
38.5
Securing the Design Pattern
38.6
Verifying the Deployment
38.7
Troubleshooting the Use Case
38.8
What You May Need to Know About Invoking Custom Java Code from a SOA Composite
39
Managing Tasks from an Oracle ADF Application
39.1
Introduction to the Recommended Pattern
39.2
Other Approaches
39.3
Example
39.4
How to Manage a Human Task Flow from an ADF Application
39.5
Other Approaches
39.6
Securing the Design Pattern
39.7
Verifying the Deployment
39.8
Troubleshooting the Use Case
39.8.1
Worklist Notification Locale Does Not Honor the Regional Applications Session Setting
39.8.2
Task Does Not Display in Worklist Application
39.8.3
Task Details Do Not Display in the ADF Task Flow
39.8.4
Logging
39.8.4.1
Workflow Logging
39.8.4.2
ADF Task Flow Logging
39.9
What You May Need to Know About Managing Tasks from an ADF Application
40
Working with Data from a Remote ADF Business Components Service
40.1
Introduction to the Recommended Design Pattern
40.2
Potential Approaches
40.3
Example
40.4
How to Create Service-Based Entity Objects and View Objects
40.5
Securing the Design Pattern
40.6
Verifying the Deployment
40.7
Troubleshooting the Use Case
40.8
Understanding the Transactional Behavior of Service-Based Entity Objects and View Objects
40.9
Known Issues and Workarounds
41
Invoking an Asynchronous Service from a SOA Composite
41.1
Introduction to the Recommended Design Pattern
41.2
Other Approaches
41.3
Example
41.4
How to Invoke a SOA Composite Application from Within a SOA Composite Application
41.4.1
Defining a New Web Service Reference
41.4.2
Wiring the BPEL Process to the New Web Service Reference
41.4.3
Invoking the Asynchronous Web Service from the BPEL Flow
41.4.4
What Happens When You Invoke an Asynchronous Service from within a SOA Composite Application
41.4.5
What Happens at Runtime: How an Asynchronous Service is Invoked from within a SOA Composite Application
41.5
Securing the Design Pattern
41.6
Verifying the Deployment
41.7
Troubleshooting the Use Case
41.7.1
Deployment
41.7.2
Runtime
41.8
What You May Need to Know About Invoking an Asynchronous Service from Another SOA Composite
42
Synchronously Invoking an ADF Business Components Service from an Oracle ADF Application
42.1
Introduction to the Recommended Design Pattern
42.2
Potential Approaches
42.3
Example
42.4
How to Invoke an ADF Business Components Service from an Oracle ADF Application
42.5
Securing the Design Pattern
42.6
Verifying the Deployment
43
Implementing an Asynchronous Service Initiation with Dynamic UI Update
43.1
Introduction to the Recommended Design Pattern
43.2
Potential Approaches
43.3
Example
43.4
How to Implement an Asynchronous Service Initiation with Dynamic UI Update
43.4.1
Writing the Active Data Handler
43.4.2
Building the Supporting Active Data Entry Classes
43.4.3
Registering the Active Data Collection Model with the Oracle ADF UI Page
43.4.4
Registering the Component Managed JavaBean for Supporting Method Actions
43.4.5
Referencing the Managed JavaBean in the Page UI
43.4.6
Creating the Data Model and Adding Application Module Methods
43.4.7
Creating a SOA Composite that Subscribes to the Published Event
43.4.8
Constructing a BPEL Process to Perform Asynchronous Work
43.4.9
Invoking the ADF Business Components Service
43.5
Securing the Design Pattern
43.6
Verifying the Deployment
43.7
Troubleshooting the Use Case
43.8
What You May Need to Know About Initiating an Asynchronous Service with Dynamic UI Update
43.9
Known Issues and Workarounds
44
Managing Tasks Programmatically
44.1
Introduction to the Recommended Design Pattern
44.2
Potential Approaches
44.3
Example
44.4
Managing Human Workflow Tasks from a Java Application
44.4.1
How to Connect to the Task Service/Task Query Service
44.4.2
How to Use the Single Server Task Service API
44.4.2.1
Import Libraries into the Java Project
44.4.2.2
Import Code Packages into the Java Project
44.4.2.3
Declare and Obtain Task Service Object References
44.4.2.4
Obtain the Workflow Service Context Object
44.4.2.5
Obtain the Single Task Object and Set Task Outcome
44.4.3
How to Use the Single Server Task Query Service API
44.4.3.1
Import Libraries into the Java Project
44.4.3.2
Import Code Packages into the Java Project
44.4.3.3
Declare and Obtain Task Query Service Object References
44.4.3.4
Manage Query and Task Outcome States
44.4.4
How to Use the Federated Server Task Query Service API
44.4.4.1
Import Libraries into the Java Project
44.4.4.2
Import Code Packages into the Java Project
44.4.4.3
Create a List of Servers for a Parallel Federated Query
44.4.4.4
Declare Task and Query Service References and Create the Workflow Client Service Object
44.4.4.5
Obtain the Workflow Service Context
44.4.4.6
Implement Exception Handling for Federated Queries
44.4.4.7
Manage Query and Task Outcome States
44.4.5
How to Query and Traverse Federated and Non-federated Query Result Sets
44.4.5.1
Determine Query Service Search Criteria
44.4.5.2
Construct the Predicate for queryTasks()
44.4.5.3
Arrange the Order of Results Returned by the queryTasks() Method
44.4.5.4
Construct the List of Display Columns for the queryTasks() Method
44.4.5.5
Construct a List of OptionalInfo Items to be Returned from queryTasks()
44.4.5.6
Invoke queryTasks() with the Attribute Lists
44.4.5.7
Iterate through the Result Set
44.4.5.8
Programmatically Set the Task Outcome
44.5
Other Approaches
44.6
Securing the Design Pattern
44.7
Verifying the Deployment
44.7.1
Deploying the Human Task
44.7.2
Deploying Programmatic Task Functionality
44.7.3
Invoking Programmatic Task Functionality
44.8
Troubleshooting the Use Case
44.8.1
Troubleshooting Task Data
44.8.2
Troubleshooting Java Code
44.9
What You May Need to Know About Implementing Email Notification for an Oracle ADF Task Flow for a Human Task
45
Implementing an Oracle ADF Task Flow for a Human Task
45.1
Introduction to the Recommended Design Pattern
45.2
Other Approaches
45.3
Example
45.4
How to Implement an Oracle ADF Task Flow for a Human Task
45.4.1
Creating an Oracle ADF Task Flow
45.4.2
Creating a User Interface for the Human Task
45.4.3
Implementing Product-Specific Sections
45.4.3.1
How to Add Instructions
45.4.3.2
How to Modify Details
45.4.3.3
How to Modify Recommended Actions
45.4.3.4
How to Modify <PLACE APPLICATION SPECIFIC CONTENT HERE>
45.4.3.5
How to Implement Links
45.4.3.6
How to Modify Comments and Attachments
45.4.3.7
How to Modify Related Links
45.4.3.8
How to Modify History
45.4.4
Implementing a Task Detail with Contextual Area
45.4.5
Implementing Email Notification
45.4.5.1
Before You Begin
45.4.5.2
Determining the Implementation Approach
45.4.5.3
Using a Switcher Component
45.4.5.4
Using a Separate View for Online and Email Versions
45.4.5.5
Fine-Tuning the Emailable Page
45.4.6
Displaying Localized Translated Data
45.4.7
Displaying Rows in the Approval Task
45.4.8
Configuring a Deployment Profile
45.5
Securing the Design Pattern
45.6
Verifying the Deployment
45.7
Troubleshooting the Use Case
45.7.1
Specify oracle.soa.workflow.wc in weblogic-application.xml
45.7.2
Set the FRAME_BUSTING Attribute in web.xml
45.7.3
Migrate from an Earlier Version of the Drop Handler Template
45.7.4
Override the EL for the Create Button
46
Cross Family Business Event Subscription Pattern
46.1
Introduction to the Recommended Design Pattern
46.2
Potential Approaches
46.3
Example
46.4
How to Subscribe to a Cross-Family Business Event
46.4.1
Before You Begin
46.4.2
Determining the Composites to Be Defined
46.4.3
Determining the Aqueue Message Recipient
46.4.4
Defining an XFamilyPub Composite
46.4.5
Defining an XFamilySub Composite
46.5
Verifying the Deployment
46.5.1
How to Verify the Deployment of the XFamilyPub Composite
46.5.2
How to Verify the Deployment of the XFamilySub Composite
46.6
Troubleshooting the Use Case
46.6.1
Privileges to FUSION_RUNTIME
46.6.2
Aqueue enabled for Enqueuing and Dequeuing
46.6.3
AQ_INVALID_QUEUE_TYPE
Part VII Implementing Security
47
Getting Started with Security
47.1
Introduction to Securing Oracle Fusion Applications
47.1.1
Architecture
47.1.1.1
Oracle Platform Security Services (OPSS) Security Framework
47.1.1.2
Oracle Web Services Manager
47.1.1.3
Oracle ADF Security
47.1.1.4
Application User Sessions
47.1.1.5
Oracle Fusion Data Security
47.1.1.6
Oracle Virtual Private Database
47.1.1.7
Oracle Data Integrator
47.1.2
Authentication
47.1.2.1
Oracle Identity Management Repository
47.1.2.2
Identity Propagation
47.1.2.3
Application User Session Propagation
47.1.3
Authorization
47.1.3.1
OPSS Application Security Repository
47.1.3.2
Oracle Fusion Data Security Repository
47.2
Authentication Techniques and Best Practices
47.2.1
APIs
47.2.2
Expression Language
47.2.3
Non-browser Based Login
47.3
Authorization Techniques and Best Practices
47.3.1
Function Security
47.3.1.1
Resource Entitlements and Permissions
47.3.1.2
Expression Language
47.3.2
Data Security
47.3.2.1
APIs and Expression Language
47.3.2.2
Oracle Virtual Private Database
47.3.2.3
Personally Identifiable Information
47.3.2.4
Data Role Templates
48
Implementing Application User Sessions
48.1
Introduction to Application User Sessions
48.2
Configuring Your Project to Use Application User Sessions
48.2.1
How to Configure Your Project to Use Application User Sessions
48.2.2
How to Configure the ADF Business Component Browser
48.2.3
How to Use the ApplSession Logger for Troubleshooting
48.2.4
What Happens at Runtime: How the Application User Session is Used
48.3
Accessing Properties of the Applications Context
48.3.1
How to Access Sessions Using Java APIs
48.3.1.1
Initializing Sessions
48.3.1.2
Getting Context Attributes
48.3.1.3
Setting Context Attributes
48.3.1.4
Accessing the Connection
48.3.1.5
Accessing Session Context Using the Java API
48.3.2
How to Access Sessions Using PL/SQL APIs
48.3.2.1
Initializing Sessions
48.3.2.2
Getting Context Attributes
48.3.2.3
Setting Context Attributes
49
Implementing Oracle Fusion Data Security
49.1
Introduction to Oracle Fusion Data Security
49.1.1
Terminology
49.1.2
Integrating Oracle Fusion Data Security with Oracle Platform Security Services (OPSS)
49.1.3
Integrating Data Security Task Flows into Oracle Fusion Functional Setup Manager
49.1.4
Integrating Oracle Fusion Data Security with User Sessions
49.1.5
Integrating Oracle Fusion Data Security with Virtual Private Database (VPD)
49.2
Managing Data Security Artifacts in the Oracle Fusion Data Security Policy Tables
49.2.1
How to Get Started Managing Data Security
49.2.2
What You May Need to Know About Administering Oracle Fusion Data Security Policy Tables
49.3
Integrating with ADF Business Components
49.3.1
How to Configure the ADF Data Model Project
49.3.2
How to Secure Rows Queried By Entity-Based View Objects
49.3.3
What Happens at Runtime: How Oracle Fusion Data Security Filters View Instance Rows
49.3.4
How to Perform Authorization Checks for Custom Operations
49.3.5
How to Test Privileges Using Expression Language Expressions in the User Interface
49.4
Using Oracle Fusion Data Security to Secure New Business Resources
49.4.1
How to Use Oracle Fusion Data Security to Secure a Business Object
49.4.2
How to Use Parameterized Conditions When Securing a Business Object
49.4.2.1
Converting Non-String Parameter Values Into Character Values
49.4.2.2
Writing Performance Type Conversions in Predicates
49.4.3
How to Create Test Users in JDeveloper
49.4.4
What You May Need to Know About Creating Application Roles
49.5
Getting Security Information from the Application User Session Context
49.5.1
How to Use the DataSecurityAM API to Get Session Context Information
49.5.2
How to Use the PL/SQL Data Security API to Check User Privileges
49.6
Understanding Data Security Performance Best Practices
49.7
Validating Data Security with Diagnostic Scripts
49.7.1
How to Validate Data Security Configuration with Diagnostic Scripts
49.7.2
How to Validate Applications Context
49.8
Integrating with Data Security Task Flows
49.8.1
About Integrating the Data Security Task Flows into Your Application
49.8.2
How to Configure Data Security Task Flows to Display in the Primary Window
49.8.2.1
Creating a Task Flow Call Activity in Your Application's Task Flow
49.8.2.2
Initializing the Data Security Task Flow Using a Managed Bean
49.8.2.3
Registering the Managed Bean with Your Application's Task Flow
49.8.3
How to Configure the Object Instance Task Flow to Display in a Dialog
49.8.3.1
Creating the Task Flow Executable in the Region Page Definition FIle
49.8.3.2
Initializing the Object-Instance Task Flow Using a Managed Bean
49.8.3.3
Registering the Managed Bean with Your Application's Task Flow
49.8.4
How to Grant the End User Access to the Data Security Task Flows
49.8.5
How to Grant the Application Access to the Application Policy Store
49.8.6
How to Map the Application to an Existing Application Stripe
50
Implementing Function Security
50.1
Introduction to Function Security
50.1.1
Function Security Development Environment
50.1.2
Function Security Implementation Scenarios
50.1.3
Function Security-Related Application Files
50.2
Function Security Implementation Process Overview
50.3
Adding Function Security to the Application
50.3.1
How to Create Entitlement Grants for Custom Application Roles
50.3.2
What Happens After You Create an Entitlement Grant
50.3.3
How to Define Resource Grants for OPSS Built-In Roles
50.3.4
What Happens When You Make an ADF Resource Public
50.3.5
How to Enforce Authorization for Securable ADF Artifacts
50.3.6
How to Enable Authentication and Test the Application in JDeveloper
50.3.7
What You May Need to Know About Actions That Developers Must Not Perform
50.3.8
What You May Need to Know About Testing
50.3.9
What You May Need to Know About Security Best Practices
51
Securing Web Services Use Cases
51.1
Introduction to Securing Web Services Use Cases
51.2
Understanding Oracle Web Services Manager Best Practices
51.3
Attaching Policies Globally
51.4
Attaching Policies Locally
51.4.1
How to Make a Web Service Publicly Accessible
51.4.2
How to Support Elevated Privileges for Web Service Clients
51.4.3
How to Provide Additional Security Hardening for Web Service Clients
51.4.4
How to Connect to Third Party Web Services
51.5
Authorizing the Web Service with Entitlement Grants
51.5.1
How to Grant Access for the Service
51.5.2
How to Enforce Authorization for the Service
51.6
What Happens At Runtime: How Policies Are Enforced
51.7
Maintaining Application Session Context Across Web Service Requests
52
Securing End-to-End Portlet Applications
52.1
Introduction to Securing End-to-End Portlet Applications
52.2
Securing the Portlet Service
52.2.1
How to Authenticate the Service
52.2.2
How to Configure the Key Store and Credential Store
52.2.3
How to Authorize the Service
52.3
Securing the Portlet Client
52.4
Registering the Key Store and Writing to the Credential Store
52.4.1
How to Register the Key Store and Write to the Credential Store
52.4.2
What Happens When You Register the Key Store and Write to the Credential Store
52.5
Maintaining Application Session Context Across Web Service Requests
Part VIII Advanced Topics
53
Running and Deploying Applications on Oracle WebLogic Server
53.1
Introduction to Deploying Applications to Oracle WebLogic Server
53.1.1
Prerequisites for Deployment
53.1.2
Introduction to the Standalone Administration Server WebLogic Server Instance
53.2
Running Applications on Integrated WebLogic Server
53.2.1
How to Deploy an Application with Metadata to Integrated WebLogic Server
53.3
Preparing to Deploy Oracle ADF Applications to an Administration Server Instance of WebLogic Server
53.3.1
How to Reference the Shared Libraries
53.3.2
How to Create Deployment Profiles for Standalone WebLogic Server Deployment
53.4
Deploying Your Oracle ADF Applications to an Administration Server Instance of WebLogic Server
53.4.1
How to Create an Application Server Connection Using JDeveloper
53.4.2
How to Deploy the Application Using JDeveloper
53.4.3
How to Create an EAR File for Deployment
53.5
Deploying Your SOA Projects to an Administration Server Instance of WebLogic Server
53.5.1
How to Deploy Your SOA Projects Using JDeveloper
53.5.1.1
Check the Deployed SOA Project
54
Creating Repository Connections
54.1
Creating a Content Repository Connection
54.1.1
How to Create a Content Repository Connection
54.1.1.1
Creating a Connection for Oracle Fusion Applications Development
54.1.1.2
Creating a Connection for Ad Hoc Development
54.1.2
Troubleshooting Content Server Connections
54.1.2.1
User Does Not have Sufficient Privileges
54.1.2.2
Invalid Security: Error in Processing the WS-Security Header
54.1.2.3
Access Denied: Credential AccessPermission
54.2
Creating an Oracle Data Integrator Repository Connection
54.3
Creating Oracle Business Activity Monitoring Server Repository Connection
54.3.1
How to Create an Oracle BAM Connection
54.3.2
How to Use Oracle BAM Adapter in a SOA Composite Application
54.3.3
How to Integrate Sensors With Oracle BAM
55
Defining Profiles
55.1
Introduction to Profiles
55.2
Integrating Profiles Task Flows into Oracle Fusion Functional Setup Manager
55.3
Setting and Accessing Profile Values
55.3.1
How to View and Set Profile Values Using the Setup UI
55.3.2
How to Access Profile Values Programmatically
55.3.3
How to Access Profile Values Using Expression Language
55.4
Managing Profile Definitions
55.4.1
How to Edit Profile Definitions
55.4.2
Registering a New Profile Option
55.5
Managing Profile Categories
55.5.1
How to Manage Profile Categories
56
Initializing Oracle Fusion Application Data Using the Seed Data Loader
56.1
Introduction to the Seed Data Loader
56.2
Using the Seed Data Loader in JDeveloper
56.2.1
Introduction to the Seed Data Framework
56.2.2
How to Set Up the Seed Data Environment
56.2.3
How to Use the Seed Data Extract Manager
56.2.4
How to Use Seed Data Extract Processing
56.2.4.1
Understanding Extract Taxonomy Partition Selection Dialogs
56.2.4.2
Using the Extract Seed Data Command Line Interface
56.2.5
How to Use the Seed Data Upload Manager
56.2.5.1
Uploading Seed Data
56.2.6
How to Share Application Modules
56.2.7
How to Update Seed Data
56.2.7.1
Using Incremental Updates
56.2.7.2
Implementing Java Database Connectivity-based National Language Support Updates
56.3
Translating Seed Data
56.3.1
How to Extract Translation Data
56.3.1.1
Treating Seed Data Base XML and Language XLIFF as a Single Entity
56.3.2
How to Process Seed Data Translations
56.3.3
How to Load Translation Seed Data
56.3.4
Oracle Fusion Middleware Extensions for Applications Translation Support
57
Using the Database Schema Deployment Framework
57.1
Introduction to Using the Database Schema Deployment Framework
57.2
Implementing Applications Data Modeling and Deployment JDeveloper Extensions (Data Modeling Extensions)
57.2.1
How to Use the Offline Database
57.2.2
How to Create an Offline Database
57.2.3
How to Deploy an Offline Database in XML Persistence Format
57.2.4
How to Validate Application Data Model Standards
57.2.5
Application User Defined Properties
57.2.5.1
User Defined Properties for Tables
57.2.5.2
User Defined Properties for Columns
57.2.5.3
User Defined Properties for Indexes
57.2.5.4
User Defined Properties for Constraints
57.2.5.5
User Defined Properties for Views
57.2.5.6
User Defined Properties for Sequence
57.2.5.7
User Defined Properties for Materialized View
57.2.5.8
User Defined Properties for Materialized View Log
57.2.5.9
User Defined Properties for Trigger
57.2.6
How to Create an Offline Database Object
57.2.7
How to Edit an Offline Database Object
57.2.8
How to Import an Offline Database Object
57.2.9
How to Deploy the Offline Database Objects
57.2.9.1
Deploying in SXML Persistence Format
57.2.9.2
Setting the CLASSPATH Variable
57.2.9.3
Using Bootstrap Mode
57.2.9.4
Deployment FAQ
57.2.9.5
Cleaning Database Objects
57.3
Using Schema Separation to Provide Grants
58
Improving Performance
58.1
Introduction to Improving the Performance of Applications
58.2
ADF Business Components Guidelines
58.2.1
Working with Entity Objects
58.2.1.1
Enable Batch Updates for your Entity Objects
58.2.1.2
Children Entity Objects in Composite Entity Associations Should not set the Foreign Key Attribute Values of the Parent
58.2.1.3
Avoid Using List Validator Against Large Lists
58.2.1.4
Avoid Repeated Calls to the same Association Accessor
58.2.1.5
Close Unused RowSets
58.2.1.6
Use "Retain Association Accessor RowSet" when Appropriate
58.2.1.7
Mark the Change Indicator Column
58.2.2
Working with View Objects
58.2.2.1
Tune the View Object SQL Statement
58.2.2.2
Select the Correct Usage for View Objects
58.2.2.3
Set Appropriate Fetch Size and Max Fetch Size
58.2.2.4
Use Bind Variables
58.2.2.5
Include at Least One Required or Selectively Required View Criteria Item
58.2.2.6
Use Forward-Only Mode when Possible
58.2.2.7
Avoid Calling getRowCount
58.2.2.8
Avoid Entity Object Fault-in by Selecting Necessary Attributes Up-Front
58.2.2.9
Reduce the Number of View Object Key Attributes to a Minimum
58.2.2.10
Use Range Paging when Jumping to Different Row Ranges
58.2.2.11
Use setListenToEntityEvents(false) for Non-UI Scenarios
58.2.2.12
Use Appropriate Getter or Setter on View Row
58.2.2.13
Use Appropriate Indexes with Case-Insensitive View Criteria Items
58.2.2.14
Avoid View Object Leaks
58.2.2.15
Provide a "Smart" Filter when Using LOV Combobox
58.2.2.16
Use Small ListRangeSize for LOVs
58.2.2.17
Avoid Reference Entity Objects when not Needed
58.2.2.18
Do Not Use the "All at Once" Fetch Mode in View Objects
58.2.2.19
Do Not Use the "Query List Automatically" List of Value Setting
58.2.2.20
Avoid the "CONTAINS" or "ENDSWITH" Operator for Required or Selectively Required View Criteria Items
58.2.3
Working with Application Modules
58.2.3.1
Enable Lazy Delivery
58.2.3.2
Make Application Code Passivation-Safe
58.2.3.3
Avoid Passivating Read-Only View Objects
58.2.3.4
Avoid Passivating Certain Transient Attributes of a View Object
58.2.3.5
Maintain Application Session User Tables
58.2.3.6
Tune the Application Module Release Level
58.2.3.7
Do Not Leave Uncommitted Database Updates Across Requests
58.2.3.8
Release Dynamically Created Root Application Modules
58.2.3.9
Do Not Destroy the Application Module when Calling Configuration.releaseRoot ApplicationModule.
58.2.4
Working with Services
58.2.4.1
Set the Find Criteria to Fetch Only Attributes that are Needed
58.2.4.2
Expose Service for Frequently Used Logical Entities
58.2.4.3
Use Correct ChangeOperation when Calling a Service
58.2.4.4
Set Only Changed Columns on Service Data Objects for Update
58.3
ADF ViewController Layer Guidelines
58.3.1
Working with Various ADF ViewController Components
58.3.1.1
Minimize the Number of Application Module Data Controls
58.3.1.2
Use the Visible and Rendered Attributes
58.3.1.3
Remove Unused Items from Page Bindings
58.3.1.4
Disable Column Stretching
58.3.1.5
Use Appropriate Values for Refresh and RefreshCondition
58.3.1.6
Disable Estimated Row Count if Necessary
58.3.1.7
Use HTTPSession Hash Table in Moderation
58.3.1.8
Use Short Component IDs
58.3.1.9
Follow UI Standards when Using Search
58.3.1.10
Avoid Executing Component Subtree by Adding a Condition Check
58.3.1.11
Do not set Client Component Property to True
58.3.1.12
Set Immediate Property to True when Appropriate
58.3.1.13
Use Appropriate ContentDelivery Mode for a Table or a Tree Table
58.3.1.14
Set the Appropriate Fetch Size for a Table
58.3.1.15
Avoid Frozen Columns and Header Columns if Possible
58.3.1.16
Avoid Unnecessary Regions
58.3.1.17
Set the Data Control Scope to "Shared"
58.3.1.18
Select the No Save Point Option on a Task Flow when Appropriate
58.3.1.19
Use Click-To-Edit Tables when Appropriate
58.3.1.20
Avoid Unnecessary Task Flow Activation for Regions Under Popups
58.3.1.21
Delay Creation of Popup Child Components
58.3.1.22
Avoid Unnecessary Task Flow Activation for Regions Under Switchers
58.3.1.23
Avoid Unnecessary Root Application Module Creation from UI-layer Code
58.3.1.24
Avoid Unnecessary Savepoints on Task Flow Entry
58.3.1.25
Cache Return Values in Backing Bean Getters
58.3.1.26
Do Not Maintain References to UI Components in Managed Beans
58.3.2
Enable ADF Rich Client Geometry Management
58.3.3
Use Page Templates
58.3.4
Use ADF Rich Client Partial Page Rendering (PPR)
58.4
SOA Guidelines for Human Workflow and Approval Management Extensions
58.5
Oracle Fusion Middleware Extensions for Applications Guidelines
58.5.1
Use Profile.get to Get Profile Option Values
58.5.2
Release any Application Modules Returned from getInstance Calls
58.5.3
Avoid Unnecessary Activation of Attachments Taskflow
58.5.4
Use Static APIs on Message Get Message Text
58.5.5
Set the Data Control Scope to Isolated for Page Level Item Nodes
58.6
General Java Guidelines
58.6.1
Working with Strings and StringBuilder
58.6.1.1
Use StringBuilder Rather than the String Concatenation Operator (+)
58.6.1.2
Check the Log Level Before Making a Logging Call
58.6.1.3
Use Proper Logging APIs for Debug Logging
58.6.1.4
Lazy Instantiation
58.6.2
Configure Collections
58.6.3
Manage Synchronization
58.6.4
Work with Other Java Features
58.6.4.1
Avoid Autoboxing
58.6.4.2
Do not use Exceptions for Code Path Execution
58.6.4.3
Reuse Pattern Object for Regular Expression Matches
58.6.4.4
Avoid Repeated Calls to the same APIs that have Non-Trivial Costs
58.6.4.5
Close Unused JDBC Statements to Avoid Memory Leaks
58.6.4.6
Use registerOutParameter to Specify Bind Types and Precisions
58.6.4.7
Avoid JDBC Connection Leaks
58.7
Caching Data
58.7.1
Identifying Data to Cache
58.7.2
How to Add Data to Cache
58.7.3
How to Cache Multi-Language Support Data
58.7.3.1
Creating ADF Business Components objects for shared MLS data
58.7.3.2
Creating ADF Business Components Objects that Join to MLS tables
58.7.4
How to Consume Cached Data
58.7.4.1
Consuming Shared Data Using a View Accessor
58.7.4.2
Creating a shared application module programmatically
58.7.5
What Happens at Runtime: When Another Service Accesses the Shared Application Module Cache
58.8
Profiling and Tracing Oracle Fusion Applications
58.8.1
How to Profile Oracle Fusion Applications with JDeveloper Profiler
58.9
Set up a Debug Breakpoint
59
Debugging Oracle ADF and Oracle SOA Suite
59.1
Introduction to Debugging Oracle ADF Debugging and Oracle SOA Suite
59.2
Collecting Diagnostics
59.2.1
How to Collect Diagnostics in the Integrated WebLogic Server Environment
59.2.1.1
Enabling Diagnostic Logging in the Development Environment
59.2.1.2
Enabling Database Tracing in Integrated WebLogic Server Instances
59.2.2
How to Collect Diagnostics in the Standalone WebLogic Server Environment
59.2.2.1
Enabling Diagnostic Logging in the Provisioned Environment
59.2.2.2
Adding Debug Messages to Your Code
59.2.2.3
Enabling Database Tracing in Standalone WebLogic Server Instances
59.3
Diagnosing Problems
59.3.1
How to Diagnose Problems in the Integrated WebLogic Server Environment
59.3.1.1
Testing the JDBC Data Source Connections
59.3.1.2
Viewing the Application Module Pooling Statistics
59.3.1.3
Sanity Checking Your EAR File in the Integrated WebLogic Server Environment
59.3.2
How to Diagnose Problems in the Standalone WebLogic Server Environment
59.3.2.1
Sanity Checking Your EAR File in the Standalone WebLogic Server Environment
59.3.2.2
Examining the Oracle WebLogic Server Classloaders
59.4
Debugging in JDeveloper
59.4.1
How to Debug an Application Remotely
59.5
Troubleshooting Oracle ADF
59.5.1
Problems and Solutions
59.5.1.1
"Too many files" Error Occurs on Local Linux Servers
59.5.1.2
Compilation Error Occurs
59.5.1.3
"No def found" or "No class def found" Exception Occurs
59.5.1.4
Breakpoints Are Not Functioning Correctly
59.5.1.5
Empty List in the Data Controls Panel
59.5.1.6
Runtime Error Related to DataBindings.cpx File
59.5.1.7
"Application module not found" Errors Related to DataBindings.cpx File
59.5.1.8
Oracle WebLogic Server Hot Reloading Does Not Work
59.5.1.9
Missing ADF Component at Runtime in Oracle WebLogic Server
59.5.1.10
Odd ADF Component Errors
59.5.1.11
Oracle WebLogic Server is Not Responding
59.5.1.12
Missing Base Class
59.5.1.13
Unavailable FND Components
59.5.1.14
JavaServer Pages Compilation Errors
59.5.1.15
ApplicationDB Errors While Running the Integrated WebLogic Server
59.5.1.16
Metadata Services Runtime Exception
59.5.1.17
Application Cannot Fetch Data from Oracle Fusion Applications Database
59.5.1.18
"The task cannot be processed further" Message Appears
59.5.1.19
TimedOut Exception Occurs
59.6
Testing and Troubleshooting Oracle SOA Suite
60
Designing and Securing View Objects for Oracle Business Intelligence Applications
60.1
Introduction to View Objects for Oracle Business Intelligence Applications
60.2
General Design Guidelines
60.2.1
Entity Object Guidelines
60.2.2
Association Guidelines
60.2.3
View Object Guidelines
60.2.3.1
Technical Requirements
60.2.3.2
View Object Attributes Guidelines
60.2.3.3
Outer Joins
60.2.4
View Links Guidelines
60.2.5
View Criteria Guidelines
60.3
Understanding Oracle Business Intelligence Design Patterns
60.3.1
Understanding Flattened View Objects
60.3.2
Understanding Fact-Dimension Relationships
60.3.3
Understanding Self Referencing Entities (Self-Joins)
60.3.4
Understanding Business Intelligence Filters
60.3.5
Understanding Translations
60.3.6
Understanding Date Effectivity
60.3.6.1
Date Effectivity Exceptions for Oracle BI Applications
60.4
Designing and Securing Fact View Objects
60.4.1
Designing Fact View Objects
60.4.2
Securing Fact View Objects
60.4.2.1
Securing the Same Transaction by Multiple Entities for Different Roles
60.4.2.2
Securing Transactions Different from Securing Dimensions
60.4.2.3
Joining Facts to Facts
60.4.2.4
Securing MOAC-Based transactional Applications
60.5
Designing and Securing Dimension View Objects
60.5.1
Designing Dimension View Objects
60.5.2
Designing Business Unit Dimensions
60.5.3
Securing Dimension View Objects
60.5.3.1
Securing Dimensions Composed of Multiple Entities
60.5.3.2
Securing Transactions Using Dimension with Dimension Browsing Unsecured
60.5.4
Using Multi-Valued Dimension Attributes
60.5.5
Using Junk Dimensions and Mini Dimensions
60.5.6
Using Secured and Unsecured Dimension View Objects
60.6
Designing Date Dimensions
60.6.1
Using the Gregorian Calendar
60.6.2
Using the Fiscal Calendar
60.6.3
Using the Projects Calendar
60.6.4
Using Timestamp Columns
60.6.5
Using Role-Playing Date Dimensions
60.7
Designing Lookups as Dimensions
60.7.1
Securing Data on Lookups
60.8
Designing and Securing Tree Data
60.8.1
Designing a Column-Flattened View Object for Oracle Business Intelligence
60.8.1.1
How to Generate a BICVO Automatically Using Tree Management
60.8.2
Customizing the FND Table Structure and Indexes
60.8.3
Using Declarative SQL Mode to Design View Objects for Oracle Business Intelligence Applications
60.8.3.1
Using Single Data Source View Object Design Pattern
60.8.3.2
Using Multiple Data Source View Objects Design Pattern
60.8.3.3
Setting the Declarative-Mode BICVO Properties
60.8.4
Guidelines for ATG-Registration and BICVO Generation
60.8.5
Guidelines for Hierarchy Depth and Conformance
60.8.5.1
Resolving Problems
60.8.6
Securing ADF Business Components View Objects for Trees
60.8.6.1
Security Implementation
60.9
Supporting Flexfields for Oracle Business Intelligence
60.10
Supporting SetID
60.10.1
How to Expose the SetID Attribute for Set-Enabled Lookups
60.10.2
How to Expose the SetID Attribute for Set-Enabled Reference Tables
60.11
Supporting Multi-Currency
61
Implementing ADF Desktop Integration
61.1
Oracle Application Development Framework Desktop Integration Standards and Guidelines
61.1.1
How to Structure the ADF Desktop Integration Directories
61.1.2
How to Name Your ADF Desktop Integration Files
61.1.3
How to Implement the Dialog Attributes Declarative Component
61.1.3.1
Adding the Component to Your Page
61.2
Skinning Excel ADF Desktop Integration Workbooks
61.3
Configuring the WebLogic Server Frontend
62
Creating Customizable Applications
62.1
Introduction to Creating Customizable Applications
62.2
Preparing an Application for Customizations
62.2.1
How to Set Project Properties to Enable User and Seeded Customizations
62.2.2
How to Configure the Persistence Change Manager
62.2.3
How to Enable Translations of Customized Strings
62.2.4
How to Add Composer Technology Scope to Your Project
62.2.5
How to Enable the User Customization of the UI Shell Template
62.2.6
How to Create a Database Connection at the IDE Level
62.3
Enabling Runtime Customization of Pages and Components
62.3.1
How to Enable Pages for Runtime Customization
62.3.1.1
Ensuring Customizable Pages Have Page Definitions
62.3.1.2
Making a JSPX Document Editable at Runtime
62.3.1.3
Setting Up a Resource Catalog
62.3.1.4
Using the Default Catalog Definition File for Testing
62.3.2
How to Enable End-User Personalizations for a Page
62.3.3
How to Restrict Customization of a Page, Page Fragment, or Component
62.3.4
How to Authorize the Runtime Customization of Pages and Task Flows
62.3.5
How to Persist Implicit Runtime Customizations
63
Working with Extensions to Oracle Enterprise Scheduler
63.1
Introduction to Oracle Enterprise Scheduler Extensions
63.2
Standards and Guidelines
63.3
Creating and Implementing a Scheduled Job in Oracle JDeveloper
63.3.1
How to Create and Implement a Scheduled Job in JDeveloper
63.3.2
What Happens at Runtime: How a Scheduled Job Is Created and Implemented in JDeveloper
63.4
Creating a Job Definition
63.4.1
How to Create a Job Definition
63.4.2
How to Define File Groups for a Job
63.4.3
What Happens When You Create a Job Definition
63.4.4
What Happens at Runtime: How Job Definitions Are Created
63.5
Configuring a Spawned Job Environment
63.5.1
How to Create an Environment File for Spawned Jobs
63.5.2
How to Configure an Oracle Wallet for Spawned Jobs
63.5.3
Migrating Spawned Job Environment Properties to the Production Environment
63.5.4
What Happens When You Configure a Spawned Job Environment
63.6
Implementing a PL/SQL Scheduled Job
63.6.1
Standards and Guidelines for Implementing a PL/SQL Scheduled Job
63.6.2
How to Define Metadata for a PL/SQL Scheduled Job
63.6.3
How to Implement a PL/SQL Scheduled Job
63.6.4
What Happens When You Implement a PL/SQL Job
63.6.5
What Happens at Runtime: How a PL/SQL Job is Implemented
63.7
Implementing a SQL*Plus Scheduled Job
63.7.1
Standards and Guidelines for Implementing a SQL*Plus Scheduled Job
63.7.2
How to Implement a SQL*Plus Job
63.7.3
How to Use the SQL*Plus Runtime API
63.7.4
What Happens When You Implement a SQL*Plus Job
63.7.5
What Happens at Runtime: How a SQL*Plus Job Is Implemented
63.8
Implementing a SQL*Loader Scheduled Job
63.8.1
How to Implement a SQL*Loader Scheduled Job
63.8.2
What Happens When You Implement a SQL*Loader Scheduled Job
63.9
Implementing a Perl Scheduled Job
63.9.1
How to Implement a Perl Scheduled Job
63.9.2
What Happens When You Implement a Perl Scheduled Job
63.10
Implementing a C Scheduled Job
63.10.1
How to Define Metadata for a C Scheduled Job
63.10.2
How to Implement a C Scheduled Job
63.10.3
Scheduled C Job API
63.10.4
How to Test a C Scheduled Job
63.10.5
What Happens When You Implement a C Scheduled Job
63.10.6
What Happens at Runtime: How a C Scheduled Job Is Implemented
63.11
Implementing a Host Script Scheduled Job
63.12
Implementing a Java Scheduled Job
63.12.1
How to Define Metadata for a Scheduled Java Job
63.12.2
How to Use the Java Runtime API
63.12.3
How to Cancel a Scheduled Java Job
63.12.4
What Happens at Runtime: How a Java Scheduled Job Is Implemented
63.13
Elevating Access Privileges for a Scheduled Job
63.13.1
How to Elevate Access Privileges for a Scheduled Job
63.13.2
How Access Privileges Are Elevated for a Scheduled Job
63.13.3
What Happens When Access Privileges Are Elevated for a Scheduled Job
63.14
Creating an Oracle ADF User Interface for Submitting Job Requests
63.14.1
How to Create an Oracle ADF User Interface for Submitting Job Requests
63.14.2
How to Add a Custom Task Flow to an Oracle ADF User Interface for Submitting Job Requests
63.14.3
How to Enable Support for Context-Sensitive Parameters in an Oracle ADF User Interface for Submitting Job Requests
63.14.4
How to Save and Schedule a Job Request Using an Oracle ADF UI
63.14.5
How to Submit a Job Using a Saved Schedule in an Oracle ADF UI
63.14.6
How to Notify Users or Groups of the Status of Executed Jobs
63.14.7
What Happens When You Create an Oracle ADF User Interface for Submitting Job Requests
63.14.8
What Happens at Runtime: How an Oracle ADF User Interface for Submitting Job Requests Is Created
63.15
Submitting Job Requests Using the Request Submission API
63.16
Defining Oracle Business Intelligence Publisher Postprocessing Actions for a Scheduled Job
63.16.1
How to Define Oracle BI Publisher Postprocessing for a Scheduled Job
63.16.2
How to Define Oracle BI Publisher Postprocessing Actions for a Scheduled PL/SQL Job
63.16.3
What Happens When You Define Oracle BI Publisher Postprocessing Actions for a Scheduled Job
63.16.4
What Happens at Runtime: How Oracle BI Publisher Postprocessing Actions are Defined for a Scheduled Job
63.16.5
Invoking Postprocessing Actions Programmatically
63.17
Monitoring Scheduled Job Requests Using an Oracle ADF UI
63.17.1
How to Monitor Scheduled Job Requests
63.17.2
How to Embed a Table of Search Results as a Region on a Page
63.17.3
How to Log Scheduled Job Requests in an Oracle ADF UI
63.17.4
How to Troubleshoot an Oracle ADF UI Used to Monitor Scheduled Job Requests
63.18
Using a Task Flow Template for Submitting Scheduled Requests Through an Oracle ADF UI
63.18.1
How to Use a Task Flow Template for Submitting Scheduled Requests through an Oracle ADF UI
63.18.2
How to Extend the Task Flow Template for Submitting Scheduled Requests through an Oracle ADF UI
63.18.3
What Happens When you Use a Task Flow Template for Submitting Scheduled Requests through an Oracle ADF UI
63.18.4
What Happens at Runtime: How a Task Flow Template Is Used to Submit Scheduled Requests through an Oracle ADF UI
63.19
Securing Oracle ADF UIs
63.20
Integrating Scheduled Job Logging with Oracle Fusion Applications
63.21
Logging Scheduled Jobs
63.21.1
Using the Request Log
63.21.2
Using the Output File
63.21.3
Debugging and Error Logging
64
Oracle Enterprise Scheduler Security
64.1
Introduction to Oracle Enterprise Scheduler Security
64.1.1
Oracle Enterprise Scheduler Metadata Access Control
64.1.2
Oracle Enterprise Scheduler Job Execution Security
64.2
Configuring Metadata Security for Oracle Enterprise Scheduler
64.2.1
How to Enable Application Security with Oracle ADF Security Wizard
64.2.2
How to Define Principals for Security
64.2.3
How to Create Grants with Oracle Enterprise Scheduler Metadata Pages
64.2.4
How to Create Grants with Oracle ADF Security Wizard
64.2.5
MetadataPermission APIs
64.2.6
What Happens When You Configure Metadata Security
64.3
Configuring PL/SQL Job Security for Oracle Enterprise Scheduler
64.4
Elevating Privileges for Oracle Enterprise Scheduler Jobs
64.5
Configuring a Single Policy Stripe in Oracle Enterprise Scheduler
64.5.1
How to Configure a Single Policy Stripe in Oracle Enterprise Scheduler
64.5.2
What Happens When You Configure a Single Policy Stripe
64.5.3
What Happens at Runtime
64.6
Configuring Oracle Fusion Data Security for Job Requests
64.6.1
Oracle Fusion Data Security Artifacts
64.6.2
How to Apply Oracle Fusion Data Security Policies
64.6.3
How to Create Functional and Data Security Policies for Oracle Enterprise Scheduler Components
Part IX Appendices
A
Working with the Application Taxonomy
A.1
Introduction to the Oracle Fusion Application Taxonomy
A.1.1
Characteristics of the Level Categories
A.1.2
How to Manage the Lifecycle
A.1.2.1
Creating Patches and Patch Sets
A.1.2.2
System Administration
A.1.2.3
Diagnostics and Maintenance
A.1.3
Benefits of a Logical Hierarchy
A.1.4
Delivery Hierarchy
A.1.5
How to Integrate Taxonomy Task Flows into Oracle Fusion Functional Setup Manager
A.2
Working with Objects and Methods in the Application Taxonomy
A.2.1
Particular Table Columns and Data
A.2.2
Denormalized Taxonomy Table
A.2.3
Available Public Business Objects
A.2.3.1
Accessing the Entity and View Objects
A.2.4
How to Use Exposed Service Methods
A.2.5
How to Traverse the Taxonomy Hierarchy
A.3
Understanding Taxonomy MBeans
B
ECSF Command Line Administration Utility
Glossary
Scripting on this page enhances content navigation, but does not change the content in any way.