Download as pdf or txt
Download as pdf or txt
You are on page 1of 152

Extending Oracle E-Business Information

Discovery V6
AN ORACLE WHITE PAPER | APRIL 2017
Table of Contents
1. INTRODUCTION ................................................................................................................................ 6
2. OVERVIEW OF ORACLE E-BUSINESS INFORMATION DISCOVERY ................................. 7
2.1 THE ORACLE E-BUSINESS INFORMATION DISCOVERY RELEASE TIMELINE.................................... 8
2.2 OVERVIEW OF ORACLE ENDECA INFORMATION DISCOVERY ......................................................... 8
2.3 NEW CONCEPTS IN ORACLE ENDECA INFORMATION DISCOVERY .................................................. 9
2.3.1 Application Data Structure Now Uses Data Sets .......................................................................... 9
2.3.2 Overview of Oracle Endeca Information Discovery Studio Components ................................... 10
2.3.3 New Terminology for Oracle Endeca Information Discovery Studio.......................................... 12
2.3.4 Removed baseFunctions, and Parent/Child Relationships .......................................................... 12
2.3.5 FROM Clause Required for View Definitions ............................................................................. 13
2.3.6 Changes to the EQL Syntax for Using Multi-Value Attributes in View Definitions .................... 13
2.4 ARCHITECTURE ............................................................................................................................ 13
3. DATA MODEL .................................................................................................................................. 16
3.1 RECORDS ..................................................................................................................................... 16
3.2 ATTRIBUTES ................................................................................................................................. 16
3.2.1 Attributes Metadata ..................................................................................................................... 16
3.2.1.1 Supported Data Types in Metadata ................................................................................................17
3.3 THE FND_EID SCHEMA .............................................................................................................. 17
4. GETTING STARTED WITH CUSTOMIZATION OF ORACLE E-BUSINESS SUITE
INFORMATION DISCOVERY ................................................................................................................ 18
4.1 SETTING UP THE ADMIN USER FOR ORACLE E-BUSINESS INFORMATION DISCOVERY ................. 18
4.2 BACKING UP AND RESTORING THE DASHBOARDS........................................................................ 21
4.2.1 Exporting the LAR File ............................................................................................................... 21
4.2.2 Importing a LAR File .................................................................................................................. 22
4.3 MODIFYING AN INFORMATION DISCOVERY DASHBOARD ............................................................ 23
4.3.1 Changing the Display Name of an Attribute ............................................................................... 24
4.3.2 Creating a New Attribute Group ................................................................................................. 26
4.3.3 Assign Attributes to the New Attribute Group. ............................................................................ 27
4.3.4 Modifying a Hyperlink in a Results Table ................................................................................... 31
4.3.5 Enabling a Flexfield .................................................................................................................... 34
4.3.5.1 Enabling Descriptive Flexfield in Additional Components ...........................................................34
4.3.5.2 Enabling Type-Ahead Search for Descriptive Flexfield Segments ................................................36
5. ADDING NEW ATTRIBUTES ........................................................................................................ 37
5.1 ADDING A DATABASE ATTRIBUTE ............................................................................................... 37
5.1.1 Create a Custom Oracle E-Business Suite-Oracle Endeca Database View ................................ 37
5.1.2 Define Metadata .......................................................................................................................... 37
5.1.3 Enable the New Attribute in the Oracle Endeca UI .................................................................... 39
5.2 ADDING A CALCULATED ATTRIBUTE ........................................................................................... 39
5.2.1 Export the View Definition .......................................................................................................... 39
5.2.2 Creating a Custom View ............................................................................................................. 41
6. ADDING NEW INFORMATION DISCOVERY PAGES ............................................................. 43
6.1 CREATING A NEW EMBEDDED ENDECA PAGE .............................................................................. 44
6.1.1 Create a New Endeca Page ......................................................................................................... 44
6.1.2 Add Endeca Content to an Existing Oracle Application Framework Page................................. 45
6.1.3 Using Component-Based Function Security in a Rich-Content Container ................................. 46
6.1.4 Using the Auto-Resize Property in a Rich-Content Container .................................................... 47
6.1.5 Using Bookmarkable Pages to Pass Non-OAF Information to an OAF Page ............................ 47

1 | ENTER TITLE OF DOCUMENT HERE


6.2 REPLACE AN EMBEDDED ENDECA PAGE WITH A NEW ENDECA PAGE.......................................... 47
6.2.1 Create an FND Function............................................................................................................. 47
6.2.2 Grant Access to the FND Function ............................................................................................. 49
6.2.3 Personalize the Oracle Application Framework Page ................................................................ 50
6.2.4 Point to the New Page ................................................................................................................. 51
6.3 CREATE A NEW ENDECA PAGE AND LINK IT USING THE LINKS LIST COMPONENT ...................... 52
6.3.1 Create a New Child Page ............................................................................................................ 53
7. ETL GRAPH CUSTOMIZATION................................................................................................... 60
7.1 CUSTOMIZE ORACLE E-BUSINESS SUITE-ENDECA DATABASE VIEWS ......................................... 60
7.2 REGISTER ATTRIBUTES IN THE FND SCHEMA .............................................................................. 61
7.3 COPY THE SANDBOX .................................................................................................................... 61
7.3.1 Download the Sandbox in a ZIP file............................................................................................ 61
7.3.2 Create a New Sandbox ................................................................................................................ 62
7.3.3 Upload the ZIP File to the Sandbox ............................................................................................ 63
7.4 MODIFY THE ETL GRAPH ............................................................................................................ 65
7.4.1 Read The New Database View .................................................................................................... 65
7.4.2 Include the New Attribute in Metadata ....................................................................................... 67
7.4.3 Run the Graph ............................................................................................................................. 68
8. CUSTOMIZING DESCRIPTIVE FLEXFIELDS .......................................................................... 69
8.1 ADDING A CUSTOM DESCRIPTIVE FLEXFIELD .............................................................................. 69
8.1.1 Register the New Flexfield Through the Endeca Metadata UI.................................................... 69
8.1.2 Define Collections for the Data Domain ..................................................................................... 70
8.1.3 Create Descriptive Flexfield Usages ........................................................................................... 71
8.1.4 Compile the Flexfield Definition To Create Metadata ................................................................ 71
8.1.5 Modify the Clover ETL Graph..................................................................................................... 75
8.1.6 Add Parameters in the Workspace Parameter File for the new Descriptive Flexfield................ 78
8.1.7 Invoke the Common Sandbox Descriptive Flexfield Graphs ....................................................... 78
8.1.8 Run the Full Load Configuration Graph and Incremental Load Graphs.................................... 80
9. WRITE A NEW SECURITY HANDLER ....................................................................................... 82
9.1 INTRODUCTION TO THE SECURITY HANDLER ............................................................................... 82
9.2 CREATING A SECURITY HANDLER ................................................................................................ 82
9.2.1 Writing A New Security Handler ................................................................................................. 86
9.2.2 Deploy The Security Handler ...................................................................................................... 87
9.2.3 General Tips ................................................................................................................................ 88
10. ADDITIONAL RESOURCES .......................................................................................................... 89
APPENDIX A: FND_EID SCHEMA .......................................................................................................... 1
SEEDED PROFILE...................................................................................................................................... 3
DESCRIPTION............................................................................................................................................. 3
APPENDIX B: CUSTOM COMPONENTS ............................................................................................... 6
APPENDIX C: HOW TO CREATE AN ORACLE ENDECA ACCESS ROLE .................................. 40
APPENDIX D: PACKAGING AND DEPLOYING CUSTOMIZATIONS .......................................... 47
APPENDIX E: SECURITY CLASSES JAVADOC ................................................................................ 51

2 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


List of Figures
Figure 1: The Release Timeline for Oracle E-Business Information Discovery............................................. 8
Figure 2: The Three Oracle Endeca Information Discovery Modules ............................................................ 9
Figure 3: New Structure for Application Data .............................................................................................. 10
Figure 4: Oracle Endeca Information Discovery Studio Migration .............................................................. 12
Figure 5: Oracle Endeca Information Discovery Architecture ..................................................................... 14
Figure 6: Oracle Endeca Information Discovery Components and Oracle E-Business Suite Artifacts ........ 15
Figure 7: Searching for a User ...................................................................................................................... 19
Figure 8: Assigning User Roles .................................................................................................................... 19
Figure 9: The Oracle Order Management Dashboard for a Non-Administrator ........................................... 20
Figure 10: The Oracle Order Management Dashboard with the Administrator Role ................................... 21
Figure 11: The Manage Pages Item in the Actions Menu ............................................................................. 22
Figure 12: Exporting a LAR File .................................................................................................................. 22
Figure 13: Importing a LAR File .................................................................................................................. 23
Figure 14: Navigating to the Information Discovery Developer Responsibility .......................................... 24
Figure 15: Searching for a Data Domain Attribute ....................................................................................... 25
Figure 16: Updating an Attribute .................................................................................................................. 25
Figure 17: The Manage Attribute Page ......................................................................................................... 26
Figure 18: Searching for a Data Domain ...................................................................................................... 26
Figure 19: Updating a Data Domain ............................................................................................................. 27
Figure 20: Creating an Attribute Group ........................................................................................................ 27
Figure 21: Adding Attributes to an Attribute Group ..................................................................................... 28
Figure 22: Adding Existing Attributes to the Attribute Group ..................................................................... 28
Figure 23: Searching for Existing Attributes ................................................................................................ 29
Figure 24: Selecting Existing Attributes ....................................................................................................... 30
Figure 25: Clicking Apply to Create the New Attribute Group .................................................................... 30
Figure 26: Adding a Parameter to a URL ..................................................................................................... 32
Figure 27: Hyperlinks in the Open Orders Summary Results Table............................................................. 32
Figure 28: The Target Page for the Hyperlink .............................................................................................. 33
Figure 29: Descriptive Flexfield Support in a Chart ..................................................................................... 35
Figure 30: Descriptive Flexfield Support in a Results Table ........................................................................ 35
Figure 31: Descriptive Flexfield Support in a Search Box ............................................................................ 36
Figure 32: Create an Attribute from the Information Discovery Developer Responsibility ......................... 37
Figure 33: The Attribute Creation UI ........................................................................................................... 38
Figure 34: The Newly Added Attribute Appears in the Application Settings .............................................. 39
Figure 35: Integrator ETL Server – Export View Definition ........................................................................ 40
Figure 36: Running a Graph from the Integrator Server ............................................................................... 41
Figure 37: Creating a View Definition in Oracle Order Management .......................................................... 42
Figure 38: An Oracle Endeca Information Discovery Page Embedded in an Oracle Application Framework
Page. ..................................................................................................................................................... 43
Figure 39: Navigating to the Control Panel in Oracle Endeca Information Discovery Studio ..................... 44
Figure 40:Oracle Endeca Information Discovery Studio – Applications...................................................... 44
Figure 41: Adding a new page in Oracle Endeca Information Discovery Studio ......................................... 45
Figure 42: Entering a friendly URL for a new Endeca page ......................................................................... 45
Figure 43: Endeca Container Properties ....................................................................................................... 46
Figure 44: Defining an FND Function .......................................................................................................... 48
Figure 45: FND Function Details ................................................................................................................ 48
Figure 46: Updating a Permission Set .......................................................................................................... 49
Figure 47: The Newly Created FND Function.............................................................................................. 49
Figure 48: Adding a New Permission to the Endeca Permission Set ............................................................ 50
Figure 49: Personalizing the Oracle Application Framework Page .............................................................. 50
Figure 50: Personalizing the Rich Container ................................................................................................ 51

3 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


Figure 51: Personalizing the Rich Container ................................................................................................ 52
Figure 52: Personalizing the Rich Container Context................................................................................... 52
Figure 53: Managing Endeca Pages .............................................................................................................. 53
Figure 54: Adding a Child Page ................................................................................................................... 54
Figure 55: Creating a Child Page .................................................................................................................. 55
Figure 56: Adding the EBS Quick Links Component ................................................................................. 56
Figure 57: Renaming the EBS Quick Links Component to Quick Links .................................................... 56
Figure 58: The Settings (Options) Icon for the Quick Links Component ..................................................... 57
Figure 59: Adding a New Quick Link .......................................................................................................... 57
Figure 60: Configuring the EBS Quick Links Component ........................................................................... 58
Figure 61: Saving Quick Links Preferences ................................................................................................ 58
Figure 62: The Open Orders Page After Adding the EBS Quick Linklist Component................................. 59
Figure 63: Downloading the Sandbox into a ZIP File .................................................................................. 62
Figure 64: Creating a New Sandbox ............................................................................................................. 63
Figure 65: Sandbox Creation Confirmation .................................................................................................. 63
Figure 66: Uploading the ZIP File to the Sandbox ....................................................................................... 64
Figure 67: Navigating to the Downloaded Sandbox ..................................................................................... 64
Figure 68: Results of the ZIP File Upload .................................................................................................... 65
Figure 69: Editing the DBInputTable Component ........................................................................................ 66
Figure 70: The SQL Query Editor ................................................................................................................ 66
Figure 71: Editing the Metadata Edge .......................................................................................................... 67
Figure 72: Editing the Reformat Component ................................................................................................ 67
Figure 73: The FullLoadConfig Graph ......................................................................................................... 68
Figure 74: The Information Discovery Developer Responsibility ................................................................ 69
Figure 75: Endeca Metadata UI - Data Domain ........................................................................................... 70
Figure 76: Assigning a Descriptive Flexfield in the Endeca Metadata UI .................................................... 70
Figure 77: Assign Descriptive Flexfields...................................................................................................... 71
Figure 78: The Worklist Event oracle.apps.fnd.flex.dff.compiled................................................................ 72
Figure 79: Worklist Notification Details ...................................................................................................... 72
Figure 80: The FND_PRECEDENCE_RULES Table ................................................................................. 73
Figure 81: The FND_EID_GROUPS_B Table............................................................................................. 74
Figure 82 The FND_EID_GROUPS_B Attributes ....................................................................................... 74
Figure 83: The Attributes Tab in the Endeca Metadata UI ........................................................................... 74
Figure 84: FullLoad Graph with the Shipped Descriptive Flexfield ............................................................. 77
Figure 85: FullLoad Graph with Newly Added Descriptive Flexfield ......................................................... 77
Figure 86: Added Parameters for a Descriptive Flexfield in the workspace.prm File ........................... 78
Figure 87: The Load DFF Data Component for a New Descriptive Flexfield ............................................. 79
Figure 89: Descriptive Flexfield Attribute Group in Guided Navigation ..................................................... 81
Figure 90: A Security Handler ...................................................................................................................... 82
Figure 91: FND_EID Schema,Physical Structure ........................................................................................... 1
Figure 92: FND_EID Schema, Logical Data Model ....................................................................................... 1

4 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


List of Tables
Table 1: Oracle Endeca Information Discovery Studio Changes in V6........................................................ 11
Table 2: Oracle Endeca Information Discovery Studio Terminology Changes ............................................ 12
Table 3: Supported Data Types in Metadata ................................................................................................. 17
Table 4: OA.jsp Parameters .......................................................................................................................... 31
Table 5: CallForm.jsp Parameters................................................................................................................. 33
Table 6: Sandbox Attributes ......................................................................................................................... 62
Table 7: Descriptive Flexfield Metadata Database Tables............................................................................ 73
Table 8: Parameters for the Non-Descriptive-Flexfield ETL Component .................................................... 76
Table 9: Descriptive Flexfield Parameters in workspace.prm File......................................................... 78
Table 10: Load Descriptive Flexfield Data Component Parameters ............................................................. 79
Table 11: Oracle E-Business Suite Security Handler Interface .................................................................... 83
Table 12: Final Inner Class RecordFilterExperession .................................................................................. 83
Table 13: Inner Class RecordFilterExpressionHelper................................................................................... 85
Table 14: EbsAbstractSecurityHandler Abstract Class................................................................................. 86
Table 15: Classpath Dependencies ............................................................................................................... 87
Table 16: FNDLOAD Parameters ................................................................................................................ 47

5 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


1. Introduction
Oracle E-Business Information Discovery is delivered with pre-built content across all of the shipped
modules. This content provides new business insight, helps increase user productivity, and enables
improved decision making. The new Oracle E-Business Information Discovery dashboards enable you to
answer ad hoc questions and to respond quickly to changing business conditions. These applications are
designed to drive your business forward by replacing multiple standard and shipped operational and custom
reports with enhanced functionality.
Because Oracle E-Business Suite is used across many industries and environments, you may have special
requirements and use cases that are not directly addressed by Oracle E-Business Information Discovery. In
that case, you can customize existing content or create fresh content.
When you customize Oracle E-Business Information Discovery, you can modify the user interface (UI),
create brand new dashboards, and enrich the data domain by bringing in additional data from the Oracle E-
Business Suite or from external sources.
This document teaches you how to extend Oracle E-Business Information Discovery to suit your business
requirements. Once you have deployed Oracle E-Business Information Discovery, you have access to all of
the development tools that you will need to modify or create new Extract Transform Load (ETL) and
dashboards.
This document applies to Oracle E-Business Information Discovery V6. It assumes that the reader is familiar
with Oracle Endeca Information Discovery and has a working knowledge of the Oracle E-Business Suite.
This document does not cover technical details about Oracle Endeca Information Discovery.

6 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


2. Overview of Oracle E-Business Information Discovery
Oracle E-Business Information Discovery is a set of integrated applications that allow you to optimize
operational decisions and improve process efficiency with near real-time access to operational data.
Individual users can leverage this information to prioritize their tasks, driving better cost and revenue
decisions.
The information-driven navigation in the Oracle E-Business Information Discovery user interface is enabled
by Oracle Endeca Information Discovery, an advanced in-memory discovery platform that gives you and
your users insight into the information hidden in structured and unstructured data. With a modern UI and a
hybrid search-and-analytical engine, Oracle Endeca Information Discovery provides a unique and productive
experience to all users of Oracle E-Business Suite applications.
Oracle E-Business Information Discovery V6 (available in Oracle E-Business Suite Releases 12.2 and
12.1.3) spans the Oracle E-Business Suite product areas, and includes:
 Oracle iProcurement Information Discovery
 Oracle iRecruitment Information Discovery
 Oracle Enterprise Asset Management Information Discovery
 Oracle Field Service Information Discovery
 Oracle Order Management Information Discovery
 Oracle Discrete Manufacturing Information Discovery
 Oracle Inventory Management Information Discovery
 Oracle Channel Revenue Information Discovery
 Oracle Warehouse Management Information Discovery
 Oracle Installed Base Information Discovery
 Oracle Process Manufacturing Information Discovery
 Oracle Cost Management Information Discovery
 Oracle Depot Repair Information Discovery
 Oracle Learning Management Information Discovery
 Oracle Financials Information Discovery
 Oracle TeleService Information Discovery
 Oracle Human Resources Information Discovery
 Oracle Quality Information Discovery
 Oracle Complex Maintenance, Repair & Overhaul Information Discovery
 Oracle iStore Information Discovery
 Oracle Quoting Information Discovery
 Oracle Incentive Compensation Information Discovery
 Oracle Contract Renewal Command Center
 Oracle Advanced Project Planning and Control

7 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


For more information about Oracle E-Business Information Discovery, please refer to the solution brief
Oracle E-Business Information Discovery: http://www.oracle.com/us/products/applications/ebusiness/ebiz-
suite-endeca-solution-brief-1896945.pdf

For information about the functional coverage and data content of each Oracle E-Business Information
Discovery application, please refer to the Oracle E-Business Information Discovery Integration and System
Administration Guide for your release:
Oracle E-Business Information Discovery Integration and System Administration Guide Release 12.2 V6:
https://docs.oracle.com/cd/E26401_01/doc.122/e49519/T610006T610357.htm
Oracle E-Business Information Discovery Integration and System Administration Guide Release 12.1 V6:
http://docs.oracle.com/cd/E18727_01/doc.121/e71248/toc.htm

2.1 The Oracle E-Business Information Discovery Release Timeline

Figure 1: The Release Timeline for Oracle E-Business Information Discovery

2.2 Overview of Oracle Endeca Information Discovery


Oracle Endeca Information Discovery is a data discovery platform that guides people to better decisions
based on diverse and changing data. It leverages Oracle Endeca Server, a hybrid search-analytical database
that gives IT a centralized platform to rapidly deploy interactive analytic applications and keep pace with
changing business requirements while maintaining information governance.

8 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


Figure 2: The Three Oracle Endeca Information Discovery Modules

Oracle Endeca Information Discovery consists of three modules:


 Oracle Endeca Information Discovery Studio is an industry-leading application-composition
environment and discovery experience that allows business users to easily upload and mash up
multiple diverse data sources, and then quickly configure discovery applications.
 Oracle Endeca Server is a hybrid search-analytical engine that organizes complex and varied data
from disparate sources.
 Oracle Endeca Information Discovery Integrator is a powerful visual data integration
environment that includes data integration options and features the Integrator enterprise ETL
solution.

2.3 New Concepts in Oracle Endeca Information Discovery


In V6, Oracle Endeca Information Discovery has been upgraded to the following module versions:
 Oracle Endeca Information Discovery Studio version 3.1.x
 Oracle Endeca Server version 7.6.0
 Oracle Endeca Information Discovery Integrator version 3.1.0

2.3.1 Application Data Structure Now Uses Data Sets


Data for Oracle Endeca Information Discovery Studio applications now consists of data sets, which are
separate sets of records from different sources.
In V5, each application was linked to a data source—a single set of records from an Oracle Endeca Server
domain. An application could also be linked to a family of data sources. A data source family was a group
of data sources that linked to the same Oracle Endeca Server domain, but that had different filter settings or
security settings.
In V6, each application is still connected to a single Oracle Endeca Server domain, which is now made up
of one or more data sets. A data set is a single set of records. Each data set automatically has a base view
consisting of all of the records in the data set. The base view is automatically named for the data set.
Custom views can include data from different data sets. Groups are still created within a single view.
The following diagram provides an overview of the new structure for application data:

9 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


Figure 3: New Structure for Application Data

2.3.2 Overview of Oracle Endeca Information Discovery Studio Components


The following table summarizes Oracle Endeca Information Discovery Studio changes in V6.

10 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


Component Change
Alerts The Alerts component has been removed, and its functionality has been
incorporated into the new Summarization Bar component.
Bookmarks No change
Filters The Breadcrumbs component has been renamed to Selected Refinements.
Chart No change
Compare The Compare component is no longer a separate component that can be added
to a page. When a user selects the Compare option, the Compare dialog is
displayed.
Component Container No change
Data Explorer The Data Explorer component configuration options have been reduced.
The sort options automatically include all of the attributes. Users can no longer
display Record Details.
Guided Navigation The Guided Navigation component has been renamed to Available
Refinements.

Map The non-EQL-based map location set has been changed to a numbered point
layer on the redesigned Map component.
Metrics Bar The Metrics Bar component has been removed, and its functionality has been
incorporated into the new Summarization Bar component.

Pivot Table No change


Record Details The Record Details component is no longer a separate component that can be
added to a workspace. When a user selects the Record Details option from a
component, the Record Details dialog is displayed.

Results List No change


Results Table No change
Search Box No change
Tabbed Component
No change
Container
Tag Cloud The basic cloud display remains very similar to its earlier versions.
The new Tag Cloud uses the same dimension, and the Number of Records
metric. Note that on the 3.1 version of Tag Cloud, dimensions are always
refinable. There is no configuration option to disable the refinement.
Table 1: Oracle Endeca Information Discovery Studio Changes in V6

11 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


2.3.3 New Terminology for Oracle Endeca Information Discovery Studio
The following table explains terminology changes in Oracle Endeca Information Discovery Studio.

Previous Term New Term Description of Change


Data source Endeca Server connection On the Control Panel, the Data Sources page has been
renamed to Endeca Servers. In version 3.1, the term data
source now refers to a connection to Oracle BI or a JDBC
database. These are managed from the Data Source Library
on the Control Panel. Users can use a data source to add data
to an application.
Guided Navigation Available Refinements The Guided Navigation component has been renamed to
Available Refinements, to better reflect its function.
Breadcrumbs Selected Refinements The Breadcrumbs component has been renamed to Selected
Refinements, to better reflect its function.
Table 2: Oracle Endeca Information Discovery Studio Terminology Changes

Figure 4: Oracle Endeca Information Discovery Studio Migration

2.3.4 Removed baseFunctions, and Parent/Child Relationships


With the introduction of data sets, the following data-filtering functions have been removed:

 baseFunctions syntax for filtering


 Parent/child relationships
 Selective refinements, which was dependent on parent/child relationships

These functions are replaced with the following functionality:

 You can create multiple data sets within an application. These different data sets may reflect
different filter states or different subsets of data.
 Each data set can be configured with a base filter.

12 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


 Applications can be configured with refinement rules to link attributes across data sets. On the
Application Settings page, the new Refinement Rules page allows you to configure the refinement
rules.

2.3.5 FROM Clause Required for View Definitions


With the introduction of data sets, user-defined views (views other than the base view) must now include a
FROM clause to identify the source of the view attributes. When identifying the source view, you use the
view key, and not the view display name. When referring to another view, you must refer to the final
DEFINE statement that identifies the attributes for the other view. You cannot refer to any intermediate
DEFINE or SELECT statements in that view definition.

2.3.6 Changes to the EQL Syntax for Using Multi-Value Attributes in View Definitions
Previously, when a multi-value attribute was included in a view definition, the ARB aggregation was
applied automatically. Now, you must specifically indicate whether to use ARB or to maintain the full set of
values for each record.

2.4 Architecture

Oracle E-Business Information Discovery is an Oracle Endeca Information Discovery tier integrated into the
existing Oracle E-Business Suite deployment architecture. The Oracle Endeca Information Discovery tier
can be deployed on existing hardware running the Oracle E-Business Suite middle tier, or on a dedicated
box. To install Oracle E-Business Information Discovery, download the Oracle E-Business Information
Discovery QuickInstall. The quick install package contains the Oracle Endeca Information Discovery
software as well as Oracle E-Business Suite artifacts like ETL sandboxes, Oracle Endeca Information
Discovery Studio applications, and a security code for each application.

For details about installing Oracle E-BusinessInformation Discovery, refer to the My Oracle Support
document for your current release:
Installing Oracle E-Business Information Discovery, Release 12.1 V6 (Doc ID 2021664.1)
Installing Oracle E-Business Information Discovery, Release 12.2 V6 (Doc ID 1970071.1)

13 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


Figure 5: Oracle Endeca Information Discovery Architecture

When the setup process is complete, you will run a full load for the Oracle E-Business Information
Discovery applications that you have licensed. The full load will connect to the Oracle E-Business Suite
database and load all of the data and metadata from the Oracle E-Business Suite database to the data
domains in the Oracle Endeca Server, where Oracle E-Business Suite data is stored and indexed. Each
application may have one or more data domains.

14 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


Figure 6 shows the Oracle Endeca Information Discovery software components and the Oracle E-Business
Suite artifacts that are installed by Oracle E-Business Information Discovery Quick Install.

Figure 6: Oracle Endeca Information Discovery Components and Oracle E-Business Suite Artifacts

Oracle E-Business Suite users can access embedded Oracle E-Business Information Discovery pages in
Oracle Application Framework applications through the responsibility to which you assign the relevant
Oracle E-Business Information Discovery role. When a user accesses an Oracle Application Framework
page with embedded Oracle E-Business Information Discovery content, the content request is redirected to
the Oracle E-Business Suite Oracle Endeca tier. The response is created in Oracle Endeca Server and sent
back to the Oracle E-Business Suite user. The user can perform queries on this page and can navigate to an
Oracle Application Framework page or to an Oracle Forms window by clicking on the transaction. This is a
seamless integration.
Oracle E-Business Suite data stored on the Oracle Endeca Information Discovery tier is refreshed through
the incremental loads that are shipped as part of the sandboxes. You can also schedule incremental loads to
run as frequently as needed depending on your usage patterns, on how often data changes in the Oracle E-
Business Suite, or on other business requirements. Some extensions may require a refresh as frequently as
every five to ten minutes, while others may require one refresh per day.

15 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


3. Data Model
The data model consists of records and attributes.

3.1 Records
A record is the fundamental unit of data. Almost all information that is consumed by Oracle Endeca Server,
including raw data and the data schema, is represented by records.
3.2 Attributes
An attribute is the basic unit of a record schema. Each attribute is identified by a unique name. Each
attribute on a data record is itself represented by a record that describes this attribute. For each attribute, a
record may be assigned zero, one, or more attribute values.

3.2.1 Attributes Metadata


Oracle Endeca Information Discovery allows fine-grained control over how an attribute behaves and is
interpreted on the Oracle E-Business Suite Oracle Endeca tier. Metadata to control that behavior is stored in
the Oracle E-Business Suite and is populated on the Oracle Endeca tier during a full load.

Oracle Endeca Information Discovery uses a Property Description Record (PDR) to store metadata about a
standard attribute. Standard attributes are described by system records known as Property Description
Records (PDRs). A PDR must exist for each attribute in order to build a schema for your data.

For each standard attribute, the associated PDR defines the attribute characteristics, including:

 Name
 Type
 Display name
 Language
 Configuration parameters such as searchability
 Navigability settings such as whether to show record counts for available refinements, whether to
enable multi-select, and how to sort refinements

16 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


3.2.1.1 Supported Data Types in Metadata
Each attribute type identifies the type of data allowed for the standard attribute value. The following table
lists the data types that are supported in attribute metadata.
Data Types Attribute Type Description
boolean mdex:boolean A Boolean. Valid Boolean values are true (or 1,
which is a synonym for true) and false (or 0, which
is a synonym for false).
date mdex:dateTime Represents the year, month, day, hour, minute, and
seconds of a time point, with the optional
specification of fractional seconds. The dateTime
value can be specified as a universal (UTC) date
time or as a local time plus a UTC time zone offset.
decimal mdex:double A floating point value.
integer mdex:int An mdex:int is a 32-bit signed integer. Values
accepted by the Oracle Endeca Server on all
platforms are integers up to 2,147,483,647.
long mdex:long An mdex:long value is a 64-bit signed integer.
Values accepted by the Oracle Endeca Server on all
platforms are integers up to
9,223,372,036,854,775,807.
string mdex:string XML-valid character strings.
string with an mdexType mdex:duration Represents a duration of the days, hours, and
Custom property set to minutes of an instance of time.
mdex:duration
string with an mdexType mdex:geocode A latitude and longitude pair. The latitude and
Custom property set to longitude are both double-precision floating-point
mdex:geocode values, in units of degrees.
Table 3: Supported Data Types in Metadata

3.3 The FND_EID Schema


The Oracle E-Business Suite is the source of truth for all Oracle Endeca Information Discovery attribute
metadata. Once ingested into a data domain, an attribute will behave in Oracle Endeca Information
Discovery as it does in Oracle E-Business Suite. This allows the full reconstruction of metadata upon data
domain creation and full refresh.
New FND_EID tables have been created in the Oracle E-Business Suite database . These tables store E-
Business Information Discovery metadata (See Appendix A: FND_EID Schema). This schema describes all
data domains used in Oracle E-Business Suite and their associated attributes, attribute groups, dependencies,
descriptive flexfield usage, data types, and more.
Metadata maintenance UIs in Oracle E-Business Suite allow users to maintain the Oracle E-Business
Information Discovery metadata for each application through the Information Discovery Developer
responsibility.

17 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


4. Getting Started with Customization of Oracle E-Business Suite
Information Discovery

This document will walk you through some examples of common ways to customize Oracle E-Business
Information Discovery to meet your business needs.
You can customize Oracle E-Business Information Discovery pages on the following levels:
 In Oracle Endeca Information Discovery Studio, customize the dashboards.
 In Oracle Endeca Information Discovery Integrator, customize the ETL graph.

You may want to modify a default Oracle E-Business Information Discovery page in order to:
 Enable attributes that are shipped by Oracle but that are not displayed in the Oracle E-Business
Information Discovery dashboards. For example, flexfield attributes are displayed in the Available
Refinements, but not in other components such as charts, results tables, and pivot tables.
 Hide attributes that are shipped by Oracle but that are not used in your business.
 Hide or display components such as charts and pivot tables.
 Add or remove the ability for users to perform certain actions on a record, such as to drill down into
the Oracle E-Business Suite.
 Create new Oracle E-Business Information Discovery pages.
 Enable Role Based Access Control (RBAC) for a new page you create.
 Add support for additional descriptive flexfields.

4.1 Setting Up the Admin User for Oracle E-Business Information Discovery
You must have appropriate permissions in order to modify Oracle E-Business Information Discovery
dashboards. To grant persmissions, assign the Oracle Endeca Studio Administrator role to an existing Oracle
E-Business Suite user.
To assign the Oracle Endeca Information Discovery Studio Administrator role to an Oracle E-Business Suite
user:
1. Navigate to Oracle Endeca Information Discovery Studio.
2. Log in as Studio Admin (admin@oracle.com). The default password is welcome123.
3. Navigate to the Control Panel.
4. Click Users.
5. Search for the desired Oracle E-Business Suite user.

18 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


Figure 7: Searching for a User

6. Click on the desired user name in the results table.


7. Under User Information, click Roles.
8. Click Select.

Figure 8: Assigning User Roles

19 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


9. Select the Administrator role.
10. Click Save.

Figure 9 shows what the Oracle Order Management Information Discovery dashboard looks like to an
Oracle E-Business Suite user who does not have the administrator role.

Note: all examples and screenshots in this paper are for Oracle Order Management.

Figure 9: The Oracle Order Management Dashboard for a Non-Administrator

For an Oracle E-Business Suite user with administrative privileges, the same Oracle Order Management
dashboard looks like this (note the content surrounded by red boxes):

20 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


Figure 10: The Oracle Order Management Dashboard with the Administrator Role

In Figure 10, note the Settings icon and the Add Component dropdown menu. Use these menus to enhance
the UI by adding, removing, or modifying components.

4.2 Backing Up and Restoring the Dashboards


Before and after you make any changes, make sure to back up all Oracle E-Business Information Discovery
dashboards as a LAR file.

4.2.1 Exporting the LAR File


Create a backup by exporting the LAR file from the Control Panel.
1. Navigate to Control Panel.
2. Click Applications.
3. Click Actions for the desired application.
4. Click Manage Pages.

21 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


Figure 11: The Manage Pages Item in the Actions Menu

5. Click the Export tab.


6. Click Export.

Figure 12: Exporting a LAR File

4.2.2 Importing a LAR File


To restore dashboards to their pre-modified state, import the LAR file that you created
earlier.
1. From the Control Panel, click Applications.

22 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


2. Click Actions for the desired application.
3. Click Manage Pages.
4. Click the Import tab.
5. Select the desired LAR file.
6. Click Import.

Figure 13: Importing a LAR File

4.3 Modifying an Information Discovery Dashboard


Without having a background in Oracle Endeca Developer, you can make many useful modifications to
Oracle E-Business Information Discovery dashboards. For example, you can:

 Move components around on the page.


 Add components like charts or tag clouds.
 Remove components.
 Add or remove a column within a table.
 Add a new charting dimension.

23 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


If you need to perform advanced modifications in the dashboards, you will need to have an Endeca
Developer background.

For more information about modifying Oracle E-Business Information Discovery dashboards, view the
demonstrations on the Oracle Endeca Information Discovery (EID) YouTube channel:
https://www.youtube.com/user/OracleEID

When modifying Oracle E-Business Information Discovery dashboards, some tasks must be completed
within the Oracle E-Business Suite. The most common of these tasks are:

 Changing the display name of an attribute


 Creating a new attribute group
 Linking a transaction in a table to an Oracle Application Framework page or an Oracle Forms page
 Enabling a flexfield

4.3.1 Changing the Display Name of an Attribute


Attribute display names are controlled through Oracle E-Business Information Discovery attribute metadata.
To modify the display name of an attribute, you must modify the attribute metadata.
Access the metadata maintenance user interface in Oracle E-Business Suite by selecting the Information
Discovery Developer responsibility.

Figure 14: Navigating to the Information Discovery Developer Responsibility

For example, view the Oracle Order Management Information Discovery metadata by looking up the Oracle
Order Management data domain name ont.

24 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


Figure 15: Searching for a Data Domain Attribute

To view the data domain names for all E-Business Information Discovery applications, refer to Appendix D
in Installing Oracle E-Business Suite Information Discovery for your release.

Installing Oracle E-Business Information Discovery, Release 12.1 V6 (Doc ID 2021664.1)


Installing Oracle E-Business Information Discovery, Release 12.2 V6 (Doc ID 1970071.1)

To change the attribute display name, complete the following steps:

1. In the Update column, click the pencil icon for the desired attribute.

Figure 16: Updating an Attribute

25 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


2. Update the Display Name.

Figure 17: The Manage Attribute Page

3. Make sure you update the Custom Display Name of the attribute so that your changes are preserved
in the case of future patch application. When you make metadata-related changes, including
changing names, you have to run a full load for the changes to take effect.

4.3.2 Creating a New Attribute Group


You can use a new attribute group to control the display of certain attributes in Available Refinements in a
results table.
To create a new attribute group:
1. Navigate to the Information Discovery Developer responsibility.
2. Search for the data domain name.

Figure 18: Searching for a Data Domain

26 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


3. In the results table, click the pencil icon in the Update column.

Figure 19: Updating a Data Domain

4. Click the + sign to create a new attribute group.


5. Enter the following details:
• Attribute Group Code
• Display Name
• Custom Display Name
• Sequence
• Description
• Custom Description
• Include in Navigation
• Include in Record

6. Click Apply.

Figure 20: Creating an Attribute Group

4.3.3 Assign Attributes to the New Attribute Group.


1. Click the pencil icon for the new attribute group.

27 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


Figure 21: Adding Attributes to an Attribute Group

2. Click Add Existing Attribute.

Figure 22: Adding Existing Attributes to the Attribute Group

3. Click the Search By dropdown list and select Data Domain Name.
4. In the search field, enter the name of the data domain in which you want to search for attributes.

28 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


Figure 23: Searching for Existing Attributes

5. Use the checkboxes to select attributes that you want to add to the attribute group.
6. Click Select.

29 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


Figure 24: Selecting Existing Attributes

7. Click Apply. The selected attributes are added to the group.

Figure 25: Clicking Apply to Create the New Attribute Group

30 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


4.3.4 Modifying a Hyperlink in a Results Table
You can modify a hyperlink in a results table so that it links to a particular Oracle Application Framework
page or to a particular Oracle Forms window. There are two hyperlink actions that can be used in a results
table: row-level action, and attribute action.

To add a row-level hyperlink to an attribute in the results table:

1. Click Configuration.
2. Click Actions.
3. Click Record Action.
4. Click Action > Hyperlink.
5. Click the edit icon. The New Hyperlink window opens.
6. Enter an Action Name.
7. In the URL field, type the URL of the page that you want to link to. Use the following format:
/OA_HTML/OA.jsp?OAFunc=<function name>
For example, the following URL links to the Oracle Order Management Open Orders page:
/OA_HTML/OA.jsp?OAFunc=ONT_ENDECA_ACTIONS_DELEGATOR

OA.jsp accepts the following parameters:

Parameter Mandatory? Description

OAFunc Yes The function code for the page you want to invoke
Dynamic variable per No Can be referenced by the attribute name using the
record following syntax: &{0}
Static parameters No Other static parameters that you want to send to the
target Oracle E-Business Suite function
Table 4: OA.jsp Parameters

To add a parameter to the URL:


1. Click Add URL Parameters. The Add Parameters dialog box opens.
2. In the attribute list, click the plus sign (+) next to each attribute you want to add.
3. Click Apply.

31 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


Figure 26: Adding a Parameter to a URL

The URL generated opens the Open Orders page for the order number of the associated record in the results
table.

Figure 27: Hyperlinks in the Open Orders Summary Results Table

32 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


Figure 28: The Target Page for the Hyperlink

To add a hyperlink that opens an Oracle Forms window, use the following function:
/Endeca/html/ebs/callForms.jsp?functionCode=<form_function_name>

For example:
/Endeca/html/ebs/callForms.jsp?functionCode=ONT_OEXOEORD

The JSP callForms.jsp accepts the following parameters:

Parameter Mandatory/ Description


Optional

functionCode Mandatory Set the function code for the function you want to invoke
(for example: OAWFB).
respId Optional Set this if you want to use a responsibility other than the
one used by the current Oracle E-Business Information
Discovery page.
respApplId Optional Set this if you want to use a different responsibility and a
different application than the ones used by the current
Oracle E-Business Information Discovery page.
securityGroupId Optional Set this if you want to use a different security group than
your current one.
languageId Optional Set this if you want to use a language other than the
default language of the Oracle Forms installation.
Table 5: CallForm.jsp Parameters

33 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


Note: You can use other parameters to pass values to Oracle Forms. These parameters must be understood
by the destination form. For example, you could pass the order number using (ORDER_NUMBER=${0}).

4.3.5 Enabling a Flexfield


Descriptive flexfields provide customizable expansion space in the Oracle E-Business Suite user interface.
You can use descriptive flexfields to track important information that is unique to your business and that
would not otherwise be captured by the user interface.

For a list of the descriptive flexfields registered for use, refer to Product Descriptive Flexfields in the Oracle
E-Business Information Discovery Integration and System Administration Guide for your release.

Oracle E-Business Information Discovery Integration and System Administration Guide Release 12.2 V6
Oracle E-Business Information Discovery Integration and System Administration Guide Release 12.1 V6

Descriptive flexfield support is available by default in the Available Refinements component. After you run
a graph, the descriptive flexfield appears in Available Refinements as an attribute group.

4.3.5.1 Enabling Descriptive Flexfield in Additional Components

You can enable descriptive flexfield support for additional components such as charts and results tables. You
must enable descriptive flexfields for these components manually because they depend on attribute keys that
are dynamically generated the first time you run a full load.

To add a descriptive flexfield segment to a component, perform the following steps:

1. Determine the attribute key for the descriptive flexfield segment.

a. Navigate to Application > Application Settings > Attribute Group Manager.

b. Expand the attribute group for your flexfield. The attribute group name is the same as the
flexfield name. For example, for the Items flexfield, expand the Items attribute group.

c. Make a note of the attribute key for your flexfield segment. The attribute key for a
flexfield segment within Oracle Endeca Information Discovery consists of a code for the
flexfield, a numerical code for a Global Data Element or context, and the attribute number.
The following examples show sample attribute keys for a flexfield with the code F40.

 F40_0_ATTRIBUTE1 - The code 0 refers to the Global Data Element for


attribute 1.
 F40_1_ATTRIBUTE2 - The code 1 refers to context1 for attribute 2.
 F40_2_ATTRIBUTE2 - The code 2 refers to context2 for attribute 2.
 F40_3_ATTRIBUTE5 - The code 3 refers to context3 for attribute 5.

2. Use the attribute key to add the segment to the EQL or to the view for the component.

34 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


For example, for a chart component, add the segment to the EQL view for the chart. For a chart
component that uses a view named CHART1, add the segment to that view as follows, replacing
dff_segment_attribute_key> with the attribute key that you located in step 1, substep c:

DEFINE CHART1 AS SELECT attribut1 as attribute1...


<dff_segment_attribute_key> as DFF segment attribute

Figure 29: Descriptive Flexfield Support in a Chart

Add segments to other types of components in the same way.

3. To show a descriptive flexfield as an attribute set in a results table, perform the following steps:

a. Navigate to the results table and click Configuration.


b. Select the column you want to configure.
c. Choose the Attribute Groups tab.
d. Drag the attribute group for the descriptive flexfield to the Persistent Column set or to the
Interchangeable Column set.

Figure 30: Descriptive Flexfield Support in a Results Table

35 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


4.3.5.2 Enabling Type-Ahead Search for Descriptive Flexfield Segments

By default, descriptive flexfield segments do not support type-ahead search. To enable type-ahead search for
descriptive flexfield segments, perform the following steps:

1. After running a full load, open the application page through the Oracle Endeca Information
Discovery Studio Administrator UI.
2. Click the configuration icon for the search box.
3. Select the descriptive flexfield segment attributes from the list. You can use the Attribute Group
Manager to determine the attribute keys, as described in the previous section.

Figure 31: Descriptive Flexfield Support in a Search Box

36 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


5. Adding New Attributes
There are two ways to add a new attribute to an Oracle E-Business Information Discovery page. The first is
to add a database attribute, and the second is to add a calculated attribute.

5.1 Adding a Database Attribute


To add a new database attribute, complete the following steps:

1. Create a custom Oracle E-Business Suite-Oracle Endeca view.


2. Define metadata.
3. Modify the ETL.
4. Enable the attribute in the Oracle Endeca UI.

Each of these steps is described in detail below.

5.1.1 Create a Custom Oracle E-Business Suite-Oracle Endeca Database View


To create a new Oracle E-Business Suite database view:

1. Start with the Oracle E-Business Suite definition used by the Oracle E-Business Suite product.
2. Update the database view to add new attributes according to your business requirements.
3. Create a custom copy of the sandbox that will read from the new custom view.

Note: Always make a copy of the DB view and ETL before modifying it. If you do not make a copy, you risk
losing your changes when a new patch is applied.

5.1.2 Define Metadata


In Oracle E-Business Suite, navigate to the Information Discovery Developer responsibility. Click the
Attribute tab, and then click Create Attribute.

Figure 32: Create an Attribute from the Information Discovery Developer Responsibility

37 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


Create attributes for each column that you want to add.

Figure 33: The Attribute Creation UI

Figure 33 shows the user interface for creating new attributes. The Profile field stores information about
unique combinations of search options to be applied to the attribute. Select one of the following options from
the dropdown list:
 Dimension – This option is used to enable the creation of hierarchical standard attribute
values, to provide a predefined list of allowed values, and as a placeholder for metadata about
the attribute values.
 Metric – This option provides a list of suggested metric elements. The metric element may
contain zero or more metrics. Each metric must contain at least one aggregation function.
 RecSpec – This option represents the primary key, which is used to uniquely identify records.
 Hierarchy – This option represents a hierarchical relationship in which records assigned to a
particular value are implicitly assigned to all of the ancestors of that value.
Select from the following check boxes to define the behavior of the new attribute:
 Managed Attribute: Identifies whether this attribute is a managed attribute.
 Hierarchical Managed Attributes: Identifies whether this attribute is a hierarchical managed
attribute.
 Dimension Search Hierarchical: If selected, hierarchical search is enabled during value
searches.

38 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


 Record Search Hierarchical: If selected, hierarchical search is enabled during record
searches.
 Dimension Enables Refinements: If selected, refinements will be displayed.

5.1.3 Enable the New Attribute in the Oracle Endeca UI


In Oracle Endeca Information Discovery Studio, verify the new attribute in the base view. Navigate to
Application Settings and then to Views and to Attributes.

Figure 34: The Newly Added Attribute Appears in the Application Settings

After you verify the new attribute, you can add it to any component on the page.

5.2 Adding a Calculated Attribute


Calculated attributes are based on Endeca Query Langage views, which you can create in the Oracle Endeca
Information Discovery Studio View Manager UI. These views can then be used to filter the data set, to
create calculated attributes, and to project the underlying data domain records in a particular shape.
When you create a view definition, Oracle Endeca Information Discovery stores it in the data domain. To
preserve the view definition, you must export it. Before making any changes, back up your existing view
definition. To back up the view definition, export it from the Oracle Endeca Information Discovery
Integrator ETLServer by running ExportViewDefinition.grf.

5.2.1 Export the View Definition


1. Log in to the Integrator ETL Server.
2. Navigate to Sandboxes.

39 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


3. Select the sandbox name you want to work on (for example, ont).

Figure 35: Integrator ETL Server – Export View Definition

4. On the navigation tree, click Graph and then click Views. Click on
ExportViewDefinitions.grf.
5. Click Run Graph.
Note: To ensure the persistence of the view configuration, the output files of ExportViewDefinitions.grf,
which are ideally sent to the data-out folder, should be configured as the input to LoadViewDefinitions.grf.
This configuration should be done in workspace.prm, in the sandbox.

40 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


Figure 36: Running a Graph from the Integrator Server

5.2.2 Creating a Custom View


To create a custom view, complete the following steps:
1. From the Studio menu, select Application Settings.
2. In the Application Settings menu, click View Manager.
3. In the Views list, click New View. The Create View Definition dialog is displayed.
4. In the Display Name field, type a name for the view.
5. Optionally, In the Description field, type a brief description for the custom view.
6. In the EQL text area, enter the view definition, including the new calculated attribute from the
required base view or views.

41 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


Figure 37: Creating a View Definition in Oracle Order Management

7. Click Validate.
8. Click Save to publish the new view.
This new view can be used in any page component.

42 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


6. Adding New Information Discovery Pages
Oracle Endeca Information Discovery pages are embedded in Oracle Application Framework pages through
a rich-content-container component.

OA Page

Endeca Page
inside a Rich
Content
Container

Figure 38: An Oracle Endeca Information Discovery Page Embedded in an Oracle Application Framework Page.

In the above figure, Oracle Endeca Information Discovery page is in a rich content container. The container
points to the same Information Discovery page deployed in Oracle Endeca Information Discovery Studio.
Create a new Endeca page by one of the following approaches:
• Create a new Endeca page and show it inside an OA container using a new Oracle Applications
Framework page. Use this approach to meet the requirements of a particular set of users. Create a
new Endeca page and assign it to a new responsibility for a defined set of users.
• Create a new Endeca page and replace the existing Oracle E-Business Information Discovery page
that Oracle ships with the new one using Oracle Application Framework Personalization. Use this
approach to replace an existing page with another Endeca page that has similar functionality.
• Create a new Endeca page and link to it using Quick Links Component. Use this approach to extend
the functionality of an existing Endeca page.

43 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


6.1 Creating a New Embedded Endeca Page

6.1.1 Create a New Endeca Page


To create a page in your Oracle Endeca Information Discovery Studio application, complete the following
steps:
1. Click the Settings icon and select Control Panel.

Figure 39: Navigating to the Control Panel in Oracle Endeca Information Discovery Studio

2. For the application to which you want to add a page, click Action and then select Manage Pages.
In this example, the application is ont (Oracle Order Management).

Figure 40:Oracle Endeca Information Discovery Studio – Applications

44 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


3. Enter a name for the new page, then click Add Page.
Note: The name of the new page must be the same as the associated FND function name.

Figure 41: Adding a new page in Oracle Endeca Information Discovery Studio

4. Click the page name, enter a friendly URL for the page, and then click Save.

Figure 42: Entering a friendly URL for a new Endeca page

6.1.2 Add Endeca Content to an Existing Oracle Application Framework Page

1. Use Oracle JDeveloper to add a rich content container component declaratively.

45 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


Note: Make sure that you have the latest version of JDeveloper.
a. Add a new item to a region.
b. Give the item a Unique ID.
c. Set the Item Style to richContainer.
d. Set the Content Type to Endeca.
e. Set AutoResize to True.
f. Specify the Destination Function.
The Destination Function should have the following web-html call:
GWY.jsp?targetAppType=Endeca&targetPage=<path to Endeca
landing page>

The profile option FND_ENDECA_PORTAL_URL should point to the Oracle Endeca


Server URL.
g. Specify the Height and Width.

Figure 43: Endeca Container Properties

6.1.3 Using Component-Based Function Security in a Rich-Content Container


Component-based function security can be used in a rich-content container by setting a Simplest Possible
Expression Language (SPEL) on the rendered property. This SPEL will return a Boolean value of either
True or False depending on the user’s authorization.
Set a SPEL on the Rendered property using Personalization in Oracle Application Framework, or in
JDeveloper for Oracle Endeca.

46 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


To set a function security SPEL in Oracle Application Framework, complete the following steps:
1. Click Personalize Page.
2. Click Personalize for the Rich-Content Container.
3. On the Rendered property, select the SPEL. A text box appears. In the text box, enter your function
security SPEL. For example:
Function Security SPEL {oa.FunctionSecurity.TEST_ENDECA_OAF_FUNCTION}
4. Click Apply and then click Return to Application.

6.1.4 Using the Auto-Resize Property in a Rich-Content Container


To allow auto-resizing of content in a rich-content container, set the autoResize property to true. The
container will then be resized for the containing document.
This can be done declaratively in JDeveloper.
For auto-resizing to succeed,
 The Global Preference setting Accessibility Features must be set to None.
 Javascript must be enabled.
 The containing document must be from the same domain.

6.1.5 Using Bookmarkable Pages to Pass Non-OAF Information to an OAF Page


When you pass information to an Oracle Application Framework page from a non-Oracle-Application-
Framework source, either through a hyperlink from the Endeca content page to an Oracle Application
Framework page or by passing parameters to the Oracle Application Framework page, you will receive the
error message “You have insufficient privileges for the current operation. Please contact your System
Administrator." To circumvent this issue, you can use bookmarkable pages.

For information about using bookmarkable pages, see Bookmarkable Pages in the Oracle Application
Framework Developer’s Guide.

6.2 Replace an Embedded Endeca Page with a New Endeca Page


To replace an existing Endeca page in an Oracle Application Framework container, first create the new
page. See Create a New Endeca Page in section 6.1.1.
After you have created the new Endeca page, complete the following steps:
1. Create an FND function.
2. Grant access to the new FND function.
3. Personalize the Oracle Application Framework page.
4. Point to the new page.

6.2.1 Create an FND Function


1. Navigate to Functional Administrator, then to Core Services, and then to Functions.
2. Create a new function.
3. Enter the function name and code.

47 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


Note: The function code must be the same as the page name. For example:
ONT_ENDECA_OPEN_ORDERS_NEW

Figure 44: Defining an FND Function

4. Enter the page URL in the HTML Call text box.

Note: the HTML call syntax following targetPage must be the same as the friendly URL in Oracle
Endeca Information Discovery Studio. For example:

GWY.jsp?targetAppType=Endeca&targetPage=web/ont/ont_Endeca_open_orders_
new

Figure 45: FND Function Details

48 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


A message appears confirming that the FND function has been created.

6.2.2 Grant Access to the FND Function


1. Navigate to Functional Administrator, then to Security and then to Permission Sets.
2. Search for the permission set created for the application. Click update.

Figure 46: Updating a Permission Set

3. Add the newly created FND function for the new page.

Figure 47: The Newly Created FND Function

4. Click Apply.

49 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


Figure 48: Adding a New Permission to the Endeca Permission Set

A message appears confirming that the permission set has been updated.

6.2.3 Personalize the Oracle Application Framework Page


1. In the Oracle E-Business Suite, navigate to the original (old) Endeca page.
2. Make sure the Profile Option Personalize Self-Service Define is set to Yes.
3. Click Settings and select the Personalize Page menu item.

Figure 49: Personalizing the Oracle Application Framework Page

4. Personalize the rich container.

50 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


Figure 50: Personalizing the Rich Container

6.2.4 Point to the New Page


1. Personalize the rich container at the organization level by adding the newly created function
ONT_ENDECA_OPEN_ORDERS_NEW in the Destination Function.

51 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


Figure 51: Personalizing the Rich Container

Figure 52: Personalizing the Rich Container Context

6.3 Create a New Endeca Page and Link it Using the Quick Links Component
This section explains how to create a new Endeca page and show it inside the same Oracle Application
Framework rich container. The Endeca page inside the rich container calls the new page using the EBS
Quick Links component. This new component allows you to add links to Oracle Application Framework
pages or to other Endeca pages.
In this section we will add a new Endeca page in Oracle Order Management Information Discovery. This
new blank page can then be used to show additional content for Open Orders.

52 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


6.3.1 Create a New Child Page
Note: Make sure that the name of the child page is same as the name of the parent page. This is required so
that this page can honor E-Business security when displaying data in the new page.
Note: Pages created this way can only be accessed through the EBS Quick Links component, by using the
configured link in the component.

1. For the Application for which you want to create a new child page, click Actions and then select Manage
Pages.

Figure 53: Managing Endeca Pages

2. Click on the name of the page you want to work on.


3. Click Children.
4. Enter the name of the child page. This must be the same as the name of the parent page.
5. Click Add Page.

53 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


Figure 54: Adding a Child Page

3. Click the expand icon for the parent page, and click the name of the new child page.
4. In the Friendly URL field, define a URL for this page. You will use this URL later to navigate to this
page.
5. Click Save and note the confirmation that your request was processed successfully.
6. Click Back to return to the first page in the application.

Note: You can also use the Copy Page dropdown list to create a copy of the existing page.

54 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


Figure 55: Creating a Child Page

To add the Quick Links Component:

1. Click the Add Component dropdown list and then click Add Component.
2. Place the EBS Quick Links component after the Selected Refinements component and before the
Bookmarks component.

55 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


Figure 56: Adding the EBS Quick Links Component

3. Rename the component to Quick Links.

Figure 57: Renaming the EBS Quick Links Component to Quick Links

4. Click the Settings icon for the component.

56 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


Figure 58: The Settings (Options) Icon for the Quick Links Component

5. Click Add Link.

Figure 59: Adding a New Quick Link

6. Configure the New Open Orders quick link :


a. In the Caption field, specify the display name of the destination target page.
b. In the URL field, enter the URL of the target page.
c. In the EBS Security Function field, enter the name of the target page name.
d. From the Type list, select the type of the page into which the target page opens.
e. In the Target dataset viewKey field, enter the name of base data set for the new Open Orders
Information Discovery target page.
f. Optionally, click the check box to enable the target page to open in a new window.

57 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


Figure 60: Configuring the EBS Quick Links Component

7. Click Save Preferences and then click Exit.

Figure 61: Saving Quick Links Preferences

58 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


When you click on the new link it will take you to the new, empty Endeca page, where you can add
components and design a new UI.

Figure 62: The Open Orders Page After Adding the EBS Quick Linklist Component

Use the new blank page to design your UI. You can add the EBS Quick Links component and provide a link
to the previous page so that users can navigate back.

59 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


7. ETL Graph Customization
E-Business Suite Information Discovery uses Oracle Endeca Information Discovery Integrator ETL to
extract records from the Oracle E-Business Suite database. The Integrator client is used to build graphs that
load data into the Endeca data domain. A graph is essentially a pipeline of components that process the
data. Integrator, with its powerful graphical interface, provides an easy way to lay out and customize your
graphs.
To customize a graph, complete the following steps:
1. Customize the database view.
2. Register attributes in the FND_EID Schema.
3. Copy the sandbox.
4. Modify the ETL graph.
Note: Always make a copy of the sandbox before modifying it. If you do not make a copy, you risk losing
your changes when a new patch is applied.

7.1 Customize Oracle E-Business Suite-Endeca Database Views


New Oracle E-Business Suite database views have been designed for Oracle E-Business Suite Information
Discovery. Each application delivers a set of views installed in the Oracle E-Business Suite database. These
views have been optimized to minimize impact on the database during the data load.

For a list of view names for each application, see Oracle E-Business Suite Extensions for Oracle Endeca
Integration and System Administration Guide:
Release 12.1 V6: https://support.oracle.com/rs?type=doc&id=2021664.1
Release 12.2 V6: https://support.oracle.com/rs?type=doc&id=1970071.1

All views contain the following columns:


 EID_ENDECA_ID: This column uniquely identifies each record within the Endeca data domain
that is returned by the view.
 EID_LAST_UPDATE_DATE: For all tables referred to by the view, this column identifies all
records in which data has changed since the most recent load. During an incremental load, this
information is used to synchronize data between the Oracle E-Business Suite database and the
Endeca data domains.
Each view also contains security-related attributes. Security-related attributes ensure that Endeca pages
honor the same data security as the Oracle E-Business Suite pages.
To customize an Oracle E-Business Suite- Oracle Endeca database view, create a copy of the view and then
modify the copy, using the following steps:
1. From the Oracle SQL *Plus tool, connect to your database.
2. Run the following script:
set pagesize 0
set long 90000
set heading off
set lines 500

60 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


set linesize 1000
select
dbms_metadata.get_ddl('VIEW','OE_ENDECA_FULFILL_DELAY_V','APPS')
FROM dual /
3. Copy the select statement of the original view that resulted from the previous run.
4. Create a new copy of the database view. For example, to create
OE_ENDECA_FULFILL_DELAY_V_NEW, use the same select statement as the original DB view,
with the following syntax:
CREATE OR REPLACE FORCE VIEW
OE_ENDECA_FULFILL_DELAY_V_NEW
AS SELECT <original select statement retrieved in step 2>

Note: Do not change the shipped Oracle E-Business Suite views. Modifications to the shipped views are not
supported and will be overwritten during patching.

7.2 Register Attributes in the FND Schema


After copying the shipped database view and updating the copy, register your new attributes in the
FND_EID tables.
For information about adding and registering attributes, refer to Adding New Attributes in section
5.1.2:Define Metadata.

7.3 Copy the Sandbox


After registering new attributes in the FND_EID schema, read the new database view in the the ETL graph
and run FullLoadConfig.grf.

7.3.1 Download the Sandbox in a ZIP file


1. Log in to Oracle Endeca Information Discovery Integrator Server.
2. Navigate to Sandboxes.
3. Select the sandbox in the left panel.
4. Click the Download Sandbox in ZIP icon on the right side of the tool bar.

61 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


Figure 63: Downloading the Sandbox into a ZIP File

The ZIP file contains all readable sandbox files in the same hierarchy that exists on the file system. You can
use this ZIP file for uploading files to the same sandbox or to another sandbox on a different server instance.

7.3.2 Create a New Sandbox


 In the left pane, click New sandbox.
 Enter the sandbox Name, ID, and Root path.
 Click Create.
Name Display name for the sandbox
ID Unique identifier for the sandbox
Root Path file system path to sandbox root
Table 6: Sandbox Attributes

62 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


Figure 64: Creating a New Sandbox

Note the successful creation of the new sandbox.

Figure 65: Sandbox Creation Confirmation

7.3.3 Upload the ZIP File to the Sandbox


1. Select the sandbox in the left pane.
2. Navigate to the Upload ZIP tab in the right pane.
3. Click + Upload ZIP. This opens the file selection dialog box.
4. Select the ZIP file to upload. The file is immediately uploaded to the server and the upload results
are displayed.

63 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


Figure 66: Uploading the ZIP File to the Sandbox

Figure 67: Navigating to the Downloaded Sandbox

64 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


Figure 68: Results of the ZIP File Upload

7.4 Modify the ETL Graph


Use CloverETL Designer to modify ETL. Since CloverETL Designer has a connector to CloverETL
Server, a designer project and a server sandbox may be linked together. A remote CloverETL Designer
project looks and works like a local project, but all files are stored on the server side and all operations are
performed on the server side.

7.4.1 Read The New Database View


1. Open the LoadDataFull.grf file.
2. Edit the DBInput Table component for which you want to update the database view.

65 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


Figure 69: Editing the DBInputTable Component

3. On the Properties tab, select click SQL Query.


4. In the SQL query editor, define the SQL query attributes of the new database view. You can also
include a WHERE clause in the query.

Figure 70: The SQL Query Editor

66 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


5. Click Validate.
6. Save the graph.

7.4.2 Include the New Attribute in Metadata


To include the new attribute in the metadata edge, complete the following steps:
1. Edit the required metadata edge to include a new attribute.
2. Add a new attribute.

Figure 71: Editing the Metadata Edge

3. If the graph has a reformat component, add the new attribute in the transform editor.

Figure 72: Editing the Reformat Component

4. Save all.

67 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


7.4.3 Run the Graph
After you update the graph, run the FullLoadConfig.grf graph to update the data domain.

Figure 73: The FullLoadConfig Graph

68 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


8. Customizing Descriptive Flexfields
Oracle E-Business Suite Information Discovery supports descriptive flexfields to you can discover and
search on the descriptive flexfield attributes in your data domain. Descriptive flexfield support is available
by default within the guided navigation component.

8.1 Adding a Custom Descriptive Flexfield


To add a custom descriptive flexfield, complete the following steps:
1. Register the new flexfield through the Endeca Metadata UI.
2. Create descriptive flexfield usages.
3. Compile the flexfield definition to create metadata.
4. Modify the Clover ETL graph.
5. Add parameters in the workspace.prm file for the new flexfield.
6. Invoke the descriptive flexfield graphs in the Common Sandbox from the full load graph and
incremental load graphs.
7. Run the FullLoadConfig graph from the product sandbox.

8.1.1 Register the New Flexfield Through the Endeca Metadata UI


Use the Information Discovery Developer responsibility to access metadata UIs in the Oracle E-Business
Suite. In Oracle E-Business Suite Release 12.2.5, the Extensions for Endeca Developer responsibility has
been renamed to Information Discovery Developer.

Figure 74: The Information Discovery Developer Responsibility

69 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


For example, you can view the Oracle Order Management Information Discovery metadata by looking up
the data domain name ont.
To navigate to the Data Domain page:
1. Click the pencil icon in the Assign Flexfields column.

Figure 75: Endeca Metadata UI - Data Domain

2. Click the plus sign (+).


3. Provide the name of the application that owns the descriptive flexfield.
4. Provide the descriptive flexfield title.
For example, the descriptive flexfield MTL_SYTEM_ITEMS is owned by the Oracle Inventory
Management application. It can be consumed by other products such as Oracle Order Management.

Figure 76: Assigning a Descriptive Flexfield in the Endeca Metadata UI

8.1.2 Define Collections for the Data Domain


In V6, all attribute groups should be prefixed by the collection keys. The convention for an attribute group
name is <collection_key.attribute_groupname>. For example, Oracle Order Management

70 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


has three collections. Their collection keys are ont-closed, ont-open and ont-return.The
FND_EID_RECORD_TYPES table is a seed data table that holds the collections in every data domain. The
COLLECTION_KEY column stores the name of the collection key. If you plan to create your own
collection and associate the descriptive flexfield with the newly created collection, you need to add a record
into the FND_EID_RECORD_TYPES table. The new record can be created through an INSERT SQL
statement.

8.1.3 Create Descriptive Flexfield Usages


A descriptive flexfield may or may not be used in all collections in the data domain. There must be a way
to define the usage of the descriptive flexfield for a particular collection. This is done using the descriptive
flexfield usages UI. This creates an entry in the FND_EID_DFF_USAGES table. The list of collections is
retrieved from the FND_EID_RECORD_TYPES table, so it is important to ensure that the
FND_EID_RECORD_TYPES table has the new collection defined.
Use the Descriptive Flexfield Usages UI to assign descriptive flexfields to the relevant collections.
1. Click the icon in the Descriptive Flexfield Usages column for the descriptive flexfield.
2. In the Descriptive Flexfield Usages UI, select the collections to which the descriptive flexfield is
applicable
3. Click Apply in the Flexfield Usages UI.
4. Click Apply in the Assign Descriptive flexfields UI.

Figure 77: Assign Descriptive Flexfields

8.1.4 Compile the Flexfield Definition To Create Metadata


After you have registered a descriptive flexfield for use in the Endeca data domain, complete the following
steps:
1. Compile the flexfield definition to generate the Endeca metadata on the Oracle E-Business Suite
side. This metadata controls the behavior of the flexfield through attributes such as display name,
type, and dependencies.
2. Verify that the business event oracle.apps.fnd.flex.dff.compiled is triggered for the
descriptive flexfield that you compiled. For example, in Figure 78, the business event is
OE_HEADER_ATTRIBUTES.

71 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


Figure 78: The Worklist Event oracle.apps.fnd.flex.dff.compiled

Figure 79: Worklist Notification Details

72 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


When the descriptive flexfield is compiled, the following metadata is generated.

Table Name Verification


FND_EID_DFF_REG A record is created for the new descriptive flexfield.
FND_EID_DFF_USAGES A record is created for each collection key assigned to the
descriptive flexfield.
FND_EID_GROUPS_B A record is created with value of the
FND_EID_GROUPS_TL EID_INSTANCE_GROUP column equal to the new
descriptive flexfield name.
FND_EID_ATTR_GROUPS A record is created for each segment registered for the
descriptive flexfield. The EID_INSTANCE_ATTRIBUTE
column has a value such as
F<#>_<#>_<DFF_SEGMENT>. The
EID_INSTANCE_GROUP column has the name as the
descriptive flexfield.
FND_EID_PDR_ATTRS_B Records are created for the segments registered to the
FND_EID_PDR_ATTRS_TL descriptive flexfield.
FND_EID_PRECEDENCE_RULES Precedence rules control which segments are displayed when
a context is selected in Available Refinements. The trigger
instance attribute is the context value. The target instance
attributes are the segments for the context. There are no
precedence rules for global descriptive flexfield segments.
Therefore, segments registered for global descriptive
flexfields are shown directly under the attribute group.
Table 7: Descriptive Flexfield Metadata Database Tables

Figure 80: The FND_PRECEDENCE_RULES Table

73 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


Figure 81: The FND_EID_GROUPS_B Table

Figure 82 The FND_EID_GROUPS_B Attributes

Figure 83: The Attributes Tab in the Endeca Metadata UI

Use the Attributes tab shown in Figure 83 to verify that the metadata has been generated.
The Attribute Group Code is the name of the descriptive flexfield. Each group is assigned a unique sequence
number. In Figure 71, for OE_ORDER_HEADERS, the sequence number is 24. All attributes under the
OE_HEADER_ATTRIBUTES group will have the prefix F24. The zero after the prefix indicates the context
or global descriptive flexfield segments. The number one indicates the first context and the number two

74 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


indicates the second context. From Figure 83 we can infer that OE_HEADER_ATTRIBUTES has one
global descriptive flexfield segment. It has one descriptive flexfield context having four attributes which
follow the naming convention F24_1_ATTRIBUTE1 to F24_1_ATTRIBUTE4.
The descriptive flexfield title is shown in the Available Refinements component as a group, and the contexts
are shown when the group is expanded. When a context is selected, the segments registered under the
context are displayed.

8.1.5 Modify the Clover ETL Graph


Modify the Clover ETL graph to write flexfield attributes to a temporary file. An Oracle E-Business Suite
record on a table that has a descriptive flexfield contains both descriptive-flexfield attributes and non-
descriptive-flexfield attributes. Descriptive-flexfield attributes are ingested into the data domain by the
descriptive flexfield graphs in the Common Sandbox. Non-descriptive-flexfield attributes must be ingested
into the data domain as part of the customization process.
The Spec attribute is used to uniquely identify a record in the data domain. The Common Graph uses the
Spec attribute to merge the descriptive flexfield attributes with non-descriptive flexfield attributes.
Because descriptive flexfields are dynamic and are specific to each implementation, the Common Graph
needs to know the structure of each flexfield and its segments. This information is provided by the metadata
file DFF_IN_METAFILE parameter in the workspace.prm file.
To modify the graph complete the following steps:
1. Create a new graph or modify an existing graph to ingest additional descriptive flexfield data from
the Oracle E-Business Suite.
2. Add a database input table component to read the data from the Oracle E-Business Suite table.
3. Create the input metadata for the input record.
4. Identify the spec attribute in the metadata.
5. Add a reformat component to transform the input data into descriptive-flexfield attributes and non-
descriptive-flexfield attributes as follows:

75 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


// $in.0 indicates the data coming in from input port.
// $out.0 indicates the data written to the zeroth output port. In the following
code , the non-dff data
// $out.1 indicates the data written to the first output port. In the following code
snipper, the dff-data
// notice that the EID_ENDECA_ID is the spec attribute is present in both the ports.
function integer transform()
{
$out.0.EID_ENDECA_ID = $in.0.EID_ENDECA_ID;
$out.0.EID_LAST_UPDATE_DATE = $in.0.EID_LAST_UPDATE_DATE;
$out.0.REQUISITION_NUMBER = $in.0.REQUISITION_NUMBER;
$out.0.ORDER_TRANSACTION_AMOUNT = $in.0.ORDER_TRANSACTION_AMOUNT;
$out.0.ORDER_ORDER_AMOUNT = $in.0.ORDER_ORDER_AMOUNT;
$out.0.RELATED_PO_NUMBER = $in.0.RELATED_PO_NUMBER;
$out.0.PO_RELEASE_NUMBER = $in.0.PO_RELEASE_NUMBER;
// writing the DFF attributes to 1st output port.
$out.1.ATTRIBUTE1 = $in.0.ATTRIBUTE1;
$out.1.ATTRIBUTE2 = $in.0.ATTRIBUTE2;
$out.1.ATTRIBUTE3 = $in.0.ATTRIBUTE3;
..
..
..
..
$out.1.CONTEXT = $in.0.CONTEXT;
$out.1.EID_ENDECA_ID = $in.0.EID_ENDECA_ID;
return ALL;
}

In the code example above, the input data has been separated into two outputs. Use the
ENDECA_BULK_ADD_OR_REPLACE_RECORDS component To write the non-descriptive-flexfield
data into the data domain.
The input for the ENDECA_BULK_ADD_OR_REPLACE_RECORDS component is the non-descriptive-
flexfield data.
Connect the zeroth output port of the reformat component as input to the
ENDECA_BULK_ADD_OR_REPLACE_RECORDS component. Provide the following parameters:
Parameter Name Description
SPEC_ATTRIBUTE Identifies records uniquely in the Endeca data domain
DATA_DOMAIN_NAME Name of the Endeca data domain
ENDECA_SERVER_HOST Endeca Server Host
ENDECA_SERVER_PORT Endeca Server Port
COLLECTION_KEY The data set under the data domain into which non-descriptive-
flexfield attributes needs to be ingested.
Table 8: Parameters for the Non-Descriptive-Flexfield ETL Component

76 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


Next, write the descriptive flexfield data from the first output port into the Clover-readable temporary file.
This is done by adding a CLOVER_WRITER component. The input for the CLOVER_WRITER component
is the descriptive flexfield data. Connect the first output port of the reformat component as input to the
CLOVER_WRITER. Provide the path to the sandbox where the temporary files should be written. For
example, the path might be ${PROJECT}/data-out/NewDffName.out.
The graph in Figure 72 shows a case in which a descriptive flexfield was shipped as part of the standard
solution. As described above, it has a DATABSE_INPUT_TABLE component to read from the database
view. Reformat the component to separate descriptive-flexfield attributes and non-descriptive-flexfield
attributes into two output ports. Finally, the graph has the CLOVER_WRITER component to write the
descriptive flexfield attributes into a temporary file, and the
ENDECA_BULK_ADD_OR_REPLACE_RECORDS component to write non-descriptive-flexfield
attributes to the data domain.

Figure 84: FullLoad Graph with the Shipped Descriptive Flexfield

Figure 73 shows that a new descriptive flexfield has been added to the existing graph. The new components
are the two inside the box. The new descriptive flexfield data is written into a Clover-readable temporary
file, and the DFF_GetFlexFieldData.grf graph located in the Common Sandbox is called.

Figure 85: FullLoad Graph with Newly Added Descriptive Flexfield

77 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


8.1.6 Add Parameters in the Workspace Parameter File for the new Descriptive Flexfield
Add the parameters in Table 9 to the workspace.prm file.

Parameter Name Description


DFF_NAME This is the name of the new flexfield.
DFF_IN_DATAFILE This is the Clover-readable temporary file generated in the previous step. It
is the input file for the descriptive flexfield data.
DFF_IN_METAFILE This is the metadata that defines the temporary file created in the previous
step.
DFF_METADATA_FILE This is the placeholder for the dynamic metadata file generated by
DFF_GetFlexFieldData.grf invocation.
Table 9: Descriptive Flexfield Parameters in workspace.prm File

If any parameter listed in Table 9 already exists in the workspace.prm, use a unique identifier such as
DFF_NAME1 or DFF_NAME<n> .

Figure 86: Added Parameters for a Descriptive Flexfield in the workspace.prm File

8.1.7 Invoke the Common Sandbox Descriptive Flexfield Graphs


As mentioned above, the descriptive flexfield attributes are loaded into the data domain by the descriptive
flexfield utility graphs in the Common Sandbox.

In this step, call the Common Sandbox graph DFF_GetFlexFieldData.grf with the descriptive
flexfield parameters specified in workspace.prm for the new descriptive flexfield. To do this, add a
RUN_GRAPH component as shown below. Provide the parameters of the graph to run as
sandbox://Common/graph/DFF_GetFlexFieldData.grf.

78 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


Figure 87: The Load DFF Data Component for a New Descriptive Flexfield

The parameters to be passed are:

Parameter Name Description


APPLICATION_ID_1 Application ID of the application that owns the descriptive flexfield
DFF_NAME_1 Name of the descriptive flexfield to be processed
Input file for your descriptive flexfield data. (The Clover-readable
DFF_IN_DATAFILE_1
temporary file)
DFF_IN_METAFILE_1 Metadata that defines the Clover-readable temporary file
Placeholder for the dynamic metadata file generated by the
DFF_METADATA_FILE_1
DFF_GetFlexFieldData.grf in the Common Sandbox
INSTANCE_ID Endeca Instance ID corresponding to the product
The Spec attribute that uniquely identifies records in the Endeca data
SPEC_ATTRIBUTE
domain
DATA_TYPE Data type of the Spec attribute

DATA_DOMAIN_NAME Name of the Endeca data domain

ENDECA_SERVER_HOST Endeca Server Host

ENDECA_SERVER_PORT Endeca Server Port


Specific language for which the descriptive flexfield data needs to be
LANGUAGE_CODE
ingested
The collection key for the current invocation of the Central DFF
COLLECTION_KEY_1
graph
Table 10: Load Descriptive Flexfield Data Component Parameters

79 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


In Table 10, The suffix “_1” in a parameter name denotes that the parameter is applicable for the first
invocation of the descriptive flexfield central graph DFF_GetFlexfieldData.grf. Similarly, if there
are other descriptive flexfields that need to be processed, the product graph will invoke the central graph
again in the next phase with parameter names such as DFF_NAME_2 and DFF_IN_DATAFILE_2.

The parameters to be passed are:

DFF_IN_DATAFILE_1
DFF_IN_METAFILE_1
DFF_METADATA_FILE1
APPLICATION_ID
DFF_NAME_1
INSTANCE_IS
SPEC_ATTRIBUTE
DATA_TYPE
DATA_DOMAIN_NAME
ENDECA_SERVER_HOST
ENDECA_SERVER_PORT
LANGUAGE_CODE
COLLECTION_KEY_1

8.1.8 Run the Full Load Configuration Graph and Incremental Load Graphs
Compilation of a new descriptive flexfield that is used in a data domain results in the creation of attribute
and attribute-group metadata in Oracle E-Business Suite. This metadata needs to be brought into Oracle
Endeca Information Discovery Studio. Do this by running the FullLoadConfig graph from the sandbox
created.
Invoke the FullloadConfig graph from the sandbox created. This graph invokes child graphs from the
same sandbox and from the Common Sandbox. Verify that DFF_GetFlexFieldData.grf is called with
the parameters specified in the workspace.prm for the new descriptive flexfield.
After the FullLoadConfig graph is invoked successfully, descriptive flexfields are shown in the
Available Refinements region in the Oracle Endeca Information Discovery Studio page.

80 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


Figure 88: Descriptive Flexfield Attribute Group in Guided Navigation

81 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


9. Write a New Security Handler
9.1 Introduction to the Security Handler
Oracle Endeca Information Discovery Studio ships with a default security manager that intercepts queries
and modifies them based on user, role, or group.

In Oracle E-Business Suite, we replace the default Endeca handler with an Oracle E-Business Suite security
handler. The purpose of the Oracle E-Business Suite handler is to inject Oracle E-Business Suite-specific
data security rules before any data is sent back as a response to a user request. The Oracle E-Business Suite
handler uses the dataset key to look for the corresponding security handler class. Providing a specific data
security handler is optional. If the data security handler is missing, Endeca defaults to executing the main
filter conditions that are part of the Oracle Endeca Server definition. In Endeca, these are referred to as role-
based filters.

Figure 89: A Security Handler

9.2 Creating a Security Handler


Security is applied at the dataset level, so each dataset should have its own security handler.
When you create a security handler:
 The security handler class name must be formed from the dataset key stripped of any special
characters like dashes, with the first character in upper case, followed by “SecurityHandler.” For
example, for the dataset key icx-iproc, the security handler class name must be
IcxiprocSecurityHandler.java.

 The security handler package name must use the format


oracle.apps.<PRODUCT_NAME>.endeca.portal.security.extensions.handl
ers.impl. For example, for the dataset key icx-iproc, the package name must be
oracle.apps.icx.endeca.portal.security.extensions.handlers.impl

 The security handler class must implement the interface


oracle.apps.fnd.endeca.portal.security.extensions.handlers.EbsSecu

82 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


rityHandler and must extend the abstract class
oracle.apps.fnd.endeca.portal.security.extensions.handlers.EbsAbst
ractSecurityHandler.

 The EbsSecurityHandler interface :

oracle.apps.fnd.endeca.portal.security.extensions.handlers.
EbsSecurityHandler

Method signature Description


public RecordFilterExpression This method must be implemented by the
getFilterAttributeValues(String userId, String security handler class. This returns the
orgId, String respId, String respAppId, String security EQL expression encapsulated in
secId); RecordFilterExpression instance.
Table 11: Oracle E-Business Suite Security Handler Interface

See Appendix E: Security Classes Javadoc

This interface has two nested static classes:

o The final inner class RecordFilterExpression, which encapsulates the EQL expression that is
returned by the call to the security handler:

oracle.apps.fnd.Endeca.portal.security.extensions.handlers.Ebs
SecurityHandler.RecordFilterExpression

Method signature Description


protected void setExpression(String This method is used to set the encapsulated
expression); EQL expression in the RecordFilterExpression
instance.

public String getExpression(); This method is used to return the encapsulated


EQL expression from the
RecordFilterExpression instance.
Table 12: Final Inner Class RecordFilterExperession

See Appendix E: Security Classes Javadoc

o The final abstract inner class RecordFilterExpressionHelper which has helper methods for
constructing the EQL expression using “NOT”, “AND” and “OR” operators. For example:

If key=”ORG_ID” and List<String> list1 = Arrays.asList({"100001", "100002",


"100123"}); where the list of values (list1) should be obtained dynamically at your
handler. Typically you will have it like: List<String> list1 =
getAccessibleOrgIds(respId, conn); But here I added these statically just for
explanation.

83 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


Operator Operation Result

RecordFilterExpression r1 =
((ORG_ID = ‘100001’) OR
RecordFilterExpressionHelper.
OR (ORG_ID = ‘100002’) OR
createRecordFilterExpressionO
(ORG_ID = ‘100123’))
R(key1, list1);

RecordFilterExpression r11 =
OR (Attribute ((ORG_ID = 100001) OR
RecordFilterExpressionHelper.
type is (ORG_ID = 100002) OR
createRecordFilterExpressionO
numeric) (ORG_ID = 100123))
R(key1, list1, true);

RecordFilterExpression r111 =
OR (Multi- SOME X IN ORG_ID
RecordFilterExpressionHelper.
assign SATISFIES (X = '100001' OR X
createINRecordFilterExpressio
attribute) = ‘100002’)
nOR(key1, list1);

RecordFilterExpression r1111
OR (multi-
= SOME X IN ORG_ID
assign
RecordFilterExpressionHelper. SATISFIES (X = 100001 AND
numberic
createINRecordFilterExpressio X = 100002)
attribute)
nOR(key1, list1, true);

RecordFilterExpression r2 =
((ORG_ID = ‘100001’) AND
RecordFilterExpressionHelper.
AND (ORG_ID = ‘100002’) AND
createRecordFilterExpressionA
(ORG_ID = ‘100123’))
ND(key1, list1);

AND RecordFilterExpression r21 =


((ORG_ID = 100001) AND
(Attribute RecordFilterExpressionHelper.
(ORG_ID = 100002) AND
type is createRecordFilterExpressionA
(ORG_ID = 100123))
numeric) ND(key1, list1, true);

RecordFilterExpression r211 = SOME X IN ORG_ID


AND (Multi-
RecordFilterExpressionHelper. SATISFIES (X = '100001' AND
assign
createINRecordFilterExpressio X = ‘100002’ AND X =
attribute)
nAND(key1, list1); ‘100003’)

RecordFilterExpression r2111
AND (multi-
= SOME X IN ORG_ID
assign
RecordFilterExpressionHelper. SATISFIES (X = 100001 AND
numberic
createINRecordFilterExpressio X = 100002 AND X = 100003)
attribute)
nAND(key1, list1, true);

84 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


RecordFilterExpression r3 =
(NOT((ORG_ID = '100001') OR
RecordFilterExpressionHelper.
NOT (ORG_ID = '100002') OR
createRecordFilterExpressionN
(ORG_ID = '100003'))
OT(key1, list1);

RecordFilterExpression r31 =
NOT (NOT((ORG_ID = 10000') OR
RecordFilterExpressionHelper.
(Numberic (ORG_ID = 100002) OR
createRecordFilterExpressionN
attribute) (ORG_ID = 100003))
OT(key1, list1, true);

RecordFilterExpression r311 =
NOT (Multi- NOT (SOME X IN ORG_ID
RecordFilterExpressionHelper.
assign SATISFIES (X = '100001' OR X
createINRecordFilterExpressio
attribute) = ‘100002’))
nNOT(key1, list1);

RecordFilterExpression r3111
NOT (Multi-
= NOT (SOME X IN ORG_ID
assign
RecordFilterExpressionHelper. SATISFIES (X = 100001 OR X
numeric
createINRecordFilterExpressio = 100002))
attribute)
nNOT(key1, list1, true);

((ORG_ID = ‘100001’) OR
RecordFilterExpression r4 = (ORG_ID = ‘100002’) OR
RecordFilterExpressionHelper. (ORG_ID = ‘100123’)) OR
OR
createRecordFilterExpressionO ((ORG_ID = ‘100001’) AND
R(r1, r2); (ORG_ID = ‘100002’) AND
(ORG_ID = ‘100123’))
((ORG_ID = ‘100001’) OR
RecordFilterExpression r5 = (ORG_ID = ‘100002’) OR
RecordFilterExpressionHelper. (ORG_ID = ‘100123’)) AND
AND
createRecordFilterExpressionA ((ORG_ID = ‘100001’) AND
ND(r1, r2); (ORG_ID = ‘100002’) AND
(ORG_ID = ‘100123’))
Table 13: Inner Class RecordFilterExpressionHelper

See Appendix E: Security Classes Javadoc

85 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


 The EbsAbstractSecurityHandler abstract class has the following methods:

oracle.apps.fnd.endeca.portal.security.extensions.handlers.EbsAbstractSecurityHandler

Method signature Description

Used to set the encapsulated


public void setConnection(Connection connection); database connection in the security
handler instance

Used to return the encapsulated


protected Connection getConnection(); database connection from the
security handler instance

Used to get the value of the


protected String getSessionParamValue(String paramName attribute/parameter
paramName) from the Oracle E-Business Suite
session

Used to set the encapsulated Oracle


public void setSession(AppsSession session) E-Business Suite session in the
security handler instance

Table 14: EbsAbstractSecurityHandler Abstract Class

See Appendix E: Security Classes Javadoc

9.2.1 Writing A New Security Handler


To write a new security handle, complete the following procedure:
1. Determine the dataset key. For example, icx-iproc. Note that the dataset key must include the
hyphen. Otherwise the default security handler will be used.

2. Create a new project using your preferred Integrated Development Environment (IDE).

3. Add classpath dependencies as described in Table 13.

Jar File Name Mandatory? Comments


FndEndecaSecuri Yes This jar file exists in
ty.jar <ENDECA_BASE>/Oracle/Middleware/use
r_projects/applications/Endeca_doma
in/studio-portal/APP-INF/lib
log4j.jar No This file can be found at
<ENDECA_BASE>/Oracle/Middleware/use
r_projects/applications/Endeca_doma
in/studio-portal/APP-INF/lib. You must
add this in order to add debug messages.

86 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


fndext.jar No This file can be found at
<ENDECA_BASE>/Oracle/Middleware/use
r_projects/applications/Endeca_doma
in/studio-portal/APP-INF/lib.

You must add this in order to add debug messages,


and in order to access the AppsSession. To get
attributes and parameters from AppsSession, use the
method getSessionParamValue in the class
oracle.apps.fnd.endeca.portal.secur
ity.extensions.handlers.EbsAbstract
SecurityHandler
Table 15: Classpath Dependencies

Note: Add other optional .jar files according to your needs.

4. Create a new package named


oracle.apps.<PRODUCT_NAME>.endeca.portal.security.extensions.hand
lers.impl where the PRODUCT_NAME is the one determined in step 2. It must be in lower
case. For example, if the product name is icx then the package name must be
oracle.apps.icx.endeca.portal.security.extensions.handlers.impl.

5. Create a new class. The class name should begin with the dataset key, without non-alphanumeric
characters like the hyphen. Capitalize only the first character. Finally, append “SecurityHandler”
to the end. For example, for the dataset icx-iproc the class name must be
IcxiprocSecurityHandler. This new class must be within the package created in step 4.

6. This new class must implement the EbsSecurityHandler interface and extend the
EbsAbstractSecurityHandler abstract class. The declaration for the new class is:
public class <CLASS_NAME> extends EbsAbstractSecurityHandler
implements EbsSecurityHandler {}.

7. Because the class implements the EbsSecurityHandler interface, it must add implementation to the
getFilterAttributeValues method. The security manager will provide the Oracle E-Business Suite
session ID and the database connection to the class before calling this method. The helper methods
in the RecordFilterExpressionHelper helper class are used to construct the final EQL expression.

8. Generate the jar file from this project using your Integrated Development Environment (IDE).

9.2.2 Deploy The Security Handler


1. Move the created jar file to
<ENDECA_BASE>/Oracle/Middleware/user_projects/applications/End
eca_domain/studio-portal/APP-INF/lib.
2. Stop the studio-managed server.
3. Deploy the studio-portal from the Endeca domain console.
4. Start the studio-managed server.

87 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


9.2.3 General Tips
• Because Oracle Endeca Information Discovery Studio is based on Java 6, you must
compile code in Java 6.
• Make sure the code handles all errors and exceptions.
• When binary operations are used extensively, page loading may slow down as the
number of records increases. To prevent performance degradation, limit the use of OR
and AND operations.
• The database connection must not be closed. The security handler does not own the
database connection; the connection is provided by the security manager.
• To enable future diagnostics with debugging turned on, add debug messages for filter
conditions. For example, the following code sample shows [explain the code example].
Public EbsSecurityHandler. RecordFilterExpression
getFilterAttributeValues(String userId, String orgId, String
respId, String resAppId, String secId) {
getLogger().debug(“IcxiprocSecurityHandler -- >
getFilterAttributeValues : Start”);
getLogger().debug(“IcxiprocSecurityHandler -- >
getFilterAttributeValues : received parameters are [userId = “ +
userId + “, orgId = “ + orgId + “, respId = “ + respId + “,
resAppId = “ + resAppId + “ and secId = “ + secId + “]”);
//Some business logic
getLogger().info(“IcxiprocSecurityHandler -- >
getFilterAttributeValues : EQL expression constructed
successfully”);
//Some other business logic
getLogger().debug(“IcxiprocSecurityHandler -- >
getFilterAttributeValues : End”);
}

88 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


10. Additional Resources

Installing Oracle E-Business Suite Information Discovery, Release 12.1 V6 (Doc ID 2021664.1)
» https://support.oracle.com/rs?type=doc&id=2021664.1

Oracle E-Business Suite Extensions demo on YouTube


» https://www.youtube.com/user/OracleEBSdemos

Oracle E-Business Suite Information Discovery Integration and System Administration Guide
» https://docs.oracle.com/cd/E26401_01/doc.122/e49519/toc.htm

89 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


Appendix A: FND_EID Schema
The data in an Endeca application have both a physical structure and a logical structure. To
understand the difference between physical structure and logical structure, consider a relational
database. A relational database has a set of tables, each of which contains its own data.
Relationships exist among the tables that allow you to create logical records from data spread
across multiple tables.

Figure 90: FND_EID Schema,Physical Structure

The following diagram represents the high-level logical data model of the FND schema.

Figure 91: FND_EID Schema, Logical Data Model

1 | ENTER TITLE OF DOCUMENT HERE


As shown in Figure 80, the FND_EID schema includes the following tables:

FND_EID_INSTANCES
This table stores information about all the instances registered in Oracle E-Business Suite. Each row
includes the application identifier,which uniquely identifies racle E-Business Suite, instance ID, and data
domain name.

FND_EID_RECORD_TYPES
This table stores information about all record data types that are defined in the Oracle Endeca Information
Discovery application. Each Oracle Endeca Information Discovery instance can contain one or more record
types, and each type is loaded by a database view. This table contains the following information:

 The record type of the Oracle E-Business Suite application for Oracle Endeca Information
Discovery
 The name of the database view used during ETL to extract data for this record type into the Oracle
Endeca Information Discovery data store
 The name of the ETL graph for full and incremental loads.

In V6, all Oracle E-Business Information Discovery applications use this table to store the dataset details
and collection keys.

FND_EID_PDR_ATTR_PROFILES
This table stores information about unique combinations of search options to be applied to attributes in
Endeca. These profiles are grouped by a function name and are shared across all participating applications.
The seeded profiles include those listed in the table below.

2 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


Seeded Profile Description

Enables the creation of hierarchical or standard attribute values


Dimension to provide a list of predefined allowed values. Acts as a
placeholder for metadata on the attribute values.

Provides a list of one or more suggested metric elements. The


Metric metric element may contain zero or more metrics. Each metric
must contain at least one aggregation function.

Turns off navigation, turns on record search, and turns off


Detail
snippets.

Turns off navigation, turns on record search and turns on


Text
snippets.

Represents the primary key and is used to uniquely identify


records. You can use any attribute as a primary key as long as
the attribute is single-assign and guaranteed to be unique.
RecSpec
An attribute is unique when no two records in a single Endeca
data domain have the same value for the attribute. Note that by
default, a standard attribute is not unique.

Represents a hierarchical relationship in which records


Hierarchy assigned to a particular value are implicitly assigned to all of
the ancestors of that value.

DimensionNoRecCounts Represents the dimension without the record-count option.

DimensionNoTextSearch Represents the dimension without the test-search option.

Represents the dimension without record count and without


DimNoRecCountsNoTextSearch
test search.

FND_EID_DDR_MGD_ATT_VALS
This table contains the managed attribute values. It contains the managed attribute ID, the attribute display
name, and the ID of the parent attribute.

FND_EID_ETL_AUDITS
This table contains the following details for each time the ETL graph runs:
• On which data store the ETL graph ran
• The name of the graph
• The start time
• The end time
• The language chosen for ETL data
• Whether the graph run succeeded or failed

3 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


FND_EID_PDR_ATTRS_B
This is the base table of Property Description Record (PDR) attributes. A Property Description Record is a
system record that defines and stores metadata about a standard or managed attribute in an Endeca data
domain. You must have a PDR created in order to build a schema for your data records.

A PDR contains attribute details that are independent of the language, such as profile code and instance
group. PDRs have required attributes and can also have user-defined attributes.

For each standard attribute, the associated PDR defines the following:

• Name
• Type
• Display Name
• Language

In addition, the PDR defines:

• Configuration parameters such as searchability


• Navigability settings such as whether to show record counts for available refinements, whether to
enable multi-select, and how to sort refinements

FND_EID_PDR_ATTRS_TL
This is a translatable table that consists of language-specific attribute details like attribute display name,and
user display name. This forms the attribute view for the Endeca content.

FND_EID_GROUPS_B
This the base table for the attribute group. It contains attribute group details that are independent of the
language, such as EID instance group and group sequence.

FND_EID_GROUPS_TL
This is a translatable table that consists of language-specific attribute group details, including attribute
group display name and user display name.

FND_EID_ATTR_GROUPS
This is a join table that creates a many-to-many relationship between the FND_EID_PDR_ATTRS_B table
and the FND_EID_GROUPS_B table.

An attribute group is an ordered collection of attributes. Attribute groups are stored in the Oracle Endeca
Server as records. They are useful for organizing a large number of attributes in the user interface of a
front-end application like Oracle Endeca Information Discovery Studio. You can define a set of attribute
groups to be displayed, assign attributes to each group, and determine the display order of the groups and
attributes. You can assign an attribute to more than one attribute groups. There is also a default attribute
group called Other, which contains all attributes that you have not assigned to a group.

FND_EID_MGD_AT_VAL_ADL
This table contains additional synonyms (meanings or similar search words) for a managed attribute value.
The first synonym is stored in the FND_EID_DDR_MGD_ATT_VALS table. Any additional synonyms
are stored in this table.

4 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


FND_EID_PRECEDENCE_RULES
Precedence rules provide a way to progressively display certain attributes until they offer a useful
refinement of the navigation state. Precedence rules are defined in terms of a trigger attribute and a target
attribute, where a user's selection of the trigger reveals the previously unavailable target attribute to the
user. That is, precedence rules are triggered by implicit or explicit selections of either managed attribute
values or standard attribute values. This table holds the trigger attributes that are used in precedence rules.

FND_EID_SANDBOXES
A sandbox is a base storage unit for a project. It is a server-side analogue to a CloverETL Designer project.
A sandbox is a dedicated directory on the server file system. This table contains information about every
sandbox defined.

FND_EID_GRAPHS
A graph is a pipeline of components that process data. A graph has a Reader component to read in the
source data, and an Integrator connector to write the data to the Oracle Endeca Server. This table contains
information about the graphs defined in every sandbox.

FND_EID_DFF_USAGES
This table stores descriptive flexfield names and the collection key.

FND_EID_DFF_REG
This table is used for registering a descriptive flexfield for Endeca uptake. Not all descriptive flexfields are
supported by Endeca by default.

FND_EID_DFF_CTX_REG_B
This base table stores translated information about descriptive flexfield context.

FND_EID_DFF_CTX_REG_TL
This table stores translated information about descriptive flexfield context. Each row also includes the
language code of the translation. For each descriptive flexfield context, there is a row for each of the
installed languages.

5 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


Appendix B: Custom Components
Oracle E-Business Suite custom components are designed to provide powerful components that help you to
see more and act faster.

EBS Quick Links


This component facilitates the quick and easy integration across Oracle Information Discovery applications
as well as between Oracle Information Discovery applications and Oracle E-Business Suite forms and OA
pages.
Configuration

To configure the EBS Link list:

1. Log in to Oracle Endeca Information Discovery Studio as the Admin user.

2. The EBS Quick Links component is available from the Information Discovery section in the Add
Component menu.

3. Place the EBS Quick Links Component after the Selected Refinements component and before the
Bookmarks component.

4. Rename the component name to Quick Links.


5. In the Quick Links component, click the Settings icon.

6 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


6. Click Add Link: to enter the details of the new quick link, representing the target page type and
its URL as well as specific attributes (filters) required to be applied from the source page to the
target one

7. Enter a caption for the Quick Links that will appear on the page.

9. Enter target page URL according to its type, using the following
syntax:
• Endeca page
/endeca/web/ont/ont-open
• EBS OA page
/OA_HTML/OA.jsp?OAFunc=EA_
WORK_REQUEST_CREATE
• EBS java form
/OA_HTML/callForms.jsp?
functionCode=WIP_WIPTXCFM

8. In the EBS Security Function field, enter the target page EBS function name.

7 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


a. Accordingly, If the use has this EBS function in the menu of the responsibility he is using
to enter the current source page, This Quick Link will appear, Otherwise Quick Link will
not be visible.

9. Select the type of page into which the target page opens

a. Since the target Endeca Information discovery URL uses


(/OA_HTML/RF.jsp?Function_name) syntax, then it will open in another tab than
that of the source page,

b. Accordingly, Select (OA Page) type for opening an Endeca Information Discovery page,
where it opens in its specific page tab.

10. For Information Discovery target pages, insert the base dataset view key in the target dataset
viewKey field.

In case the target page is (OA Page) , It is optionally allowed to click the check box that enables the
target page to open in a new window.

11. Note that (Propage Filters) checkbox is enabled by default, Where any target page filters are
propagated through the deeplink to the target page. Yet, the filter application depends on:

a. Enabled Refinement rules on propagated filters: In case of linking to endeca target page
of the same application

b. Filter Mapping: (Steps 12 – 16), In case of linking to endeca page of other application or
Oracle EBS forms or OA pages

12. For a target page that is in another application, click Filter Mapping.

13. Click Add Attribute Mapping.

14. In the Source Attribute field, enter the key attribute name of the source page.

15. In the Target Attribute field enter the key attribute name of the target page.

16. Optionally, check the Hide Refinement option for the target page.

17. Click Save.

8 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


18. Click Save Preferences.

Using Quick Links:


Use Case: Refine the (Open Orders)) source page by one of the mapped attributes, such as:
(Customer_Name = A.C. Networks) and navigate to the (Outstanding Receivables Overview)
target endeca page of another application by clicking the (Outstanding Receievables) Quick Links
component.

9 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


The (Outstanding Receievables Overview) page opens in a separate tab with the same value of the mapped
(BILL_TO_CUSTOMER) filter = (A.C. Networks)

10 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


EBS Results Grid

This component provides a meaningful summary of the results list, and is especially useful for records that
include unstructured data such as long text fields. Each record in the EBS Results Grid includes a set of
attributes.

The EBS Results Grid component reflects the current refinement state of the data. For example, if you use
the Available Refinements component or a search to refine the data, the EBS Results Grid component only
displays the matching records. When you use a search to refine the data, the component highlights the
search text in the attribute values.

Configuration
When the EBS Results Grid component is first added, it does not display any records. To determine how
the component is displayed and how users can interact with each displayed attribute, complete the
following steps:
1. Log in to Oracle Endeca Information Discovery Studio as an Admin user.
2. The EBS Result Grid is available from the Information Discovery section in the Add Components
menu. Add the component.

11 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


3. Drag and drop the component on the page.
4. To configure the component, click the Settings icon.

5. Configure the Display Options


6. The pagination bar allows users to navigate through results page by page. To display the pagination
bar, check the Enable end user results per page controls checkbox. The box is checked by default.
7. Check Results per page to allow end users to select the number of records to display per page.
8. In the Available results per page options field, type a comma-separated list of available values for
the number of results to display per page.
9. By default, the available options are 10, 20, and 30 records per page.
10. From the Default results per page dropdown list, select the default number of records to display per
page.

12 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


Configuring the Grid View Options

1. To enable the grid view option, check Enable Grid.


2. To allow users to select the number of records to change, check Allow number of columns to be
changed.
3. In the Available Number of columns options field, type a comma-separated list of available values
for the number of columns to change.
4. From the Default results per page dropdown list, select the default number of records to change.
5. In the Grid Border size field, enter a value for the size of borders separating the grid cells.
6. In the Grid Border color field, specify the color of the grid borders.

Configuring the Carousel Options

1. To enable the carousel view option, check Enable Carousel view.


2. To enable the carousel as the default view for the componenet, check Show Carousel by default.
3. To allow the user to see the images tooltip, check Show tool tips on images.
4. In the Attribute to show as Tooltip title field, enter the tooltip title.
5. In the Attribute to show in Tooltip field, enter the tooltip description.
6. Check Resize images to allow end users to resize the images.
7. Select either Fixed width or Fixed height for the image size, and specify the appropriate value.

13 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


Configuring the Customize Action Buttons

1. Navigate to the List Template configuration menu

2. Check Show “Add to Cart” button if you want the Add to Cart button to be displayed.

3. Check Show the Quantity box if you want the user to see the quantity box.

4. Check Show “Add to Favorites” button if you want the Add to Favorites button to be displayed.

5. Check Show Compare checkbox to allow the end user to compare multiple records.

6. To hide the Compare checkbox conditionally, enter the attribute based on which to hide the
checkbox.

7. Edit the Add to cart button.


a. Click the pencil icon for the Add to Cart button.

14 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


b. Set the action button properties for the Add to cart button.
Edit the following properties according to your needs:

 Button text
 Appearance
 Default image
 Conditional hide attribute key name
 Type of action taken by the custom action buttons
 Button action
 Parameters

15 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


c. Click Save.

Conditionally Display the Attribute Name

1. Navigate to the List Template and click the pencil icon for the attribute you want to update.

2. Insert the key name of the attribute that controls the display of the attribute name.

Conditionally Open the Hyperlinked Page on the EBS Result Grid Attribute in a New Window

1. Navigate to the List Template and click the pencil icon for the required attribute.

16 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


2. In the Actions sub menu, Select Hyperlink.

3. Configure the Hyperlink action as follows:

a. Optionally, enable the Display action description in tooltip option.

b. Optionally, edit the text in the Action Description field.

c. Check the Open in new window option.

d. In the Conditional attribute to open in new window field, enter the conditional
attribute key that controls opening the hyperlink page in a new window.

17 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


e. In the URL field, enter the URL.

f. Optionally, add URL parameters.

g. Click Save.

The remaining EBS Results Grid configuration options are the same as the standard Results List component
configuration options.
Grid View:

18 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


Carousel View:

19 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


EBS Global Search Box

EBS Global Search Box custom component enables information discovery to search globally across
different pages with the same application from an Oracle Application Framework page.

Configuration

The EBS Global Search Box component helps users navigate to an embedded Endeca page. This can be a
self-redirect or a redirection to a completely different page, with the filter selected from the EBS Global
Search Box result.

Create a Studio Page

1. From Oracle Endeca Information Discovery Studio, create a new page named Search Box with the
following application configuration:

Note: The Search Box application must be connected to the Endeca Server Connection for the
application in which you want to add the global search box.

2. In the Search Box page, add only the EBS Global Search Box Component.

20 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


Note: Once the component has been added to the page, the page header and footer will be
hidden.
Configure the Global Search Box
1. Click Configuration.

The Configuration page displays the list of application data sets, plus an entry for All Data.

2. Enable or disable the type-ahead search capability for each data set. If type-ahead is enabled,
you can edit the type-ahead option.

To configure the global search box type-ahead search:

a. Click the pencil icon in the Enable Type-Ahead column.

21 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


b. In the Minimum characters to trigger suggestions field, set the minimum
number of characters that the user must type before type-ahead
suggestions are offered.

c. In the Maximum suggestions per attribute field, set the maximum number
of type-ahead suggestions to initially display for each attribute.

d. In the Maximum total suggestions per data set field, set the maximum total
number of type-ahead suggestions for each data set.

e. In the Type-ahead Attributes list, check each attribute for which you want to enable
type-ahead.

f. Click Save.

3. To enable keyword search for a search option, check Enable Keyword Search. This
checkbox is displayed only for search options associated with a search interface.

22 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


4. To select a search option as the default redirect URL for keyword search, select Default
Selection.

5. If a keyword search is enabled, then from the Match Mode drop-down list, select a match
mode for the search option.

6. In the Target Page field, enter the page to display when the search is executed.

Display Options

1. To configure global search properties, click Display Options in the left hand navigation.
a. Optionally, enable Boolean search.
b. Optionally, enable language selection.

Create an EBS Function

Create an EBS function to link the Endeca page that contains the global search box with the Oracle E-
Business Suite.

To create the EBS Function:

1. Log in as Sysadmin.

2. From the Functional Administrator responsibility, navigate to Core Services and then to
Functions.

3. Click Create functions.

23 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


4. Enter all required fields. In the HTML Call field enter the URL of the Endeca page that
contains the Global Search Box component.

Create an Oracle Application Framework Page

1. Add the EBS Global Search Box in the Oracle Application Framework page and call another
Oracle Application Framework page with Oracle E-Business Information Discovery content.

2. Create an Oracle Application Framework page with rich containers for the EBS Global Search
Box, which will be called “globalSearch.”

24 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


• Make sure to name the rich container globalSearch.
• Configure the globalSearch component to redirect to the previously created EBS Function. In this
case, the EBS Function is called SEARCH BOX.
• Set the Height and Width of the component.

25 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


• For a friendlier UI and better performance, a temporary image must be placed before the EBS
Global Search Box rich container in its container layout. The temporary image should be named
“fillInImage”. The temporary image will be quickly rendered before the EBS Global Search Box
is loaded, and will disappear after the EBS Global Search Box is rendered.

o The URI of the image must be set as “/endeca/html/css/eid-default/images/oracle-default-


images/icons/dimmed_search.png”.

o The height of the search box is static at 26 pixels. The height of the filler image should be
the same.

o The width of the filler image is set according to width of the EBS Global Search Box.

o The height of the Global Search rich container must be set to zero to hide it until it is
completely rendered.

3. In the EBS Global Search Box configurations, set the target page to the Oracle Application
Framework page that contains “OA_HTML.” Global Search will understand that search result will
be redirected to another OracleApplication Framework page.

4. EBS Global Search Box comes with a layout called EBS Global Search Template Layout. Set this
in Oracle Endeca Information Discovery Studio. Click the Settings icon, then click Page Layout
and select EBS Global Search Template Layout.

26 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


o The constructed deeplink will be saved in the AppSession as an attribute called
constructedDeeplink.

o The target Oracle Application Framework page must get the deeplink from the session and then
apply it as a parameter to the Oracle Endeca rich container as directed in the following code
sample:

27 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


/**
o * Layout and page setup logic for a region.
* @param pageContext the current OA page context
o
* @param webBean the web bean corresponding to the region
*/
public void processRequest(OAPageContext pageContext, OAWebBean
webBean)
{
super.processRequest(pageContext, webBean);
String deeplink="deeplink=";

OAApplicationModule am =
pageContext.getRootApplicationModule();
OADBTransactionImpl txn = (OADBTransactionImpl)
am.getOADBTransaction();
WebAppsContext ctx = (WebAppsContext) txn.getAppsContext();
String constructedDeeplink
=ctx.getSessionAttribute("constructedDeeplink",true);

if (!constructedDeeplink.equals("constructedDeeplink")){
deeplink= deeplink+constructedDeeplink ;
OARichContainerBean simpleBean1 =

(OARichContainerBean)webBean.findChildRecursive("endecaContainer");
if (simpleBean1 != null) {
simpleBean1.setParameters(deeplink);
}
/*reset session parameter to make sure no other endeca rich
container make use of the deep link*/
ctx.setSessionAttribute("constructedDeeplink","constructedDe
eplink");
}
}

28 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


Using the EBS Global Search Box

29 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


Multi-Base View

Two custom components, Multi-view Available Refinements and Multi-view Selected Refinements, allow
the filtering of Information Discovery pages by attributes from multiple base views under the same
application. This gives users integrated, direct insight into complex information coming from base views in
different application. The information can be provided by different page componenets, such as
Summarization Bar items or charts that may read from more than one base view.

Configuration

1. Click the Add Component dropdown menu.

2. Add the two multi-view refinements components to replace the ones you removed.

30 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


3. Navigate to the Multi-view Available Refinements component and click Options.

31 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


4. From the Data Selection menu, select multiple base views.

5. Click Keep both selections.

32 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


6. Click Continue.

7. To configure the first base view, select it in the left-hand navigation

33 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


8. Configure the second base view.

9. Configure the third base view.

34 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


10. Navigate to Configuration Options.

11. Click Save and then click Exit.

35 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


12. Navigate to the Multi-view Selected Refinement component and click Options.

13. Select the same base views that you selected in the Multi-view Available Refinements component.

14. After adding each new base view, click Keep both sections.

15. Click Continue.

36 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


16. Optionally, configure Display Options.

17. Click Save and Exit.

37 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


Using Multi-view Available Refinements and Selected Refinements

38 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


39 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA
Appendix C: How to Create an Oracle Endeca Access Role
Create New Role
1. Using the Oracle E-Business Suite User Management Responsibility, navigate to the Roles & Role
Inheritance function.

2. Click Create Role.

40 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


3. Define the new role according to the naming convention guidelines, as follows:

• Role Code: UMX|ONT_REVIEW_ENDECA_ACCESS_ROLE


• Display Name: Order Management Review Oracle Endeca Access Role
• Description: Order Management Review Oracle Endeca Access Role
• Application: Order Entry

4. Click Save.

Create a New Grant


1. For the new role, click Create Grant.

2. Define a new grant according to the naming convention guidelines, as follows:


• Name: ONT Review Endeca Access Grant
• Description: Order Management Review Endeca Access Grant

41 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


Assign a Responsibility and a Permission Set to the Newly Created Grant
1. In the Security Context region, select the required Oracle E-Business Suite responsibility and give
it access to the Oracle E-Business Information Discovery pages via the newly created grant.
2. Click Next.

3. In the Set region, select a permission set that includes the Oracle E-Business Suite permission.
Assign it to the newly customized Oracle E-Business Information Discovery page via the newly
created grant

42 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


4. Click Next.

5. Click Finish.

6. Click OK to acknowledge creation of the new grant. Note the message that you must run the
Oracle Workflow background engine concurrent request for the new role to take effect.

7. Click Save and then click Apply.

43 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


Run the Oracle Workflow Background Engine Concurrent Request
1. Navigate to the Oracle E-Business Suite Concurrent Programs window and submit the Workflow
Background process concurrent request with the following parameters:

o Process Deferred = Yes


o Process Timeout = Yes
o Process Stuck = Yes

2. Confirm that the request was completed successfully.

44 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


Clear the Cache

To clear the cache, perform the following steps:

1. Log in to Oracle E-Business Suite as Sysadmin and select the Functional Administrator
responsibility.

2. Navigate to the Core Services tab.


3. Click Caching Framework.
4. Click Global Configuration in the left-hand side navigation pane.

5. Click Clear All Cache.

45 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


6. When prompted with the warning message that this action will clear the cache across all middle
tiers, click Yes to proceed.

Note the successful clearance of the cache.

46 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


Appendix D: Packaging and Deploying Customizations
This section describes how to migrate your changes from your test or development environment to
production, including how to migrate seed data and which data (.ldt) and configruaton (.lct) files you need
to migrate.

How to Migrate Seed Data


Seed data are generally defined as the data delivered with a standard installation of Oracle E-Business
Information Discovery. This includes menu definitions, concurrent manager definitions, user access roles,
shipped responsibilities, sandboxes, and graphs.
The Generic Loader (FNDLOAD) is a standalone Java utility that allows download and upload of setup
data from one environment to another. For example, you can download a metadata definition from a
development or test instance and upload it to a production instance.
The FND Loader downloads data from a database according to a configuration file, and stores the data into
a data file. The FND Loader can then upload this data to another database using a control file.
The loader operates in two modes: download and upload. In the download mode, data is downloaded from
the database to a text file. In the upload mode, data is uploaded from a text file to the database.
In both downloading and uploading, the structure of the data involved is described by a configuration file.
The configuration file describes the structure of the data and also the access methods to use to copy the data
into or out of the database. The same control file may be used for both uploading and downloading.

FNDLOAD Download and Upload

You can download or upload the seed data using the FNDLOAD executable, with the following syntax:
FNDLOAD apps/pwd 0 Y mode configfile datafile entity [ param ... ]

The FNDLOAD parameters are described in the following table:

Variable Description
<apps/pwd> The APPS schema and password in the form username/password
<0Y> Concurrent program flags
UPLOAD or DOWNLOAD.
mode UPLOAD causes the datafile to be uploaded to the database.
DOWNLOAD causes the loader to fetch rows and write them to the datafile.
<configfile> The control file to use (usually with a suffix of .lct).
The data file to write (usually with a suffix of .ldt). If the data file already
<datafile>
exists, it will be overwritten.

The entity or entities to upload or download. When uploading, you should


<entity>
always upload all entities. Use a dash (-) to upload all entities.
Zero or more additional parameters are used to provide bind values in the
access SQL (both UPLOAD and DOWNLOAD). Each parameter is in the
< [param] >
form NAME=VALUE. NAME should not conflict with an attribute name for
the entities being loaded.
Table 16: FNDLOAD Parameters

47 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


Downloading Definitions

To download definitions for your customization using the FND Loader, specify the control file and the
name of an LDT file in which to save the downloaded data.

 To download all Endeca attributes for your Oracle E-Business Information Discovery application,
specify the instance ID for that application in the EID_INSTANCE_ID download parameter. For
example:

$ FNDLOAD <user/passwd>@TWO_TASK 0 Y DOWNLOAD


$FND_TOP/patch/115/import/fndeidattrs.lct <prod>eidattrs.ldt
FND_EID_PDR_ATTRS EID_INSTANCE_ID=<eidInstanceID>

 To download the attribute groups, specify the instance ID for that application in the
EID_INSTANCE_ID download parameter.

$ FNDLOAD <user/passwd>@TWO_TASK 0 Y DOWNLOAD


$FND_TOP/patch/115/import/ fndeidgrps.lct <prod>eidgrps.ldt
FND_EID_GROUPS EID_INSTANCE_ID=<eidInstanceID>

 To download the newly registered DFF, specify the instance ID for that application in the
EID_INSTANCE_ID download parameter.

$ FNDLOAD <user/passwd>@TWO_TASK 0 Y DOWNLOAD


$FND_TOP/patch/115/import/fndeiddffreg.lct <prod>eiddffreg.ldt
FND_EID_DFF_REG EID_INSTANCE_ID=<eidInstanceID>

 To download the ETL graphs, specify the instance ID for that application in the
EID_INSTANCE_ID download parameter.

$ FNDLOAD <user/passwd>@TWO_TASK 0 Y DOWNLOAD


$FND_TOP/patch/115/import/fndeidgraphs.lct <prod>eidgraphs.ldt
FND_EID_GRAPHS

 To download the record types, specify the instance ID for that application in the
EID_INSTANCE_ID download parameter.

$ FNDLOAD <user/passwd>@TWO_TASK 0 Y DOWNLOAD


$FND_TOP/patch/115/import/ fndeidinst.lct <prod>eidinst.ldt
FND_EID_INSTANCES EID_INSTANCE_ID=<eidInstanceId>

 To download the attributes precedence rules, specify the instance ID for that application in the
EID_INSTANCE_ID download parameter.

$ FNDLOAD <user/passwd>@TWO_TASK 0 Y DOWNLOAD


$FND_TOP/patch/115/import/ fndeidprerul.lct <prod>eidprerul.ldt
FND_EID_PRECEDENCE_RULES EID_INSTANCE_ID=<eidInstanceId>

48 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


 To download the sandbox, specify the sandbox ID for that application in the Sandbox_Id
download parameter.

$ FNDLOAD <user/passwd>@TWO_TASK 0 Y DOWNLOAD


$FND_TOP/patch/115/import/ fndeidsandboxes.lct
<prod>eidsandboxes.ldt FND_EID_SANDBOXES SANDBOX_ID=<Sandbox_Id>

Uploading Definitions

To upload definitions using the FND Loader, specify the control file, the name of the LDT file that contains
the definition or definitions to upload, and use a dash (-) to upload all entities in the LDT file.

 To upload all Endeca attributes for your application, specify the instance ID for that application in
the EID_INSTANCE_ID upload parameter. For example:

FNDLOAD <user/passwd>@TWO_TASK 0 Y UPLOAD


$FND_TOP/patch/115/import/fndeidattrs.lct <prod>eidattrs.ldt
FND_EID_PDR_ATTRS EID_INSTANCE_ID=<eidInstanceID>

 To upload the attribute groups, specify the instance ID for that application in the
EID_INSTANCE_ID upload parameter.

FNDLOAD <user/passwd>@TWO_TASK 0 Y UPLOAD


$FND_TOP/patch/115/import/ fndeidgrps.lct <prod>eidgrps.ldt
FND_EID_GROUPS EID_INSTANCE_ID=<eidInstanceID>

 To upload the newly registered DFF, specify the instance ID for that application in the
EID_INSTANCE_ID upload parameter.

FNDLOAD <user/passwd>@TWO_TASK 0 Y UPLOAD


$FND_TOP/patch/115/import/fndeiddffreg.lct <prod>eiddffreg.ldt
FND_EID_DFF_REG EID_INSTANCE_ID=<eidInstanceID>

 To upload the ETL graphs, specify the instance ID for that application in the
EID_INSTANCE_ID upload parameter.

FNDLOAD <user/passwd>@TWO_TASK 0 Y UPLOAD


$FND_TOP/patch/115/import/fndeidgraphs.lct <prod>eidgraphs.ldt
FND_EID_GRAPHS

 To upload the attributes hierarachy, specify the instance ID for that application in the
EID_INSTANCE_ID upload parameter.

FNDLOAD <user/passwd>@TWO_TASK 0 Y UPLOAD


$FND_TOP/patch/115/import/ fndeidhier.lct <prod>eidhier.ldt
FND_EID_DDR_MGD_ATT_VALS EID_INSTANCE_ID=<eidInstanceId>

 To upload the record types, specify the instance ID for that application in the
EID_INSTANCE_ID upload parameter.

49 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


FNDLOAD <user/passwd>@TWO_TASK 0 Y UPLOAD
$FND_TOP/patch/115/import/ fndeidinst.lct <prod>eidinst.ldt
FND_EID_INSTANCES EID_INSTANCE_ID=<eidInstanceId>

 To upload the attributes precedence rules, specify the instance ID for that application in the
EID_INSTANCE_ID upload parameter.

FNDLOAD <user/passwd>@TWO_TASK 0 Y UPLOAD


$FND_TOP/patch/115/import/ fndeidprerul.lct <prod>eidprerul.ldt
FND_EID_PRECEDENCE_RULES EID_INSTANCE_ID=<eidInstanceId>

 To upload the sandbox, specify the sandbox ID for that application in the Sandbox_Id upload
parameter.

FNDLOAD <user/passwd>@TWO_TASK 0 Y UPLOAD


$FND_TOP/patch/115/import/ fndeidsandboxes.lct
<prod>eidsandboxes.ldt FND_EID_SANDBOXES SANDBOX_ID=<Sandbox_Id>

50 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


Appendix E: Security Classes Javadoc
This appendix describes all aspects of the behavior of each method on which a security handler can rely. It
does not describe implementation details.

oracle.apps.fnd.endeca.portal.security.extensions.handlers.EbsSecurityHandler
oracle.apps.fnd.endeca.portal.security.extensions.handlers
Interface EbsSecurityHandler
public interface EbsSecurityHandler

Method Summary
oracle.apps.fnd.endeca.portal.secu getFilterAttributeValues(String
rity.extensions.handlers.EbsSecuri userId, String orgId, String
tyHandler.RecordFilterExpression respId, String respAppId, String
secId)

Method Details

getFilterAttributeValues
oracle.apps.fnd.endeca.portal.security.extensions.handlers.EbsSecurityHa
ndler.RecordFilterExpression getFilterAttributeValues(String userId,
String orgId, String respId, String respAppId, String secId)
This returns the security EQL expression that will be injected into the query using the security manager.
Parameters:
userId - a string specifying the Oracle E-Business Suite user ID
orgId - a string specifying the ORG_ID attribute which exists at the Oracle E-Business Suite session
respId - a string specifying the RESPONSIBILITY_ID attribute which exists at the Oracle E-Business Suite
session
respAppId - a string specifying the RESPONSIBILITY_APPLICATION_ID attribute which exists at the
Oracle E-Business Suite session
secId - a string specifying the SECURITY_GROUP_ID attribute which exists at the Oracle E-Business Suite
session
Returns:
a RecordFilterExpression object which encapsulates the EQL expression to be injected into the query

51 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


public final class RecordFilterExpression
oracle.apps.fnd.endeca.portal.security.extensions.handlers .EbsSecurityH
andler.RecordFilterExpression
oracle.apps.fnd.endeca.portal.security.extensions.handlers
Class EbsSecurityHandler.RecordFilterExpression
java.lang.Object
EbsSecurityHandler.RecordFilterExpression

Constructor Summary
RecordFilterExpression(java.lang.String expression)
Constructs a filter expression object wrapping the given expression

Method Summary
Void setExpression(java.lang.String expression)
Sets the encapsulated expression
java.lang.String getExpression()
Returns the encapsulated expression

Method Detail

getExpression
java.lang.String getExpression()
This returns the encapsulated EQL expression.
setExpression
void getExpression(java.lang.String expression)
This sets the encapsulated EQL expression.
Parameters:
expression - a string specifying EQL expression to be encapsulated

public abstract class RecordFilterExpressionHelper


oracle.apps.fnd.endeca.portal.security.extensions.handlers.EbsSecurityHa
ndler.RecordFilterExpressionHelper
oracle.apps.fnd.endeca.portal.security.extensions.handlers
EbsSecurityHandler.RecordFilterExpressionHelper
java.lang.Object
EbsSecurityHandler.RecordFilterExpressionHelper

52 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


Method Summary
static createRecordFilterExpressionAND(oracle.apps.fnd.endeca.p
oracle.apps.fnd.endeca.port ortal.security.extensions.handlers.EbsSecurityHandler.Recor
al.security.extensions.hand dFilterExpression leftExpression,
lers.EbsSecurityHandler.Rec oracle.apps.fnd.endeca.portal.security.extensions.handlers.E
ordFilterExpression bsSecurityHandler.RecordFilterExpression rightExpression)
This helper method constructs an EQL expression by
ANDing two EQL expressions.
static createRecordFilterExpressionOR(oracle.apps.fnd.endeca.po
oracle.apps.fnd.endeca.port rtal.security.extensions.handlers.EbsSecurityHandler.Record
al.security.extensions.hand FilterExpression leftExpression,
lers.EbsSecurityHandler.Rec oracle.apps.fnd.endeca.portal.security.extensions.handlers.E
ordFilterExpression bsSecurityHandler.RecordFilterExpression rightExpression)
This helper method constructs an EQL expression by ORing
two EQL expressions.
static createRecordFilterExpressionNOT(java.lang.String key,
oracle.apps.fnd.endeca.port java.util.List<java.lang.String> values)
al.security.extensions.hand This helper method constructs an EQL expression that
lers.EbsSecurityHandler.Rec fulfills this condition: “The supplied key doesn’t match any
ordFilterExpression of the supplied text values.”
static createRecordFilterExpressionNOT(java.lang.String key,
oracle.apps.fnd.endeca.port java.util.List<java.lang.String> values, boolean isNumeric)
al.security.extensions.hand This helper method constructs an EQL expression that
lers.EbsSecurityHandler.Rec fulfills this condition: “The supplied key doesn’t match any
ordFilterExpression of the supplied values. The type of the attribute is
determined by the isNumeric parameter.”
static createRecordFilterExpressionOR(java.lang.String key,
oracle.apps.fnd.endeca.port java.util.List<java.lang.String> values)
al.security.extensions.hand This helper method constructs an EQL expression that
lers.EbsSecurityHandler.Rec fulfills this condition: “The supplied key matches any of the
ordFilterExpression supplied text values.”
static createRecordFilterExpressionOR(java.lang.String key,
oracle.apps.fnd.endeca.port java.util.List<java.lang.String> values, boolean isNumeric)
al.security.extensions.hand This helper method constructs an EQL expression that
lers.EbsSecurityHandler.Rec fulfills this condition: “The supplied key matches any of the
ordFilterExpression supplied values. The type of the attribute is determined by
the isNumeric parameter.”
static createRecordFilterExpressionAND(java.lang.String key,
oracle.apps.fnd.endeca.port java.util.List<java.lang.String> values)
al.security.extensions.hand This helper method constructs n EQL expression that fulfills
lers.EbsSecurityHandler.Rec this condition: “The supplied key matches all of the supplied
ordFilterExpression text values.”
static createRecordFilterExpressionAND(java.lang.String key,
oracle.apps.fnd.endeca.port java.util.List<java.lang.String> values, boolean isNumeric)
al.security.extensions.hand This helper method constructs an EQL expression that

53 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


lers.EbsSecurityHandler.Rec fulfills this condition: “The supplied key match all of the
ordFilterExpression supplied text values. The type of the attribute is determined
by the isNumeric parameter.”
static createRecordFilterExpressionNOT(java.lang.String key,
oracle.apps.fnd.endeca.port java.lang.String value)
al.security.extensions.hand This helper method constructs an EQL expression that
lers.EbsSecurityHandler.Rec fulfills this condition: “The supplied key doesn’t match the
ordFilterExpression supplied value.”

Method Detail

createRecordFilterExpressionAND
static
oracle.apps.fnd.endeca.portal.security.extensions.handlers.EbsSecurity
Handler.RecordFilterExpression
createRecordFilterExpressionAND(oracle.apps.fnd.endeca.portal.security
.extensions.handlers.EbsSecurityHandler.RecordFilterExpression
leftExpression,
oracle.apps.fnd.endeca.portal.security.extensions.handlers.EbsSecurity
Handler.RecordFilterExpression rightExpression)
This helper method constructs an EQL expression by ANDing two EQL expressions.
Parameters:
leftExpression- a RecordFilterExpression specifying the left operand of the AND operation
rightExpression- a RecordFilterExpression specifying the right operand of the AND expression
Returns:
The expression that results from ANDing the two operands’ expressions

createRecordFilterExpressionOR
static
oracle.apps.fnd.endeca.portal.security.extensions.handlers.EbsSecurity
Handler.RecordFilterExpression
createRecordFilterExpressionOR(oracle.apps.fnd.endeca.portal.security.
extensions.handlers.EbsSecurityHandler.RecordFilterExpression
leftExpression,
oracle.apps.fnd.endeca.portal.security.extensions.handlers.EbsSecurity
Handler.RecordFilterExpression rightExpression)
This helper method constructs an EQL expression by ORing two EQL expressions.
Parameters:
leftExpression- a RecordFilterExpression specifying the left operand of the OR operation.

54 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


rightExpression- a RecordFilterExpression specifying the right operand of the OR expression.
Returns:
The expression that results from ORing the two operands’ expressions
createRecordFilterExpressionNOT
static
oracle.apps.fnd.endeca.portal.security.extensions.handlers.EbsSecurity
Handler.RecordFilterExpression
createRecordFilterExpressionNOT(java.lang.String key,
java.util.List<java.lang.String> values)
This helper method constructs an EQL expression that fulfills this condition: “The supplied key doesn’t
match any of the supplied values.”
Parameters:
key - a string specifying the attribute key to be used in the expression
values- a list specifying the list of values to compare with the attribute key
Returns:
The expression in the form not((key = value1) or (key = value2) or (key = value3))

createRecordFilterExpressionNOT
static
oracle.apps.fnd.endeca.portal.security.extensions.handlers.EbsSecurity
Handler.RecordFilterExpression
createRecordFilterExpressionNOT(java.lang.String key,
java.util.List<java.lang.String> values, boolean isNumeric)
This helper method constructs an EQL expression that fulfills this condition: “The supplied key doesn’t
match any of the supplied values. The type of the attribute is determined by the isNumeric parameter.”
Parameters:
key - a string specifying the attribute key to be used in the expression
values - a list specifying the list of values to compare the attribute key with them
isNumeric - a Boolean specifying the type of the attribute
Returns:
The expression in the form not((key = value1) or (key = value2) or (key: value3))

createRecordFilterExpressionOR
static
oracle.apps.fnd.endeca.portal.security.extensions.handlers.EbsSecurity
Handler.RecordFilterExpression
createRecordFilterExpressionOR(java.lang.String key,

55 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


java.util.List<java.lang.String> values)
This helper method constructs an EQL expression that fulfills this condition: “The supplied key matches
any of the supplied values.”
Parameters:
key - a string specifying the attribute key to be used in the expression
values- a list specifying the list of values to compare the attribute key with them
Returns:
The expression in the form ((key = ‘value1’) OR (key = ‘value2’) OR (key = ‘value3’))

createRecordFilterExpressionOR
static
oracle.apps.fnd.endeca.portal.security.extensions.handlers.EbsSecurity
Handler.RecordFilterExpression
createRecordFilterExpressionOR(java.lang.String key,
java.util.List<java.lang.String> values, boolean isNumeric)
This helper method constructs an EQL expression that fulfills this condition: “The supplied key matches
any of the supplied values. The type of the attribute is determined by the isNumeric parameter.”
Parameters:
key - a string specifying the attribute key to be used in the expression
values- a list specifying the list of values to compare the attribute key with them
isNumeric- a boolean specifying the type of the attribute
Returns:
The expression in the form ((key = ‘value1’) OR (key = ‘value2’) OR (key = ‘value3’)) if isNumeric is
false and ((key = value1) OR (key = value2) OR (key = value3)) if isNumeric is true.

createINRecordFilterExpressionOR
This helper method constructs an EQL expression that fulfills this condition: “The supplied key matches
any of the supplied values for a multi assign attribute.”
Parameters:
key - a string specifying the attribute key to be used in the expression
values- a list specifying the list of values to compare the attribute key with them
Returns:
The expression in the form some x in key satisfies((x = ‘value1’) OR (x = ‘value2’) OR (x = ‘value3’))

createINRecordFilterExpressionOR
static
oracle.apps.fnd.endeca.portal.security.extensions.handlers.EbsSecurity

56 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


Handler.RecordFilterExpression
createINRecordFilterExpressionOR(java.lang.String key,
java.util.List<java.lang.String> values, boolean isNumeric)
This helper method constructs an EQL expression that fulfills this condition: “The supplied key matches
any of the supplied values for a multi assign attribute. The type of the attribute is determined by the
isNumeric parameter.”
Parameters:
key - a string specifying the attribute key to be used in the expression
values- a list specifying the list of values to compare with the attribute key
isNumeric- a boolean specifying the type of the attribute.
Returns:
The expression in the form some x in key satisfies((x = ‘value1’) OR (x = ‘value2’) OR (x = ‘value3’)) if
isNumeric is false and some x in key satisfies ((x = value1) OR (x = value2) OR (x = value3)) if
isNumeric is true

createRecordFilterExpressionAND
static
oracle.apps.fnd.endeca.portal.security.extensions.handlers.EbsSecurity
Handler.RecordFilterExpression
createRecordFilterExpressionAND(java.lang.String key,
java.util.List<java.lang.String> values)
This helper method constructs an EQL expression that fulfills this condition: “The supplied key matches
all of the supplied values.”
Parameters:
key - a string specifying the attribute key to be used in the expression
values- a list specifying the list of values to compare the attribute key with them
Returns:
The expression in the form ((key = ‘value1’) AND (key = ‘value2’) AND (key = ‘value3’))

createRecordFilterExpressionAND
static
oracle.apps.fnd.endeca.portal.security.extensions.handlers.EbsSecurity
Handler.RecordFilterExpression
createRecordFilterExpressionAND(java.lang.String key,
java.util.List<java.lang.String> values, boolean isNumeric)
This helper method constructs an EQL expression that fulfills this condition: “The supplied key matches
all of the supplied values. The type of the attribute is determined by the isNumeric parameter.”
Parameters:

57 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


key - a string specifying the attribute key to be used in the expression
values- a list specifying the list of values to compare the attribute key with them
isNumeric- a boolean specifying the type of the attribute
Returns:
The expression in the form ((key = ‘value1’) AND (key = ‘value2’) AND (key = ‘value3’)) if isNumeric
is false and ((key = value1) AND (key = value2) AND (key = value3)) if isNumeric is true

createINRecordFilterExpressionAND
static
oracle.apps.fnd.endeca.portal.security.extensions.handlers.EbsSecurity
Handler.RecordFilterExpression
createINRecordFilterExpressionAND(java.lang.String key,
java.util.List<java.lang.String> values)
This helper method constructs an EQL expression that fulfills this condition: “The supplied key matches
all of the supplied values for a multi-assign attribute.”
Parameters:
key - a string specifying the attribute key to be used in the expression
values- a list specifying the list of values to compare with the attribute key
Returns:
The expression in the form some x in key satisfies((x = ‘value1’) AND (x = ‘value2’) AND (x =
‘value3’))

createINRecordFilterExpressionAND
static
oracle.apps.fnd.endeca.portal.security.extensions.handlers.EbsSecurity
Handler.RecordFilterExpression
createINRecordFilterExpressionAND(java.lang.String key,
java.util.List<java.lang.String> values, Boolean isNumeric)
This helper method constructs an EQL expression that fulfills this condition: “The supplied key matches
all of the supplied values for a multi-assign attribute.”
Parameters:
key - a string specifying the attribute key to be used in the expression
values- a list specifying the list of values to compare with the attribute key
isNumeric- a boolean specifying the type of the attribute
Returns:
The expression in the form some x in key satisfies((x = ‘value1’) AND (x = ‘value2’) AND (x =
‘value3’)) if isNumeric is false and some x in key satisfies ((x = value1) AND (x = value2) AND (x =

58 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


value3)) if isNumeric is true

createINRecordFilterExpressionNOT
static
oracle.apps.fnd.endeca.portal.security.extensions.handlers.EbsSecurity
Handler.RecordFilterExpression
createINRecordFilterExpressionNOT(java.lang.String key,
java.lang.String value)
This helper method constructs an EQL expression that fulfills this condition: “The supplied key doesn’t
match any of the supplied values for a multi-assign attribute.”
Parameters:
key - a string specifying the attribute key to be used in the expression
value- a string specifying the value to compare with the attribute key
Returns:
The expression in the form not (some x in key satisfies (x = ‘value1’ OR x = ‘value2’ OR x = ‘value3’))

createINRecordFilterExpressionNOT
static
oracle.apps.fnd.endeca.portal.security.extensions.handlers.EbsSecurity
Handler.RecordFilterExpression
createINRecordFilterExpressionNOT(java.lang.String key,
java.util.List<java.lang.String> values, boolean isNumeric)
This helper method constructs an EQL expression that fulfills this condition: “The supplied key doesn’t
matches any of the supplied values for a multi-assign attribute. The type of the attribute is determined by
the isNumeric parameter.”
Parameters:
key - a string specifying the attribute key to be used in the expression
values- a list specifying the list of values to compare with the attribute key
isNumeric- a boolean specifying the type of the attribute
Returns:
The expression in the form not (some x in key satisfies (x = ‘value1’ OR x = ‘value2’ OR x = ‘value3’ ))
if isNumeric is false and not (some x satisfies (x = value1) OR (x = value2) OR (x = value3)) if
isNumeric is true

59 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


public abstract class EbsAbstractSecurityHandler
oracle.apps.fnd.endeca.portal.security.extensions.handlers .EbsAbstractS
ecurityHandler
oracle.apps.fnd.endeca.portal.security.extensions.handlers
Class EbsAbstractSecurityHandler
java.lang.Object
EbsAbstractSecurityHandler

Method Summary
Void setConnection(java.sql.Connection connection)
Sets the encapsulated connection object.
java.sql.Connection getConnection()
Returns the encapsulated connection object.
java.lang.String getSessionParamValue(java.lang.String paramName)
Gets the attribute named paramName from the encapsulated
Oracle E-Business Suite session.
Void public void
setSession(oracle.apps.fnd.ext.common.AppsSession
session)
Sets the encapsulated Oracle E-Business Suite session.

Mthod Detail

getConnection
java.sql.Connection getConnection()
This returns the encapsulated connection object.
setConnection
void setConnection(java.sql.Connection connection)
This sets the encapsulated connection object.
Parameters:
connection - a connection specifying the connection object to the Oracle E-Business Suite database
getSessionParamValue
java.lang.String getSessionParamValue(java.lang.String paramName)
This returns the value of the attribute/parameter named paramName from the Oracle E-Business Suite
session.

60 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


Parameters:
paramName - a string specifying the parameter/attribute name.
setSession
void setSession(oracle.apps.fnd.ext.common.AppsSession session)
This sets the encapsulated Oracle E-Business Suite session object. There is no getSession because the
encapsulated session will be used internally by getSessionParamValue method.
Parameters:
session - an AppsSession specifying the Oracle E-Business Suite session

Oracle Corporation, World Headquarters Worldwide Inquiries


500 Oracle Parkway Phone: +1.650.506.7000
Redwood Shores, CA 94065, USA Fax: +1.650.506.7200

61 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA


CONNECT WITH US

blogs.oracle.com/oracle Copyright © 2016, 2017, Oracle and/or its affiliates. All rights reserved. This document is provided for information purposes only, and the contents
hereof are subject to change without notice. This document is not warranted to be error-free, nor subject to any other warranties or conditions,
whether expressed orally or implied in law, including implied warranties and conditions of merchantability or fitness for a particular purpose. We
facebook.com/oracle specifically disclaim any liability with respect to this document, and no contractual obligations are formed either directly or indirectly by this
document. This document may not be reproduced or transmitted in any form or by any means, electronic or mechanical, for any purpose, without
twitter.com/oracle our prior written permission.

Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.
oracle.com
Intel and Intel Xeon are trademarks or registered trademarks of Intel Corporation. All SPARC trademarks are used under license and are
trademarks or registered trademarks of SPARC International, Inc. AMD, Opteron, the AMD logo, and the AMD Opteron logo are trademarks or
registered trademarks of Advanced Micro Devices. UNIX is a registered trademark of The Open Group. 0417

Extending Oracle E-Business Information Discovery V6


April 2017

2 | EXTENDING ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA

You might also like