You are on page 1of 109

Extending Oracle E-Business Suite Extensions for

Oracle Endeca
V4 and V5
ORACLE WHITE PAPER | OCTOBER 2015
Table of Contents
1. INTRODUCTION ................................................................................................................................ 5
2. E-BUSINESS SUITE EXTENSIONS FOR ENDECA OVERVIEW .............................................. 6
2.1 ORACLE E-BUSINESS SUITE EXTENSIONS FOR ORACLE ENDECA: RELEASE TIMELINE .................. 7
2.2 OVERVIEW OF ORACLE ENDECA INFORMATION DISCOVERY ......................................................... 7
2.3 ARCHITECTURE .............................................................................................................................. 8
3. DATA MODEL .................................................................................................................................. 10
3.1 RECORDS ..................................................................................................................................... 10
3.2 ATTRIBUTES ................................................................................................................................. 10
3.2.1 Attributes Metadata ..................................................................................................................... 10
3.2.1.1 Supported Data Types in Metadata ................................................................................................11
3.3 THE FND_EID SCHEMA .............................................................................................................. 11
4. GETTING STARTED WITH E-BUSINESS SUITE EXTENSIONS CUSTOMIZATIONS ..... 12
4.1 SETTING UP THE ADMIN USER FOR ORACLE ENDECA PAGES ...................................................... 12
4.2 BACKING UP AND RESTORING THE DASHBOARDS........................................................................ 15
4.2.1 Exporting the LAR File ............................................................................................................... 15
4.2.2 Importing a LAR File .................................................................................................................. 17
4.3 MODIFYING AN ORACLE ENDECA PAGE ....................................................................................... 18
4.3.1 Changing the Display Name of an Attribute ............................................................................... 18
4.3.2 Creating a New Attribute Group ................................................................................................. 20
4.3.3 Modifying a Hyperlink in a Results Table ................................................................................... 24
4.3.4 Enabling a Flexfield .................................................................................................................... 26
4.3.4.1 Enabling Descriptive Flexfield In Additional Component .............................................................26
4.3.4.2 Enabling Type-Ahead Search For Descriptive Flexfield Segments ...............................................28
5. ADDING NEW ATTRIBUTES ........................................................................................................ 29
5.1 ADDING A DATABASE ATTRIBUTE ............................................................................................... 29
5.1.1 Create a Custom Oracle E-Business Suite-Endeca View ............................................................ 29
5.1.2 Define Metadata .......................................................................................................................... 29
5.1.3 Enable the new Attribute in the Endeca UI ................................................................................. 30
5.2 ADDING A CALCULATED ATTRIBUTE ........................................................................................... 31
5.2.1 Export the View Definition .......................................................................................................... 31
5.2.2 Creating a Custom View ............................................................................................................. 33
6. ADDING NEW ENDECA PAGES ................................................................................................... 34
6.1 CREATING A NEW EMBEDDED ENDECA PAGE .............................................................................. 35
6.1.1 Create a New Endeca Page ......................................................................................................... 35
6.1.2 Add Endeca Content to an Existing Oracle Application Framework Page................................. 37
6.1.3 Using Component-Based Function Security in a Rich Content Container.................................. 38
6.1.4 Using the Auto-Resize Property in a Rich Content Container .................................................... 39
Pass Non-Oracle Application Framework Information to an Oracle Application Framework
Page 39
6.1.5 39
6.2 REPLACE AN EMBEDDED ENDECA PAGE WITH A NEW ENDECA PAGE.......................................... 39
6.2.1 Create an FND Function............................................................................................................. 39
6.2.2 Grant Access to the FND Function ............................................................................................. 41
6.2.3 Personalize the Oracle Application Framework Page ................................................................ 42
6.2.4 Point to The New Page ................................................................................................................ 43
6.3 CREATE A NEW ENDECA PAGE AND LINK TO IT USING THE LINKS LIST COMPONENT ................. 44
6.3.1 Create a New Child Page ............................................................................................................ 44

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


6.3.2 Add Links List Component .......................................................................................................... 46
7. ETL GRAPH CUSTOMIZATION................................................................................................... 49
7.1 CUSTOMIZE ORACLE E-BUSINESS SUITE-ENDECA DATABASE VIEWS ......................................... 49
7.2 REGISTER ATTRIBUTES IN THE FND SCHEMA .............................................................................. 50
7.3 COPY THE SANDBOX .................................................................................................................... 50
7.3.1 Download the Sandbox into a ZIP File ....................................................................................... 50
Create a New Sandbox ................................................................................................................ 50
7.3.2 50
7.3.3 Upload the ZIP File to the Sandbox ............................................................................................ 51
7.4 MODIFY THE ETL GRAPH ............................................................................................................ 53
7.4.1 Read The New Database View .................................................................................................... 53
7.4.2 Include the New Attribute in Metadata ....................................................................................... 56
7.4.3 Run the Graph ............................................................................................................................. 57
8. CUSTOMIZING DESCRIPTIVE FLEXFIELDS .......................................................................... 58
8.1 ADDING A CUSTOM DESCRIPTIVE FLEXFIELDS ............................................................................ 58
8.1.1 Register the New Flexfield Through the Endeca Metadata UI.................................................... 58
8.1.2 Compile the Flexfield Definition To Create Metadata ................................................................ 59
8.1.3 Modify the CloverETL Graph...................................................................................................... 62
8.1.4 Add Parameters in the Workspace Parameter File for The New Descriptive Flexfield .............. 64
8.1.5 Invoke the Common Sandbox Descriptive Flexfield Graphs ....................................................... 65
8.1.6 Run the Full Load Configuration Graph and Incremental Load Graphs.................................... 67
9. WRITE A NEW SECURITY HANDLER ....................................................................................... 68
9.1 INTRODUCTION TO THE SECURITY HANDLER ............................................................................... 68
9.2 CREATING A SECURITY HANDLER ................................................................................................ 68
9.2.1 Writing A New Security Handler ................................................................................................. 71
9.2.2 Deploy The Security Handler ...................................................................................................... 72
9.2.3 General Tips ................................................................................................................................ 73
9.2.4 Security Handler Example........................................................................................................... 74
10. ADDITIONAL RESOURCES .......................................................................................................... 76
APPENDIX A: FND_EID SCHEMA ........................................................................................................ 77
APPENDIX B: CUSTOM COMPONENTS ............................................................................................. 81
APPENDIX C: HOW TO CREATE AN ORACLE ENDECA ACCESS ROLE .................................. 89
APPENDIX D: PACKAGING AND DEPLOYING CUSTOMIZATIONS .......................................... 95
APPENDIX E: SECURITY CLASSES JAVADOC ................................................................................ 99

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


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

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


Figure 53: The Page After Adding the EBS Links List Component ................................................................. 48
Figure 55: Create New Sandbox.................................................................................................................... 51
Figure 56: Upload the ZIP File to the Sandbox.............................................................................................. 52
Figure 57: Navigate to the Downloaded Sandbox ........................................................................................ 52
Figure 58: Results of the ZIP File Upload ...................................................................................................... 53
Figure 59: Edit the DBInputTable Component .............................................................................................. 54
Figure 60: SQL Query Editor.......................................................................................................................... 55
Figure 62: Edit the Reformat Component..................................................................................................... 56
Figure 63: the FullLoadConfig Graph ............................................................................................................ 57
Figure 64: The Extensions for Endeca Developer Responsibility .................................................................. 58
Figure 65: Endeca Metadata UI - Data Domain ............................................................................................ 58
Figure 67: The Worklist Event oracle.apps.fnd.flex.dff.compiled ................................................................. 60
Figure 68: Worklist Notification Details ........................................................................................................ 60
Figure 69: The FND_PRECEDENCE_RULES Table .......................................................................................... 61
Figure 70: The FND_EID_GROUPS_B Table ................................................................................................... 61
Figure 71: The Attributes Tab in the Endeca Metadata UI ........................................................................... 61
Figure 72: FullLoad Graph with the Shipped Descriptive Flexfield ............................................................... 63
Figure 74: Added Parameters for a Descriptive Flexfield in the workspace.prm File ............................. 65
Figure 76: Load DFF Data Component Parameters....................................................................................... 66
Figure 78: A Security Handler ....................................................................................................................... 68
Figure 79: FND_EID Schema, Physical Structure ........................................................................................... 77

List of Tables
Table 1: Supported Data Types in Metadata ................................................................................................ 11
Table 2: OA.jsp Parameters .......................................................................................................................... 24
Table 4: Sandbox Attributes ......................................................................................................................... 51
Table 5: Descriptive Flexfield Metadata Database Tables ............................................................................ 60
Table 7: Descriptive Flexfield Parameters in workspace.prm File .......................................................... 64
Table 9: Oracle E-Business Suite Security Handler Interface ........................................................................ 69
Table 10: Final Inner Class RecordFilterExperession..................................................................................... 69
Table 11:Inner Class RecordFilterExpressionHelper ..................................................................................... 70
Table 12: EbsAbstractSecurityHandler abstract class ................................................................................... 71
Table 14: FNDLOAD Parameters ................................................................................................................... 95

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


1. Introduction
Oracle E-Business Suite Extensions for Oracle Endeca are 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 Suite for Oracle Endeca dashboards enable you to
answer ad hoc questions and to respond quickly to changing business conditions. The Oracle E-Business
Suite Extensions for Oracle Endeca are designed to replace multiple standard and shipped operational and
custom reports that drive your business forward.
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 Suite Extensions for
Oracle Endeca. If that is the case, you can customize or create fresh content.
When you customize Oracle E-Business Suite Extensions for Oracle Endeca, you can modify the user
interface (UI), create brand new pages, 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 Suite Extensions for Oracle Endeca to suit
your business requirements. Once you have deployed Oracle E-Business Suite Extensions for Oracle
Endeca, 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 Suite Extensions for Oracle Endeca V4 and V5. 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.

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


2. E-Business Suite Extensions for Endeca Overview
Oracle E-Business Suite Extensions for Oracle Endeca are 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 Suite Extensions for Oracle Endeca user
interface is enabled by integration with Oracle Endeca Information Discovery technology. Oracle Endeca
Information Discovery is a discovery platform with advanced in-memory technology. It 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 provides a unique and productive experience to all users of
Oracle E-Business Suite applications.
Oracle E-Business Suite Extensions for Oracle Endeca V5 (available in 12.2 and 12.1.3) includes the
following modules:
Oracle Receivables Extensions for Oracle Endeca
Oracle Payables Extensions for Oracle Endeca
Oracle Channel Revenue Management Extensions for Oracle Endeca
Oracle Cost Management Extensions for Oracle Endeca
Oracle Order Management Extensions for Oracle Endeca
Oracle Project Management Extensions for Oracle Endeca
Oracle iProcurement Extensions for Oracle Endeca
Oracle Human Resources Extensions for Oracle Endeca
Oracle Learning Management Extensions for Oracle Endeca
Oracle iRecruitment Extensions for Oracle Endeca
Oracle Discrete Manufacturing Extensions for Oracle Endeca
Oracle Process Manufacturing Extensions for Oracle Endeca
Oracle Inventory Management Extensions for Oracle Endeca
Oracle Enterprise Asset Management Extensions for Oracle Endeca
Oracle Warehouse Management Extensions for Oracle Endeca
Oracle Quality Extensions for Oracle Endeca
Oracle Installed Base Extensions for Oracle Endeca
Oracle Depot Repair Extensions for Oracle Endeca
Oracle Service Contracts Extensions for Oracle Endeca
Oracle TeleService Extensions for Oracle Endeca
Oracle Field Service Extensions for Oracle Endeca

For more information, please refer to the solution brief Oracle E-Business Suite Extensions for Endeca:
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 of the extensions, please refer to
Oracle E-Business Suite Extensions for Oracle Endeca Integration and System Administration Guide
Release 12.2 V5:https://docs.oracle.com/cd/E26401_01/doc.122/e49519/toc.htm.
Oracle E-Business Suite Extensions for Oracle Endeca Integration and System Administration Guide
Release 12.1 V5: http://docs.oracle.com/cd/E18727_01/doc.121/e37993/toc.htm.

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


2.1 Oracle E-Business Suite Extensions for Oracle Endeca: Release Timeline

Figure 1: The Release Timeline for Oracle E-Business Suite Extensions for Oracle Endeca

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.

Figure 2: Endeca Information Discovery Modules

Oracle Endeca Information Discovery consists of the following modules:


Oracle Endeca Studio: Rapid composition and configuration of applications, views, and
dashboards
Oracle Endeca Server: Search, guided navigation, and analytics capabilities
Oracle Endeca Integrator: Comprehensive data integration options, featuring the Integrator
Enterprise ETL solution

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


2.3 Architecture

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

For details about installing Oracle E-Business Suite Extensions for Oracle Endeca, refer to the My Oracle
Support document for your current release:
Installing Oracle E-Business Suite Extensions for Oracle Endeca, Release 12.1 V5 (Doc ID 1683053.1)
Installing Oracle E-Business Suite Extensions for Oracle Endeca, Release 12.2 V5 (Doc ID 1614014.1)

Figure 3: Endeca Information Discovery Architecture

When the setup process is complete, you will run a full load for the extensions 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 extension may have one or more data domains.

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


Figure 4 represents the Oracle Endeca Information Discovery software components and the Oracle E-
Business Suite artifacts that are installed by Oracle E-Business Suite Extensions for Oracle Endeca Server
Quick Install.

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

Oracle E-Business Suite users can access embedded Oracle Endeca pages in Oracle Application Framework
applications through the responsibility to which you assign the relevant Oracle Endeca role. When a user
accesses an Oracle Application Framework page with embedded Oracle Endeca content, the content request
is redirected to the Oracle E-Business Suite Oracle Endeca tier. Request response is created in the 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 page by clicking on the
transaction. This is a seamless integration.
Oracle E-Business Suite data stored on the Oracle Endeca 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.

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


3. Data Model
The data model consists of records and attributes. Records are the fundamental units of data. Attributes are
the fundamental units of the schema. For each attribute, a record may be assigned zero, one, or more
attribute values.

3.1 Records
Records are the fundamental units of data. Almost all information that is consumed by the 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.

3.2.1 Attributes Metadata


Oracle Endeca 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 Endeca tier during a full load.

Oracle Endeca 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), You
must have a PDR 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

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


3.2.1.1 Supported Data Types in Metadata
The 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 Type 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 second 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 A 32-bit signed integer. The Oracle Endeca Server accepts mdex:int
values up to 2,147,483,647on all platforms.
long mdex:long A 64-bit signed integer. The Oracle Endeca Server aaccepts
mdex:long values up to 9,223,372,036,854,775,807 on all
platforms.
string mdex:string An XML-valid character string.
string with an mdex:duration Represents the duration of days, hours, and minutes for an instance
mdexType Custom of time.
property set to
mdex:duration
string with an mdex:geocode A latitude and longitude pair. The latitude and longitude are both
mdexType Custom double-precision floating-point values, in units of degrees.
property set to
mdex:geocode
Table 1: 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 attribute metadata. Once ingested
into a data domain, the attribute will behave in Endeca as it behaves in EBS.It also enables 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 to store Endeca metadata.
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. For more information about
this schema, see Appendix A: FND_EID Schema.
Metadata maintenance UIs in Oracle E-Business Suite enable users to maintain the Oracle Endeca metadata
for each extension through the Extensions for Endeca Developer responsibility.

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


4. Getting Started with E-Business Suite Extensions Customizations
This document walks you through some examples of common ways to customize the Oracle E-Business
Suite Extensions for Oracle Endeca to meet your business needs.
You can customize the extensions on the following levels:
In Oracle Endeca Studio, customize the dashboards.
In Oracle Endeca Integrator, customize the ETL graph.

You may want to modify a default Oracle Endeca page in order to:
Enable attributes that are shipped by Oracle but that are not displayed in the Oracle Endeca
dashboards. For example, flexfield attributes are displayed in the Guided Navigation, 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 to perform certain actions on a record, such as to drill down into the
Oracle E-Business Suite.
Create new Oracle Endeca dashboards.
Enable Role Based Access Control (RBAC) for new pages you create.
Add support for additional descriptive flexfields.

4.1 Setting Up the Admin User for Oracle Endeca Pages


You must have appropriate permissions in oder to modify Oracle Endeca pages. To set up these permissions,
assign the Oracle Endeca Studio Administrator role to an existing EBS user.
To assign the Studio Administrator role to an Oracle E-Business Suite user:
1. Navigate to Oracle Endeca 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.
6. Click on the username in the results table.

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


Figure 5: Searching for a User

7. Under User Information, click Roles.


8. Click Select.

Click

Figure 6: Assigning User Roles

9. Select the Administrator role.


10. Click Save.

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


Note: All examples and screenshots in this paper were created using Order Management. However, the
concepts represented apply across all extensions.

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

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

For an Oracle E-Business Suite user with administrative privileges, the same Oracle Order Management
dashboard will look like the following:

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


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

In Figure 8, note the Welcome MFG EBS dropdown menu. This menu allows the user 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 Endeca 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.

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


Figure 9: Open the Manage Pages User Interface

5. Click the Export tab.


6. Click Export.

Figure 10: Exporting a LAR File

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


4.2.2 Importing a LAR File
To restore Oracle Endeca dashboards to their pre-modified state, import the LAR file.

1. From Control Panel, click Applications.


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 11: Importing a LAR File

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


4.3 Modifying an Oracle Endeca Page
You can make many useful modifications to Oracle Endeca dashboards without a background in Oracle
Endeca Developer. For example, you can:

Move components around on the page.


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

To perform more advanced modifications in the Endeca pages, you will need an Endeca Developer
background.

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

When modifying Oracle E-Business Suite Extensions for Oracle Endeca dashboards, some tasks must be
completed within the 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 Suite Endeca 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 Extensions for Endeca Developer
responsibility.

Figure 12: Navigating to the Extensions for Endeca Developer Responsibility

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


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

Figure 13: Searching for a Data Domain Attribute

To view the data domain names for all of the extensions, refer to Appendix D in Installing Oracle E-
Business Suite Extensions for Oracle Endeca, Release 12.1 V5 (Doc ID 1683053.1):
https://support.oracle.com/rs?type=doc&id=1683053.1

Figures 13 through 15 show an example of how to change the attribute display name.

To change the attribute display name:

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

Figure 14: Updating an Attribute

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


2. Update the Display Name.
3. Make sure you update the Custom Display Name of the attribute so that your changes are preserved
if you apply any patches. Once you make any metadata-related changes, including name changes,
you have to re-run a full load for changes to take effect.

Figure 15: The Manage Attribute UI

4.3.2 Creating a New Attribute Group


You can use a new attribute group to control the display of certain attributes in guided navigation, in a
results table, or in the Compare region.
To create a new attribute group:
1. Navigate to the Extensions for Endeca Developer responsibility.
2. Search for the data domain name.

Figure 16: Searching for a Data Domain

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


3. In the results table, click the update icon.

Figure 17: Updating a Data Domain

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


5. Enter the following attribute group details:
a. Attribute Group Code
b. Display Name
c. Custom Display Name
d. Sequence
e. Description
f. Custom Description

6. Click Apply.

Figure 18: Creating an Attribute Group

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


After the new attribute group is created, assign specific attributes to group.
1. Click the pencil icon for the new attribute group.

Figure 19: Adding Attributes to an Attribute Group

2. Click Add Existing Attribute.

Figure 20: 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.

Figure 21: Searching for Existing Attributes

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


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

Figure 22: Selecting Existing Attributes

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

Figure 23: Clicking Apply to Create the New Attribute Group

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


4.3.3 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
or Oracle Forms page.

There are two hyperlink actions that can be used in a results table:

Row-level action
Attribute action

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

1. Click Configuration.
2. Click Actions.
3. Click In 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/Optional Description

OAFunc Mandatory The function code for the page you want to
invoke
Dynamic Variable per Optional Can be referenced by the attribute name using the
Record following syntax: &{0}
Static Parameters Optional Other static parameters you want to send to the
target Oracle E-Business Suite function
Table 2: 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 + sign next to each attribute you want to add.
3. Click Apply.

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


Figure 24: Adding a Parameter to a URL

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

Figure 25: Hyperlinks in the Open Orders Summary Results Table

Figure 26: The Target Page for the Hyperlink from Order #72931 in Figure 25

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


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

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

You can pass the following parameters to callForm.jsp:

Parameter Mandatory/Optional Description

functionCode Mandatory Set the function code for the function you want to
invoke.
respId Optional Set this if you want to use a responsibility other than the
one used by the current Oracle Endeca 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 Endeca 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 3: CallForm.jsp Parameters

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

4.3.4 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 by Oracle E-Business Suite Extensions for Oracle
Endeca products, see: Product Descriptive Flexfields, Oracle E-Business Suite Extensions for Oracle Endeca
Integration and System Administration Guide, Release 12.2 V5.

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

4.3.4.1 Enabling Descriptive Flexfield In Additional Component

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 generated dynamically the first time you run a full load.

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


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 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 key 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.
d. Use the attribute key to add the segment to the EQL or to the view for the component.
e. For a chart component, add the segment to the EQL view for the chart. For example, for a
chart component that uses a view named chart1, add the segment to that view as follows:

DEFINE CHART1 AS SELECT attribut1 as attribute1...


<dff_segment_attribute_key> as DFF segment attribute

Replace <dff_segment_attribute_key> with the attribute key that you located


in step 1.

Figure 27: Descriptive Flexfield Support in a Chart

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


f. Similarly, add a descriptive flexfield segment to other types of components by adding the
segment to the component EQL or view using the attribute key.
2. 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 28: Descriptive Flexfield Support in a Results Table

4.3.4.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 Endeca 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 29: Descriptive Flexfield Support in a Search Box

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


5. Adding New Attributes
There are two ways to add new attributes in an Endeca page:
Add database attributes
Add calculated attributes

5.1 Adding a Database Attribute


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

1. Create Custom Oracle E-Business Suite-Endeca View.


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

Each of these steps is described in detail below.

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


To create a new custom Oracle E-Business Suite view, start with the Oracle E-Business Suite definition used
by the Oracle E-Business Suite product. Update the database view to add new attributes for the business
need, and then create a custom copy of the sandbox that will read from the new custom view. For example,
you could add the new attribute PRODUCT_NAME to the Endeca Extensions for Order Management.

Note: Always make a copy of the BD 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 Extensions for Endeca Developer responsibility, select the
Attribute tab, and then click Create Attribute.

Figure 30: Create an Attribute from the Extensions for Endeca DeveloperResponsibility

Create attributes for each column that you want to add.

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


Figure 31: The Attribute Creation UI

Figure 31 shows the user interface for creating new attributes. The Endeca 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: 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: 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: Represents the primary key, which is used to uniquely identify records.
Hierarchy: 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.
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 Endeca UI

In Endeca Studio, verify the new attribute in the base view. Navigate to Application Setting and then to
View and to Attributes.

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


Figure 32: 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 Studio View
Manager UI. These views can then be used to filter the dataset, to create calculated attributes, and to project
the underlying data domain records in a particular shape.
When you create a view definition, Endeca 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 Integrator server by running ExportViewDefinition.grf.

5.2.1 Export the View Definition


1. Log in to the Integrator Server.
2. Navigate to Sandboxes.
3. Select the sandbox name you want to work on (for example, ont).

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


Figure 33: Integrator Server Export View Definition

4. On the navigation tree, click graph and then Views. Click ExportViewDefinitions.grf.
5. Click on the green arrow to run the graph.

Figure 34: Running a Graph from the Integrator Server

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


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. If the application data has related data sources, click the Data Source dropdown list and select the
data source you want to manage.
4. On the views list, click New View. The Create View Definition dialog is displayed.
5. In the Display Name field, type a name for the view.
6. In the EQL text area, enter the view definition, including the new calculated attribute.
7. Click Validate.
8. Click Load to save the new view.
This new view can be used in any page component.

Figure 35: Creating a View Definition in Order Management

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


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

Oracle
Application
Framework
page

Endeca page
inside rich
content
container

Figure 36: An Endeca Page Embedded in an Oracle Application Framework Page.

In Figure 36, the Endeca page is in a rich content container. The container points to the same Endeca page
deployed in Endeca Studio.
Create a new Endeca page by one of the following approaches:
Create a new Endeca page and show it inside an Oracle Application Framework container using a
new Oracle Application 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 use Oracle Application Framework Personalization to replace the
Endeca page shipped by Oracle with the new one.
Use this approach when you want to replace an existing Endeca page with another Endeca page that
has similar functionality.

Create a new Endeca page and link to it using the Quick Links Component.
Use this approach to extend the functionality of an existing Endeca page.

34 | 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 Endeca Studio application, complete the following steps:

1. From the Admin menu, select Control Panel.

Figure 37: The Admin Menu in Endeca Studio

2. For the Application to which you want to add a page, click Action.
3. Select Manage Pages. In this example, the Application is ont (Order Management).

Figure 38: Endeca Studio Applications

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


4. Enter a name for the new page.
Note: The Endeca page name must be the same as the associated FND function name.
5. Click Add Page.

Figure 39: Add a New Page in Endeca Studio

6. Click the page name.


7. Enter a friendly URL for the page.
8. Click Save.

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


Figure 40: 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.

Note: Make sure that you have the latest version of Oracle JDeveloper before you perform the
following steps.

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.*
g. Specify the Height and Width.

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


Figure 41: Endeca Container Properties

*Destination Function: The Destination Function should have the following web-html call:

GWY.jsp?targetAppType=Endeca&targetPage=<path to Endeca landing page>

Set the profile option FND_ENDECA_PORTAL_URL to point to the Endeca Server URL.

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 users authorization.
Set a SPEL on the Rendered property using Personalization in Oracle Application Framework, or in Oracle
JDeveloper for 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 textbox appears.
4. In the text box, enter your function security SPEL. For example, Function Security SPEL $
{oa.Function Security.TEST_ENDECA_OAF_FUNCTION}
5. Click Apply.
6. Click Return to Application.

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


6.1.4 Using the Auto-Resize Property in a Rich Content Container
Automatic resizing is supported in rich content containers. To allow auto-resizing, set the autoResize
property to true. The container will then be resized to fit its contents.
This can be done declaratively in Oracle 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 Pass Non-Oracle Application Framework Information to an Oracle Application Framework


Page
Normally, when you pass information to an Oracle Application Framework page from non-Oracle
Application Framework, you will get an error saying "You have insufficient privileges for the current
operation. Please contact your System Administrator." This happens when you pass information 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. To circumvent this problem, use bookmarkarble
pages.

For more information about bookmarkable pages, see http://www-


apps.us.oracle.com/fwk/fwksite/1213devguide/adv/adv_fndval.htm#bookmark.

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. For information about how to do this, refer to section 6.1.1 Create a New Endeca Page.
After you have created the new Endeca page, complete the following steps:
1. Create an FND Function.
2. Grant Access to the FND Function.
3. Personalize the Oracle Application Framework Page.
4. Point to the New Page.

6.2.1 Create an FND Function

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

Note: The function code must be the same as the page name (for example,
ont_Endeca_opn_ordr_new).

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


Figure 42: Define a FND Function

4. Enter the page URL in the HTML Call

Note: the HTML Call syntax following targetPage must be the same as the friendly URL in
Endeca Endeca Studio:

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

Figure 43: FND Function Details

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

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


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 extension.
3. Click Update.

Figure 44: Update a Permission Set

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

5. Click Apply.

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


Figure 45: Add Permission to Endeca Permission Set

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

6.2.3 Personalize the Oracle Application Framework Page


1. Navigate to the original (old) Endeca page from Oracle E-Business Suite.
2. Make sure the profile option Personalize Self-Service Define is set to Yes.
3. Click Personalize Page.

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


4. Personalize the Rich Container.

Figure 46: Personalize the Rich Container

6.2.4 Point to The New Page


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

Figure 47: Personalize the Rich Container

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


6.3 Create a New Endeca Page and Link to it Using the Links List 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 Oracle Application Framework Rich Container calls
the new page using the EBS Link list component. This new component allows you to add links to Oracle
Application Framework pages or other Endeca pages.
The following example shows how to add a new Endeca Page in Oracle Order Management Extensions for
Endeca. The new blank Endeca page can be used to show additional content for Closed Orders.

6.3.1 Create a New Child Page


Note: Make sure that the name of the child page is the same as the name of the parent page. This is required
so that this page will honor Oracle E-Business Suite security when displaying data.
Note: Pages created this way can only be accessed via the configured link in the EBS Link list component.

To create a new child page:


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

Figure 48: Manage an Endeca Page

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


3. Click on the name of the page you want to work on.
4. Click Children.
5. Enter the name of the child page. This must be the same as the name of the parent page.
6. Click Add Page.

Figure 49: Select a Specific Page

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


7. Click the expand icon for the parent page, and click the name of the new child page.
8. In the Friendly URL field, define a URL for this page. You will use this URL later to navigate to
the page.
9. Click Save.
10. Click Back to a specific page in the application.

Figure 50: Create a Child Page

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

6.3.2 Add Links List Component


1. Expand the Welcome dropdown list and click Add Component.
2. Click Add for the EBS Links List component. The EBS Links List component appears on the page.
3. Click the Configuration icon for this component.

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


Figure 51: Add the EBS Links List Component

4. Select the data source and click Add Link.


5. In the Caption field, specify the display name for the page.
6. Specify the URL that you defined for the page.
7. Click Save.
8. Click Exit.

Figure 52: Configure the EBS Links List Component

47 | 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 53: The Page After Adding the EBS Links List Component

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

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


7. ETL Graph Customization
Oracle E-Business Suite Extensions for Oracle Endeca use Oracle Endeca Information Discovery Integrator
to extract records from the Oracle E-Business Suite database and use the Integrator client 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 graphically lay out and customize
your graphs.
To customize a graph, complete the following steps:
1. Customize the Database View.
2. Register the Attribute in 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 E-Business Suite database views have been designed for Oracle E-Business Suite Extensions for
Endeca. Each extension delivers a set of views installed in the E-Business Suite database. These views have
been optimized to minimize impact on the Oracle E-Business Suite database during the data load.

For a list of view names for each extension, see Oracle E-Business Suite Extensions for Oracle Endeca
Integration and System Administration Guide:
Release 12.1 V5: http://docs.oracle.com/cd/E18727_01/doc.121/e37993/toc.htm
Release 12.2 V5: https://docs.oracle.com/cd/E26401_01/doc.122/e49519/toc.htm

All views contain the following columns:

EID_ENDECA_ID: This column uniquely identifies each record within the EID 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-Endeca database view, create a copy of the view and then modify
the copy.
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.

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


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, 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 into the ETL graph
and run FullLoadConfig.grf.

7.3.1 Download the Sandbox into a ZIP File


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

Figure 54: Download 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


1. In the left pane, click New Sandbox.
2. Enter the sandbox ID, Name and Root path.
3. Click Create.

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


Sandbox Attribute Description
ID Unique identifier for the sandbox
Name Display name for the sandbox
Root Path File system path to sandbox root
Table 4: Sandbox Attributes

Figure 55: Create New Sandbox

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.

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


Figure 56: Upload the ZIP File to the Sandbox

Figure 57: Navigate to the Downloaded Sandbox

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


Figure 58: 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 LoadDataFull.grf.
2. Edit the DBInput Table component for which you want to update the database view.

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


Figure 59: Edit the DBInputTable Component

3. On the Properties tab, select 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.
5. Click Validate.
6. Save the graph.

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


Figure 60: SQL Query Editor

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


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 61: Edit the Metadata Edge

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

Figure 62: Edit the Reformat Component

4. Save all.

56 | 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 63: the FullLoadConfig Graph

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


8. Customizing Descriptive Flexfields
Oracle E-Business Suite Extensions for Oracle Endeca support descriptive flexfields to enable you to
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 Flexfields


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

8.1.1 Register the New Flexfield Through the Endeca Metadata UI


Use the Extensions for Endeca Developer responsibility to access metadata UIs in the Oracle E-Business
Suite.

Figure 64: The Extensions for Endeca Developer Responsibility

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

Figure 65: Endeca Metadata UI - Data Domain

2. Click the + sign.


3. Provide the name of the application that owns the descriptive flexfield.
4. Provide the descriptive flexfield title.

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


For example, the descriptive flexfield MTL_SYTEM_ITEMS is owned by the Inventory application. It can
be consumed by other products such as Order Management.

Figure 66: Assign a Descriptive Flexfield in the Endeca Metadata UI

8.1.2 Compile the Flexfield Definition To Create Metadata


After you have registered a descriptive flexfield for use in the Endeca data domain:

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.

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


For example, in Figure 67, the business event is OE_HEADER_ATTRIBUTES.

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

Figure 68: Worklist Notification Details

Metadata is generated when the descriptive flexfield is compiled.

Table Name Verification


FND_EID_DFF_REG A record is created for the new descriptive flexfield.
FND_EID_GROUPS_B A record is created with the eid_instance_group column equal to
FND_EID_GROUPS_TL 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 would have a value
such as F<#>_<#>_<DFF_SEGMENT>. The eid_instance_group
column has the name of the descriptive flexfield.
FND_EID_PDR_ATTRS_B Records are created for the segments registered to the descriptive
FND_EID_PDR_ATTRS_TL flexfield.
FND_EID_PRECEDENCE_RULES Precedence rules control which segments are displayed when a
context is selected in the 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 5: Descriptive Flexfield Metadata Database Tables

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


Figure 69: The FND_PRECEDENCE_RULES Table

Figure 70: The FND_EID_GROUPS_B Table

Figure 71: The Attributes Tab in the Endeca Metadata UI

Use the Attributes tab shown in Figure 71 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 23. All attributes under the
OE_HEADER_ATTRIBUTES group will have the prefix F23. The zero after the prefix indicates the context
or global descriptive flexfield segments. The number one indicates the first context and the number two
indicates the second context. From Figure 71 we can infer that OE_HEADER_ATTRIBUTES has one
global descriptive flexfield segment. It has two descriptive flexfield contexts, each having a single attribute.
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.

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


8.1.3 Modify the CloverETL Graph
Modify the CloverETL graph to write flexfield attributes to a temp 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 descriptive 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 and existing graph to ingest additional DFF data from 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 DFF and non DFF attributes as follows:

// $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;
}

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


In the code example above, the input data has been separated into two outputs. Write the non- descriptive
flexfield data into the data domain by using the ENDECA_BULK_ADD_OR_REPLACE_RECORDS
component. The input for the 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 The 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
The data set under the data domain where non-dff attributes needs to be
COLLECTION_KEY ingested into.
Table 6: Parameters for the Non-Descriptive-Flexfield ETL Component

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 database_INPUT_TABLE component to read from the database view.
Reformat the component to separate descriptive flexfield 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 72: FullLoad Graph with the Shipped Descriptive Flexfield

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


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

Figure 73: FullLoad Graph with Newly Added Descriptive Flexfield

8.1.4 Add Parameters in the Workspace Parameter File for The New Descriptive Flexfield
Add the parameters in Table 7 to the workspace.prm file.

Parameter Name Description


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

If the parameters listed above already exist in the workspace.prm, use a unique identifier such as
DFF_NAME1 for all of the above parameters.

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


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

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

Figure 75: Load the Descriptive Flexfield Data Component for the New Descriptive Flexfield

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


Pass the following parameters:

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 Defines the Clover-readable temporary file
Placeholder required to hold 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 attributes identified records uniquely in the Endeca data
SPEC_ATTRIBUTE domain
DATA_TYPE The 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
Table 8: Load Descriptive Flexfield Data Component Parameters

In Table 8, 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, DFF_IN_DATAFILE_2, etcetera.

Figure 76: Load DFF Data Component Parameters

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


8.1.6 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 Endeca.
Do this by running the FullLoadConfig graph.
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 will be shown in the
available refinements region in the Studio page.

Figure 77: Descriptive Flexfield Attribute Group in Guided Navigation

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


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

In Oracle E-Business Suite, the default Endeca handler is replaced 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 Endeca data source ID 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 data source definition. In Endeca, these are referred to as role-
based filters.

Figure 78: A Security Handler

9.2 Creating a Security Handler


Security is applied at the data-source level, so each data source should have its own security handler.

To create a security handler [introduce the procedure here]...


The security handler class name must be formed from the data source ID stripped of any special
characters like dashes, with the first character in upper case, followed by SecurityHandler. For
example, for the data source ID Prj-Pjt, the security handler class name must be
PrjpjtSecurityHandler.java.

The security handler package name must use the format


oracle.apps.<PRODUCT_NAME>.Endeca.portal.security.extensions.
handlers.impl. For example, for the data source ID Prj-Pjt, the package name must be
oracle.apps.Prj.Endeca.portal.security.extensions.handlers.impl

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


The security handler class must implement the interface
oracle.apps.fnd.Endeca.portal.security.extensions.handlers.
EbsSecurityHandler.

and must extend the abstract class


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

The EbsSecurityHandler interface (refer to Appendix E for Java documentation of this interface):

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 9: Oracle E-Business Suite Security Handler Interface

This interface has two nested static classes:

o The final inner class RecordFilterExpression, which encapsulates the EQL expression that is
returned from calling the security handler. (Refer to Appendix E for Java documentation of this
class.)

oracle.apps.fnd.Endeca.portal.security.extensions.handlers.Ebs
SecurityHandler.RecordFilterExpression
Method signature Description
protected void setExpression(String This method used to set the encapsulated
expression); EQL expression in the
RecordFilterExpression instance.
public String getExpression(); This method used to return the
encapsulated EQL expression from the
RecordFilterExpression instance.
Table 10: Final Inner Class RecordFilterExperession

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


o The final abstract inner class RecordFilterExpressionHelper, which has helper methods for
constructing the EQL expression using NOT, AND and OR operators. (Refer to
Appendix A for Java documentation of this class.)

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.
Operator Operation Result
OR RecordFilterExpression r1 = ((ORG_ID = 100001) OR
RecordFilterExpressionHelper.cre (ORG_ID = 100002) OR
ateRecordFilterExpressionOR(key (ORG_ID = 100123))
1, list1);
OR RecordFilterExpression r11 = ((ORG_ID = 100001) OR
(Attribute RecordFilterExpressionHelper.cre (ORG_ID = 100002) OR (ORG_ID
type is ateRecordFilterExpressionOR(key = 100123))
numeric) 1, list1, true);
AND RecordFilterExpression r2 = ((ORG_ID = 100001) AND
RecordFilterExpressionHelper.cre (ORG_ID = 100002) AND
ateRecordFilterExpressionAND(k (ORG_ID = 100123))
ey1, list1);
AND RecordFilterExpression r21 = ((ORG_ID = 100001) AND
(Attribute RecordFilterExpressionHelper.cre (ORG_ID = 100002) AND
type is ateRecordFilterExpressionAND(k (ORG_ID = 100123))
numeric) ey1, list1, true);
NOT RecordFilterExpression r3 = (NOT(ORG_ID : 100001),
RecordFilterExpressionHelper.cre NOT(ORG_ID : 100002),
ateRecordFilterExpressionNOT(k NOT(ORG_ID : 100123),)
ey1, list1);
OR RecordFilterExpression r4 = ((ORG_ID = 100001) OR
RecordFilterExpressionHelper.cre (ORG_ID = 100002) OR
ateRecordFilterExpressionOR(r1, (ORG_ID = 100123)) OR
r2); ((ORG_ID = 100001) AND
(ORG_ID = 100002) AND
(ORG_ID = 100123))
AND RecordFilterExpression r5 = ((ORG_ID = 100001) OR
RecordFilterExpressionHelper.cre (ORG_ID = 100002) OR
ateRecordFilterExpressionAND(r (ORG_ID = 100123)) AND
1, r2); ((ORG_ID = 100001) AND
(ORG_ID = 100002) AND
(ORG_ID = 100123))
Table 11:Inner Class RecordFilterExpressionHelper

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


The EbsAbstractSecurityHandler abstract class has:

oracle.apps.fnd.Endeca.portal.security.extensions.handlers.EbsAbstractSecurityHandler
Method signature Description
public void setConnection(Connection connection); This method used to set the encapsulated
database connection in the security
handler instance.
protected Connection getConnection(); This method used to return the
encapsulated database connection from
the security handler instance.
protected String getSessionParamValue(String This method used to get the value of the
paramName) paramName attribute/parameter from the
Oracle E-Business Suite session.
public void setSession(AppsSession session) This method used to set the encapsulated
Oracle E-Business Suite session in the
security handler instance.
Table 12: EbsAbstractSecurityHandler abstract class

9.2.1 Writing A New Security Handler


To write a new security handle, complete the following procedure:
1. Determine the data source ID. For example, Prj-Pjt. Note that the data source ID must contain
the hyphen otherwise the default security handler will be used.
2. Create a new project using your preferred IDE.
3. Add classpath dependencies as described in Table 13.

Jar File Name Is Comments


mandatory?
FndEndecaSecuri Yes This jar file exists in
ty.jar <ENDECA_BASE>/Oracle/Middleware/user_pr
ojects/applications/Endeca_domain/studi
o-portal/APP-INF/lib
log4j.jar No This file can be found at
<ENDECA_BASE>/Oracle/Middleware/user_pr
ojects/applications/Endeca_domain/studi
o-portal/APP-INF/lib. You must add this in order
to add debug messages.
fndext.jar No This file can be found at
<ENDECA_BASE>/Oracle/Middleware/user_pr
ojects/applications/Endeca_domain/studi
o-portal/APP-INF/lib. You must add this in order
to add debug messages, and in order to access the
AppsSession. The method getSessionParamValue at
oracle.apps.fnd.Endeca.portal.security.
extensions.handlers.EbsAbstractSecurity
Handler class can be used to get attributes and
parameters from AppsSession.
Table 13: Classpath Dependencies

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


Note: Add Other Optional jar File According to Your Needs.

4. Create a new package named


oracle.apps.<PRODUCT_NAME>.Endeca.portal.security.extensions
.handlers.impl where the PRODUCT_NAME is the one determined in step 2. Although it is
recommended by Java that the package name be all lower case, this is not handled in Endeca V5
security code. Therefore, you must use the product name. For example, if the product name is Prj
then the package name must be
oracle.apps.Prj.Endeca.portal.security.extensions.handlers.impl

5. Create a new class. The class name should begin with the data source ID without non-
alphanumeric characters like the hyphen. Capitalize only the first character. Finally, append
SecurityHandler to the end. For example, for the data source ID Prj-Pjt the class name must
be PrjpjtSecurityHandler. 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
getFilterAttributeValues method. The security manager provides the Oracle E-Business Suite
session ID and the database connection to the class before calling this method. The helper
methods at RecordFilterExpressionHelper helper class are used to construct the final EQL
expression.

8. Generate the jar file from this project using your 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.

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


9.2.3 General Tips

1. Because the studio is based on Java 6, you must compile code in Java 6.

2. To use an existing security handler for a new data source, create a new security handler that
extends the existing one. For example, to use the existing security handler
EamwoSecurityHandler with the new data source eam-wr, you would use the following code:

package
oracle.apps.eam.Endeca.portal.security.extensions.handlers.impl
;
public class EamwrSecurityHandler extends EamwoSecurityHandler
{
}

3. Make sure the code handles all errors and exceptions.

4. When binary operations are used extensively, page loading can slow down as the number of
records increases. To prevent performance degradation, limit the use of OR and AND
operations.

5. The database connection must not be closed. The security handler does not own the database
connection; the connection is provided by the security manager.

6. To enable future diagnostics with debugging turned on, add debug messages for filter
conditions, as in the following code:

Public EbsSecurityHandler. RecordFilterExpression


getFilterAttributeValues(String userId, String orgId, String respId,
String resAppId, String secId) {
getLogger().debug(PrjpjtSecurityHandler -- >
getFilterAttributeValues : Start);
getLogger().debug(PrjpjtSecurityHandler -- >
getFilterAttributeValues : received parameters are [userId = +
userId + , orgId = + orgId + , respId = + respId + , resAppId
= + resAppId + and secId = + secId + ]);
//Some business logic
getLogger().info(PrjpjtSecurityHandler -- > getFilterAttributeValues
: EQL expression constructed successfully);
//Some other business logic
getLogger().debug(PrjpjtSecurityHandler -- >
getFilterAttributeValues : End);
}

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


9.2.4 Security Handler Example
This is a complete security handler code for a data source with the ID prj-pjt.

package
oracle.apps.prj.endeca.portal.security.extensions.handlers.impl;

import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
import org.apache.log4j.Logger;
import
oracle.apps.fnd.endeca.portal.security.extensions.handlers.EbsAbstra
ctSecurityHandler;
import
oracle.apps.fnd.endeca.portal.security.extensions.handlers.EbsSecuri
tyHandler;

public class PrjpjtSecurityHandler extends


EbsAbstractSecurityHandler implements
EbsSecurityHandler {
public PrjpjtSecurityHandler() {
}

public EbsSecurityHandler.RecordFilterExpression
getFilterAttributeValues(
String userId, String orgId, String respId, String
resAppId,
String secId) {
getLogger().debug(
"PrjpjtSecurityHandler -->
getFilterAttributeValues : Start");
StringBuilder strBuilder = new StringBuilder(
"PrjpjtSecurityHandler -->
getFilterAttributeValues : received parameters : ");
strBuilder.append("User Id: " + userId + "\n");
strBuilder.append("Organization Id: " + orgId + "\n");
strBuilder.append("Responsibility Id: " + respId +
"\n");
strBuilder.append("Responsible Application Id: " +
resAppId + "\n");
strBuilder.append("Sec Group Id: " + secId + "\n");
getLogger().debug(strBuilder.toString());

Connection conn = null;


EbsSecurityHandler.RecordFilterExpression
recordFilterExpression = null;
try {
conn = getConnection();

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


List<String> orgIds = getAccessibleOrgIds(respId,
conn);

recordFilterExpression =
EbsSecurityHandler.RecordFilterExpressionHelper

.createRecordFilterExpressionOR("ORG_ID", orgIds);
getLogger()
.info("PrjpjtSecurityHandler -->
getFilterAttributeValues : EQL expression constructed
successfully.");
} catch (Exception exception) {
getLogger().error(
"PrjpjtSecurityHandler -->
getFilterAttributeValues : Exception : "
+ exception.getMessage());
} finally {
getLogger().debug(
"PrjpjtSecurityHandler -->
getFilterAttributeValues : End");
}
return recordFilterExpression;
}

protected Logger getLogger() {


return Logger.getLogger(PrjpjtSecurityHandler.class);
}
protected List<String> getAccessibleOrgIds(String respId,
Connection conn) {
getLogger().debug("PrjpjtSecurityHandler -->
getAccessibleOrgIds.");
return PrjpjtHelper.getAccessibleAttributeValues(
"SELECT org_id ATTR_NAME FROM
ar_system_parameters ", respId,
"${USER_RESP_ID}", conn);
}
}

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


10. Additional Resources

Please refer to the following resources for general information about working with Oracle E-Business Suite
Extensions for Oracle Endeca.
Installing Oracle E-Business Suite Extensions for Oracle Endeca, Release 12.1 V5 (Doc ID 1683053.1)
https://support.oracle.com/rs?type=doc&id=1683053.1
Oracle E-Business Suite Extensions demo on YouTube
https://www.youtube.com/user/OracleEBSdemos
Oracle E-Business Suite Extensions for Oracle Endeca Integration and System Administration Guide
https://docs.oracle.com/cd/E26401_01/doc.122/e49519/toc.htm

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


Appendix A: FND_EID Schema
The data in an Endeca application has 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 between the tables allow you to create logical records from data spread across
multiple tables.

Figure 79: FND_EID Schema, Physical Structure

Figure 80: FND_EID Schema, Logical Data Model

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


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 n Oracle 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 EID application.
Each EID 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 EID
The name of the database view used during ETL to extract data for this record type into the EID
data store
The name of the ETL graph for full and incremental loads.

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 function name and are shared across all participating applications.
The seeded profiles include those listed in the following table.

Seeded Profile Description


Dimension Enables the creation of hierarchical or standard attribute values to
provide a list of predefined allowed values. Acts as a placeholder
for metadata on the attribute values.
Metric Provides a list of one or more suggested metric elements. The
metric element may contain zero or more metrics. Each metric must
contain at least one aggregation function.
Detail Turns off navigation, turns on record search, and turns off snippets.
Text Turns off navigation, turns on record search and turns on snippets.
RecSpec 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. 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.
Hierarchy Represents a hierarchical relationship in which records 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.
DimNoRecCountsNoTextSearch Represents the dimension without record count and without 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.

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


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

FND_EID_PDR_ATTRS_B
This is the base table for 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 table is a join table that creates 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 collections 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 Endeca 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 group.

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


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.

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

80 | 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 Links List


This component facilitates the quick, easy integration of the Endeca extensions with Oracle E-Business
Suite.
Configuration
To configure the EBS Links List:

1. Log in to Endeca Studio as the Admin user.


2. The EBS links list is available from the Information Discovery section in the Add Component
menu.

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


3. Click the Configuration icon.

4. Click Add Link.

5. Enter a caption for the Links list that will appear on the page.
6. Enter the target page URL, with the following syntax:
/endeca/web/<page name>
7. Click Save.

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


8. Click Save Preferences.

Now you can navigate to the target page from the links list component

EBS Results Grid


This component provides a meaningful summary of 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 an end
user has used a Guided Navigation 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. You determine how
the component is displayed and how end users can interact with each displayed attribute.
1. Login to Oracle Endeca Studio with Admin user. The EBS Result Grid is available from the
Information Discovery section in the Add Components menu.

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


2. Click Add.
3. Click Configuration.

Configuring the Pagination Option:

The pagination options are found under the display options.

1. To display the pagination bar, check Enable Pagination. The box is checked by default. This
enables users to navigate through the results.
2. Check Results per Page to allow end users to select the number of records to display per page.
3. 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.
4. By default, the available options are 10, 20, and 30 records per page.
5. From the Default Results per Page dropdown list, select the default number of records to display
per page.

84 | 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. Check Allow number of columns to be changed to allow end users to select the number of
records to change.
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 drop-down list, select the default number of records to
change.

Configuring the Carousel Options

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


Check Show Tool Tips on Images to allow the end user to show the images tooltip.
Enter the tool tip title in the Attribute to Show as Tooltip Title field (optional).
Enter the tooltip description in the Attribute to Show in Tooltip.
Check the Resize Images checkbox to allow end users to resize the images.
You can enter either a fixed width or a fixed height for the image size.

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


Configuring the Customize Action Buttons

To show the Add to Cart button, check the Show Add to Cart Button checkbox.
Check the Show Quantity Box checkbox to allow the end user to show the quantity box.
To show the Add to Favorites button, check the Show Add to Favorites checkbox.
Check the Show Compare Checkbox to allow the end user compare records.
Enter the Condition attribute to hide Compare Action.

Edit the Add to Cart button.

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


Now you can set action button properties by making changes to

The button text


The button appearance
The default image
Attribute parameters

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


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

Grid View:

Carousel View:

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


Appendix C: How to Create an Oracle Endeca Access Role

Create a New Role


1. Using Oracle E-Business Suite User Management responsibility, navigate to the Roles & Role
Inheritance function.

2. Click Create Role.

3. Based on the naming convention guideline, define a new role 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
- Save

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


Create a New Grant
1. Click Create Grant for the newly created role.

Based on the naming convention guideline; define a new grant as follows:


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

Assign Responsibility and Permission Set to the newly created Grant


a. In the Security context, assign the required Oracle E-Business Suite responsibility access to the
Oracle Endeca Extension pages via the newly created grant.
- Click Next.

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


b. In the Set section, assign a permission set that includes the Oracle E-Business Suite permission to
the newly customized Oracle Endeca extension page, to the newly created grant.
- Click Next.

- Click Finish.

- Click OK to confirm successful new grant creation.

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


- Click Save and Apply for the new role definition. This is preceded by a warning to run the
Workflow background Engine concurrent request so the rule will be effective.

Run the Workflow Background Engine Concurrent Request


Navigate to the Oracle E-Business Suite Concurrent Program and submit the (Workflow Background
Engine) concurrent request with the following parameters:

Confirm that the request has been completed successfully.

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


Clear the Cache

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

2. Navigate to the Core Services tab and then the Caching Framework sub-tab.

3. Click on the Global Configuration link from the left navigation pane.

4. In the Global Cache Configuration screen, click Clear All Cache.

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


5. When prompted with the warning shown in the following screenshot, click on the Yes button:

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


Appendix D: Packaging and Deploying Customizations
This section describes how to migrate your seed data and which configuration (.ldt) and data (.lct) files you
need to migrate.

We will give you an answer to the following question: What do I need to do to migrate my changes from
test/dev to production?

How to Migrate Seed Data


Seed data are generally defined as the data delivered with a standard installation of Oracle E-Business Suite
Extensions for Endeca. 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 the metadata definition of a
development or test instance and upload it to a production instance.
The FND Loader downloads data from a database according to a configuration (.lct) file, and stores the data
into a data (.ldt) file. The FND Loader can then upload this data to another database using a control file.
The loader operates in one of two modes: download or 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/Upload

You can download and upload the seed data using the FNDLOAD executable, which takes the following
parameters:
FNDLOAD apps/pwd 0 Y mode configfile datafile entity [ param ... ]

Variable Description
<apps/pwd> The APPS schema and password in the form username/password
<0Y> Concurrent program flags
mode UPLOAD or DOWNLOAD.
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).
<datafile> The data file to write (usually with a suffix of .ldt). If the data file already exists,
it will be overwritten.
<entity> The entity(ies) to upload or download. When uploading, you should always
upload all entities, so specify a "-" to upload all entities.
< [param] > Zero or more additional parameters are used to provide bind values in the access
SQL (both UPLOAD and DOWNLOAD). Each parameter is in the form
NAME=VALUE. NAME should not conflict with an attribute name for the
entities being loaded.
Table 14: FNDLOAD Parameters

95 | 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, the name of
an LDT file in which to save the downloaded data

To download all Endeca attributes for your extension, specify the instance id for that extension 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 extension 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 extension 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 extension 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 extension 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 extension 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>

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


To download the sandbox, specify the sandbox id for that extension 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 - to upload all entities in the LDT file.

To upload all Endeca attributes for your extension, specify the instance id for that extension 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 extension 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 extension 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 extension 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 extension 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>

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


To upload the record types, specify the instance id for that extension in the EID_INSTANCE_ID
upload parameter.
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 extension 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 extension 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>

98 | 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 Details
oracle.apps.fnd.endeca.po getFilterAttributeValues(String userId, String orgId, String respId,
rtal.security.extensions. String respAppId, String secId)
handlers.EbsSecurityHandl Returns the security EQL expression that will be injected into the
er.RecordFilterExpression query using the security manager.

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.
oracle.apps.fnd.endeca.portal.security.extensions.handlers.EbsSecurityHa
ndler.RecordFilterExpression
oracle.apps.fnd.endeca.portal.security.extensions.handlers
Class EbsSecurityHandler.RecordFilterExpression
java.lang.Object

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


EbsSecurityHandler.RecordFilterExpression

public final class 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 encapsulate.
oracle.apps.fnd.endeca.portal.security.extensions.handlers.EbsSecurityHa
ndler.RecordFilterExpressionHelper
oracle.apps.fnd.endeca.portal.security.extensions.handlers
EbsSecurityHandler.RecordFilterExpressionHelper

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


Method Summary

static createRecordFilterExpressionAND(oracle.apps.fnd.endeca.portal
oracle.apps.fnd.endeca.portal.security.ext .security.extensions.handlers.EbsSecurityHandler.RecordFilterE
ensions.handlers.EbsSecurityHandler.Rec xpression leftExpression,
ordFilterExpression oracle.apps.fnd.endeca.portal.security.extensions.handlers.EbsSe
curityHandler.RecordFilterExpression rightExpression)
This helper method constructs EQL expression by ANDing two
EQL expressions.

static createRecordFilterExpressionOR(oracle.apps.fnd.endeca.portal.s
oracle.apps.fnd.endeca.portal.security.ext ecurity.extensions.handlers.EbsSecurityHandler.RecordFilterExp
ensions.handlers.EbsSecurityHandler.Rec ression leftExpression,
ordFilterExpression oracle.apps.fnd.endeca.portal.security.extensions.handlers.EbsSe
curityHandler.RecordFilterExpression rightExpression)
This helper method constructs EQL expression by ORing two
EQL expressions.

static createRecordFilterExpressionNOT(java.lang.String key,


oracle.apps.fnd.endeca.portal.security.ext java.util.List<java.lang.String> values)
ensions.handlers.EbsSecurityHandler.Rec This helper method constructs EQL expression that fulfills this:
ordFilterExpression The supplied key doesnt match any of the supplied text
values.

static createRecordFilterExpressionNOT(java.lang.String key,


oracle.apps.fnd.endeca.portal.security.ext java.util.List<java.lang.String> values, boolean isNumeric)
ensions.handlers.EbsSecurityHandler.Rec This helper method constructs EQL expression that fulfills this:
ordFilterExpression The supplied key doesnt match any of the supplied values. The
type of the attribute is determined by the isNumeric parameter.

createRecordFilterExpressionOR(java.lang.String key,
static java.util.List<java.lang.String> values)
oracle.apps.fnd.endeca.portal.security.ext This helper method constructs EQL expression that fulfills this:
ensions.handlers.EbsSecurityHandler.Rec The supplied key matches any of the supplied text values.
ordFilterExpression

static createRecordFilterExpressionOR(java.lang.String key,


oracle.apps.fnd.endeca.portal.security.ext java.util.List<java.lang.String> values, boolean isNumeric)
ensions.handlers.EbsSecurityHandler.Rec This helper method constructs EQL expression that fulfills this:
ordFilterExpression The supplied key matches any of the supplied values. The type
of the attribute is determined by the isNumeric parameter.

static createRecordFilterExpressionAND(java.lang.String key,


oracle.apps.fnd.endeca.portal.security.ext java.util.List<java.lang.String> values)
ensions.handlers.EbsSecurityHandler.Rec This helper method constructs EQL expression that fulfills this:

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


ordFilterExpression The supplied key matches all of the supplied text values.

static createRecordFilterExpressionAND(java.lang.String key,


oracle.apps.fnd.endeca.portal.security.ext java.util.List<java.lang.String> values, boolean isNumeric)
ensions.handlers.EbsSecurityHandler.Rec This helper method constructs EQL expression that fulfills this:
ordFilterExpression The supplied key matches all of the supplied text values. The
type of the attribute is determined by the isNumeric parameter.

static createRecordFilterExpressionNOT(java.lang.String key,


oracle.apps.fnd.endeca.portal.security.ext java.lang.String value)
ensions.handlers.EbsSecurityHandler.Rec This helper method constructs EQL expression that fulfills this:
ordFilterExpression The supplied key doesnt match the supplied value.

java.lang.Object
EbsSecurityHandler.RecordFilterExpressionHelper

public final class RecordFilterExpressionHelper

Method Detail

createRecordFilterExpressionAND
static
oracle.apps.fnd.endeca.portal.security.extensions.handlers.EbsSecurityHa
ndler.RecordFilterExpression
createRecordFilterExpressionAND(oracle.apps.fnd.endeca.portal.security.e
xtensions.handlers.EbsSecurityHandler.RecordFilterExpression
leftExpression,
oracle.apps.fnd.endeca.portal.security.extensions.handlers.EbsSecurityHa
ndler.RecordFilterExpression rightExpression)
This helper method constructs EQL expression by ANDing two EQL expressions.
Parameters:
leftExpression- a RecordFilterExpression specifying left operand of the AND operation
rightExpression- a RecordFilterExpression specifying 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.EbsSecurityHa
ndler.RecordFilterExpression
createRecordFilterExpressionOR(oracle.apps.fnd.endeca.portal.security.ex

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


tensions.handlers.EbsSecurityHandler.RecordFilterExpression
leftExpression,
oracle.apps.fnd.endeca.portal.security.extensions.handlers.EbsSecurityHa
ndler.RecordFilterExpression rightExpression)
This helper method constructs EQL expression by ORing two EQL expressions.
Parameters:
leftExpression- a RecordFilterExpression specifying the left operand of the OR operation.
rightExpression- a RecordFilterExpression specifying the right operand of the OR expression.
Returns:
The expression that result from ORing the two operands expressions
createRecordFilterExpressionNOT
static
oracle.apps.fnd.endeca.portal.security.extensions.handlers.EbsSecurityHa
ndler.RecordFilterExpression
createRecordFilterExpressionNOT(java.lang.String key,
java.util.List<java.lang.String> values)
This helper method constructs EQL expression that fulfills this: The supplied key doesnt match any of the
supplied values.
Parameters:
key - a string specifying attribute key to be used at the expression
values- a list specifying the list of values to compare the attribute key with them
Returns:
The expression in the form (not (key: value1), not (key: value2), not (key: value3))
createRecordFilterExpressionNOT
static
oracle.apps.fnd.endeca.portal.security.extensions.handlers.EbsSecurityHa
ndler.RecordFilterExpression
createRecordFilterExpressionNOT(java.lang.String key,
java.util.List<java.lang.String> values, boolean isNumeric)
This helper method constructs EQL expression that fulfills this: The supplied key doesnt match any of the
supplied values. The type of the attribute is determined by the isNumeric parameter.
Parameters:
key - a string specifying attribute key to be used at 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:

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


The expression in the form (not (key: value1), not (key: value2), not (key: value3))
createRecordFilterExpressionOR
static
oracle.apps.fnd.endeca.portal.security.extensions.handlers.EbsSecurityHa
ndler.RecordFilterExpression
createRecordFilterExpressionOR(java.lang.String key,
java.util.List<java.lang.String> values)
This helper method constructs EQL expression that fulfills this: The supplied key matches any of the
supplied values.
Parameters:
key - a string specifying attribute key to be used at 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.EbsSecurityHa
ndler.RecordFilterExpression
createRecordFilterExpressionOR(java.lang.String key,
java.util.List<java.lang.String> values, boolean isNumeric)
This helper method constructs EQL expression that fulfills this: 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 attribute key to be used at 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
createRecordFilterExpressionAND
static
oracle.apps.fnd.endeca.portal.security.extensions.handlers.EbsSecurityHa
ndler.RecordFilterExpression
createRecordFilterExpressionAND(java.lang.String key,
java.util.List<java.lang.String> values)
This helper method constructs EQL expression that fulfills this: The supplied key matches all of the
supplied values.

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


Parameters:
key - a string specifying attribute key to be used at 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.EbsSecurityHa
ndler.RecordFilterExpression
createRecordFilterExpressionAND(java.lang.String key,
java.util.List<java.lang.String> values, boolean isNumeric)
This helper method constructs EQL expression that fulfills this: The supplied key matches all of the
supplied values. The type of the attribute is determined by the isNumeric parameter.
Parameters:
key - a string specifying attribute key to be used at 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.
createRecordFilterExpressionNOT
static
oracle.apps.fnd.endeca.portal.security.extensions.handlers.EbsSecurityHa
ndler.RecordFilterExpression
createRecordFilterExpressionNOT(java.lang.String key, java.lang.String
value)
This helper method constructs EQL expression that fulfills this: The supplied key doesnt match the
supplied value.
Parameters:
key - a string specifying attribute key to be used at the expression
value- a string specifying the value to compare the attribute key with it
Returns:
The expression in the form (key: value1).
oracle.apps.fnd.endeca.portal.security.extensions.handlers.EbsAbstractSe
curityHandler

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


oracle.apps.fnd.endeca.portal.security.extensions.handlers
Class EbsAbstractSecurityHandler
java.lang.Object
EbsAbstractSecurityHandler

public abstract class 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

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

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


This returns the value of the attribute/parameter named paramName from the Oracle E-Business Suite
session.
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 - a AppsSession specifying the Oracle E-Business Suite session.

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


Oracle Corporation, World Headquarters Worldwide Inquiries
500 Oracle Parkway Phone: +1.650.506.7000
Redwood Shores, CA 94065, USA Fax: +1.650.506.7200

CONNECT WITH US

blogs.oracle.com/oracle Copyright 2015, 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. 1015

Extending Oracle E-Business Suite Extensions for Oracle Endeca V4 and V5


October 2015