100% found this document useful (1 vote)
324 views105 pages

EBSAPEXSimplified PDF

This document discusses integrating Oracle E-Business Suite (EBS) with Oracle Application Express (APEX). It provides an overview of the architecture with EBS in the database tier and APEX in the middle and web tiers. It then outlines the key steps to integrate the two systems, including creating an APEX application, configuring authentication and authorization, linking EBS functions to the APEX menu, and retrieving EBS session details like responsibilities in APEX.

Uploaded by

oraclerca1
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (1 vote)
324 views105 pages

EBSAPEXSimplified PDF

This document discusses integrating Oracle E-Business Suite (EBS) with Oracle Application Express (APEX). It provides an overview of the architecture with EBS in the database tier and APEX in the middle and web tiers. It then outlines the key steps to integrate the two systems, including creating an APEX application, configuring authentication and authorization, linking EBS functions to the APEX menu, and retrieving EBS session details like responsibilities in APEX.

Uploaded by

oraclerca1
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 105

EBS and APEX:

Integration Simplified

Alex Nuijten
nuijten.blogspot.com
Toshihiro Gamo https://flic.kr/p/exeTdK
Frederick Florin / AFP
Andrew
https://flic.kr/p/gSNEn
israelvila
https://flic.kr/p/8SWz8S
Database Centric

Everywhere* SQL and PL/SQL

Declarative Desktop

100% Browser Handheld


Everywhere*

EE, SE, SE1, XE


$ 0.00
Real time Queries

New Business
Customization of Functionality
Existing EBS
Pages and Additional
Process Flows Reporting

Modernization Custom Data


Forms Application Collections
EBS and APEX:
Integration
E x t e nsio n Simplified

Alex Nuijten
x . o ra c l e . c o m
a p e
1 2 . 1
le a s e
Re
Web Browser Middle Tier Database Tier

Oracle HTTP Server

Oracle WebLogic

Server*
Oracle Database Server
Oracle REST
 - Oracle E-Business Suite
Data Services - Oracle Application Express

EBS Requests
APEX Requests
Application Server

* Oracle Glassfish Server or Apache Tomcat can be substituted for Oracle WebLogic Server
1 2 . 1
le a s e
Re
Web Browser Middle Tier Database Tier

Oracle HTTP
Server

Application Server

Oracle WebLogic
 Oracle Database Server


Server* - Oracle E-Business Suite
- Oracle Application Express

EBS Requests Oracle REST



APEX Requests Data Services

Application Server

* Oracle Glassfish Server or Apache Tomcat can be substituted for Oracle WebLogic Server
1 2 . 2
le a s e
Re
Web Browser Middle Tier Database Tier

Oracle WebLogic
Server

Application Server

Oracle WebLogic
 Oracle Database Server


Server* - Oracle E-Business Suite
- Oracle Application Express

EBS Requests Oracle REST



APEX Requests Data Services

Application Server

* Oracle Glassfish Server or Apache Tomcat can be substituted for Oracle WebLogic Server
1. Create an APEX Application
2. Configure APEX Login Process
3. Define APEX Authorisations
4. Define EBS Profile and Functions
5. Link Functions to Menu and Responsibility
APPS
APPS
APPS
APPS
APPS EXTENSION
APPS EXTENSION
APPS EXTENSION
APPS EXTENSION
grant select

APPS EXTENSION
Page Process

Instead Of Trigger

Standard API's

APPS EXTENSION
Authentication and
Authorization
Application Express Accounts Database Accounts
Oracle Application Server Single Sign On
LDAP Directory Custom HTTP Header Variable

Open Door Credentials No Authentication (using DAD)


Application Express Accounts Database Accounts
Oracle Application Server Single Sign On
LDAP Directory Custom HTTP Header Variable

Open Door Credentials No Authentication (using DAD)


Application Express Accounts Database Accounts
Oracle Application Server Single Sign On
LDAP Directory Custom HTTP Header Variable

Open Door Credentials No Authentication (using DAD)


! Place in Package

function validate_login
(p_username in varchar2
,p_password in varchar2
)
return boolean
is
begin
return fnd_user_pkg.validatelogin
(p_username
,p_password
);
end validate_login;
function validate_login
(p_username in varchar2
,p_password in varchar2
)
return boolean
is
begin
return fnd_user_pkg.validatelogin
(p_username
,p_password
);
end validate_login;
1. No Responsibilities
2. Get Responsibilities from EBS Session
3. Set Responsibilities in APEX application
1. No Responsibilities
2. Get Responsibilities from EBS Session
3. Set Responsibilities in APEX application
1. No Responsibilities
2. Get Responsibilities from EBS Session
3. Set Responsibilities in APEX application
1. No Responsibilities
2. Get Responsibilities from EBS Session
a. via URL
b. via Query
3. Set Responsibilities in APEX application
1. No Responsibilities
2. Get Responsibilities from EBS Session
a. via URL
b. via Query
3. Set Responsibilities in APEX application
First Create a Profile
FND: APEX URL

Enter Site: http://<EBS_HOSTNAME>:8080/apex


System Administration > Application > Function
GWY.jsp?targetAppType=APEX&p=101:2
APEX Url Syntax
1. Application ID
2. Page ID
3. Session
4. Request
5. Debug
6. Clear Cache
7. Parameter Names
8. Parameter Values
9. Printer Friendly

Instead of "hardcoding" Application and Page ID


! consider using their ALIAS
GWY.jsp?targetAppType=APEX&p=101:2

1. Application ID
2. Page ID
3. Session
4. Request
5. Debug
6. Clear Cache
7. Parameter Names
8. Parameter Values
9. Printer Friendly
GWY.jsp?targetAppType=APEX&
p=101:2:::::EBS_RESP_ID, EBS_APP_ID, EBS_SEC_GROUP:
[RESPONSIBILITY_ID],[RESP_APPL_ID], [SECURITY_GROUP_ID]

1. Application ID
2. Page ID
3. Session
4. Request
5. Debug
6. Clear Cache
7. Parameter Names
8. Parameter Values
9. Printer Friendly
GWY.jsp?targetAppType=APEX&
p=101:2:::::EBS_RESP_ID, EBS_APP_ID, EBS_SEC_GROUP:

[RESPONSIBILITY_ID],[RESP_APPL_ID], [SECURITY_GROUP_ID]

1. Application ID
2. Page ID
3. Session
4. Request
5. Debug
6. Clear Cache
7. Parameter Names
8. Parameter Values
9. Printer Friendly
GWY.jsp?targetAppType=APEX&
p=101:2:::::EBS_RESP_ID, EBS_APP_ID, EBS_SEC_GROUP:

[RESPONSIBILITY_ID],[RESP_APPL_ID], [SECURITY_GROUP_ID]

1. Application ID
2. Page ID
3. Session
4. Request
5. Debug
6. Clear Cache
7. Parameter Names
8. Parameter Values
9. Printer Friendly
Only One Responsibility
on the URL
1. No Responsibilities
2. Get Responsibilities from EBS Session
a. via URL
b. via Query
3. Set Responsibilities in APEX application
! Place in Package

procedure get_ebs_session_info (p_user_name in varchar2


,p_responsibility_id out number
,p_user_id out number
,p_application_id out number
)
is
begin
select responsibility_id
,responsibility_application_id
into p_responsibility_id
,p_application_id
from icx.icx_sessions
where session_id = apps.icx_sec.getsessioncookie
;
p_user_id := get_user_id(p_user_name => p_user_name);
end get_ebs_session_info;
procedure get_ebs_session_info (p_user_name in varchar2
,p_responsibility_id out number
,p_user_id out number
,p_application_id out number
)
is
begin
select responsibility_id
,responsibility_application_id
into p_responsibility_id
,p_application_id
from icx.icx_sessions
where session_id = apps.icx_sec.getsessioncookie
;
p_user_id := get_user_id(p_user_name => p_user_name);
end get_ebs_session_info;
procedure get_ebs_session_info (p_user_name in varchar2
,p_responsibility_id out number
,p_user_id out number
,p_application_id out number
)
is
begin
select responsibility_id
,responsibility_application_id
into p_responsibility_id
,p_application_id
from icx.icx_sessions
where session_id = apps.icx_sec.getsessioncookie
;
p_user_id := get_user_id(p_user_name => p_user_name);
end get_ebs_session_info;
function get_user_id (p_user_name in varchar2)
return number
is
l_user_id number;
begin
select user_id
into l_user_id
from fnd_user
where user_name = upper(p_user_name)
;
return l_user_id;
end get_user_id;
function get_user_id (p_user_name in varchar2)
return number
is
l_user_id number;
begin
select user_id
into l_user_id
from fnd_user
where user_name = upper(p_user_name)
;
return l_user_id;
end get_user_id;
1. No Responsibilities
2. Get Responsibilities from EBS Session
3. Set Responsibilities in APEX application
All Responsibilities
Accesible
1. No Responsibilities
2. Get Responsibilities from EBS Session
a. via URL
b. via Query
3. Set Responsibilities in APEX application
session


session
! Place in Package

procedure apps_initialize (resp_id in number


,user_id in number
,resp_appl_id in number
,security_group_id in number default 0
,server_id in number default -1
)
is
begin
fnd_global.apps_initialize (user_id
,resp_id
,resp_appl_id
,security_group_id
,server_id
);
end apps_initialize;
procedure apps_initialize (resp_id in number
,user_id in number
,resp_appl_id in number
,security_group_id in number default 0
,server_id in number default -1
)
is
begin
fnd_global.apps_initialize (user_id
,resp_id
,resp_appl_id
,security_group_id
,server_id
);
end apps_initialize;
p ire d
Ex
p ire d
Ex
An Example
EBS API Repository
Different Look & Feel
! Right Tool for the Right Job
! Read This White Paper!
Alex Nuijten
Alex.Nuij[email protected]

nuijten.blogspot.com
@alexnuijten

You might also like