You are on page 1of 9

A collection of my random notes, primarily on Oracle Apps A collection of my random notes, primarily on Oracle Apps

Category Archives: EBS R12


Outbound Customer Interface Using Business Events The Bare Bones
It is possible to write an outbound customer interface in Oracle without using Business Events. You would start by writing an SQL
query which fetches data from the various TCA tables containing the entities that you are interested in. So, for example if you
want to write an outbound interface which fetches all new and updated parties, you would start with something like
However, as the TCA entities and their relationships increase in both number and complexity in the EBS instance, it becomes
more practical and easier to use Business Events to track and record the changes. What are business events? Well, they are just
some events which are fired whenever specific business actions take place.For more information on business events, Google is
your friend. Using business events to implement an outbound interface essentially involves two steps:
Identifying the appropriate business event 1.
Creating a subscription for the event 2.
Let us assume, for simplicitys sake, that we want to implement an outbound interface which is used to send updated customer
account information to an external system. The first step, in such a scenario, is identifying the business event which would be
raised when a customer account is updated. One of the better ways to do this is from the Integration Repository which is
accessible from the Integrated SOA Gateway responsibility in R12. You can also query the WF_EVENTS_VL or try looking up the
documents. The business event raised when a custom account is updated is oracle.apps.ar.hz.CustAccount.update.
Once this is known, we need to create a subscription for this. You create a subscription to specify a set of actions which need to
be performed whenever a certain business event takes place. In our case, let us assume that whenever the
oracle.apps.ar.hz.CustAccount.update event is raised (that is, whenever a customer account is updated), we want to store the
account information in a staging table. At the end of the day, we will collect the information for all accounts that were updated
during the day and send it to an external system. So, in our case the subscription that we will create will fetch information for the
updated customer account and store it in a staging table. The subscription can perform actions such as calling a J ava class, a
PL/SQL function or a Workflow Process. In this case, we will call a PL/SQL function. As a rule, the PL/SQL function should have
the following input parameters and should return a VARCHAR2 data type.
One thing to note here is that each event has it own parameter(s) which will be passed on to the function called by the event
subscription when the event is raised. They are accessible from the p_event parameter in the function. For the
oracle.apps.ar.hz.CustAccount.update business event, the p_event parameter will contain the cust_account_id. A list of
parameters for various events is provided in the Oracle Trading Community Architecture Technical Implementation Guide.
With the basic theory out of the way, here are the steps that need to be followed to complete our interface:
1
2
3
4
5
SELECTparty_name
,party_number
,party_type
FROMhz_parties
WHERETRUNC(last_update_date)=TRUNC(SYSDATE);
1
2
3
FUNCTIONinsert_stg_tbl(p_subscription_guidIN RAW
,p_eventINOUTNOCOPYwf_event_t)
RETURNVARCHAR2;
EBS R12 | Oracle Apps Notes https://oracleappsnotes.wordpress.com/category/all-posts/ebs-r12/
1 sur 9 27/05/2014 09:37
From any appropriate Workflow responsibility, go to the Business Events page (For example: Workflow Administrator Web
Applications>Administrator Workflow>Business Events) and search for the event oracle.apps.ar.hz.CustAccount.update
Click on the Subscription icon to view existing subscriptions for the events.
Click on the Create Subscription button to create a new subscription. Most of the required fields should be auto-populated. If
not, fill in the details as show in the screenshot. The value for the Sytem field will be available in the LOV. The Action Type
should be Custom. After entering the values in the fields, click on the Next button
Follow Follow
EBS R12 | Oracle Apps Notes https://oracleappsnotes.wordpress.com/category/all-posts/ebs-r12/
2 sur 9 27/05/2014 09:37
In the PL/SQL Rule Function field, enter the name of the function which will be used to perform actions when the event is
raised. I have entered xx_cust_outbound_pkg.insert_stg_tbl where xx_cust_outbound_pkg is the package which contains the
function insert_stg_tbl. Enter values in the Owner Name and Owner Tag fields. These should be valid application short names.
Then click on the Apply button.
For our subscription function, we need to create a table which will store the cust_account_id, the account_name, the action that
was performed and the last_update_date
The package specification and body containing the function is provided below
1
2
3
4
5
6
CREATETABLExx_cust_outbound_tbl(
cust_account_idNUMBER
,account_nameVARCHAR2(254)
,actionVARCHAR2(30)
,last_update_dateDATE
);
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
CREATEORREPLACEPACKAGExx_cust_outbound_pkgIS

FUNCTIONinsert_stg_tbl(p_subscription_guidINRAW
,p_eventINOUTNOCOPYwf_event_t)
RETURNVARCHAR2;

ENDxx_cust_outbound_pkg;
/

CREATEORREPLACEPACKAGEBODYxx_cust_outbound_pkgIS
functionwhichwillbeinvokedbythesubscription
FUNCTIONinsert_stg_tbl(p_subscription_guidINRAW
,p_eventINOUTNOCOPYwf_event_t)
RETURNVARCHAR2IS

lv_cust_account_idNUMBER;
lv_account_nameVARCHAR2(254);

BEGIN
checktheeventname
IFUPPER(p_event.geteventname())='ORACLE.APPS.AR.HZ.CUSTACCOUNT.UPDATE'THEN
ifanaccountisupdated,storethecust_account_id,account_name,actionperformed andupdate

gettheCUST_ACCOUNT_ID
Follow Follow
EBS R12 | Oracle Apps Notes https://oracleappsnotes.wordpress.com/category/all-posts/ebs-r12/
3 sur 9 27/05/2014 09:37
Once these steps are done all you need to do is update a customer account by navigating to Trading Community
Manager>Trading Community>Customers>Standard, wait for the event to be processed and voila! you have the details
in your staging table.
Notes:
Anil Passis blog has a code listing which you can use to find the parameters for a business event. 1.
To check if an event was raised, you can query the WF_DEFFERED table (provided you entered a phase>99 while
creating the subscription) where the CORRID column stores the event name in the form APPS:<event_name>. A value of
2 in the STATE column indicates that the event was processed.
2.
Noticed that sometimes in EBS 12.1.3 changing the name of the subscription function in the front end does not take
effect unless the middle tier is bounced. Could be an issue with my instance though.
3.
All Posts, EBS R12, Interface, PL/SQL, Workflow
Comparing current EBS installation with 12.1.3
If you are planning an upgrade to R12 and wondering about all the ways it will affect you customizations, the following three
tools will make your life easier. You can check all the components which have changed between the releases allowing you to
manage your customiszations during the upgrade.
EBS File Comparison Report: Provides detailed information about what files were added, removed, or stubbed (made
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
lv_cust_account_id:=p_event.getvalueforparameter('CUST_ACCOUNT_ID');

gettheaccountnamebasedontheCUST_ACCOUNT_ID
SELECTaccount_name
INTOlv_account_name
FROMhz_cust_accounts
WHEREcust_account_id=lv_cust_account_id;

insertintostagingtable
INSERTINTOxx_cust_outbound_tblVALUES(lv_cust_account_id,lv_account_name,'ACCOUNT_UPDATE',S

ENDIF;
COMMIT;

RETURN'SUCCESS';

EXCEPTION
WHENOTHERSTHEN
RETURN'ERROR';
ENDinsert_stg_tbl;

ENDxx_cust_outbound_pkg;
/
Follow Follow
EBS R12 | Oracle Apps Notes https://oracleappsnotes.wordpress.com/category/all-posts/ebs-r12/
4 sur 9 27/05/2014 09:37
inactive) during changes between Releases 11.5.10.2 and 12.1.3 of Oracle E-Business Suite. It allows you to drilldown into the
files(provided they are text-based) and view the differences between the two versions. It can be downloaded from Metalink
Note#1446430.1.
EBS Data Model Comparison Report: Provides the database object definition changes between two EBS releases. This
includes information regarding which objects were added, deleted and modified. In case of modified objects, it lists the actual
changes made to the objects. This one is more useful than the previous one in the sense that it lists differences between 12.1.3
and all other releases from 11.5.9 onwards. The report can be downloaded from Metalink Note#1290886.1 .
EBS ATG Seed Date Comparison Report: Provides details on the changes between different EBS releases based upon the
seed data changes delivered by the product data loader files (.ldt extension) based on EBS ATG loader control (.lct extension)
files. This report list differences between 12.1.3 and all other releases from 11.5.10.2 onwards. It can be downloaded from
Metalink Note#1327399.1.
The EBS Release Management Team deserves a shout out for this one.
All Posts, EBS 11i, EBS R12
Enabling access to Oracle Forms-based Applications Diagnostics Menu
The difference between the two screenshots below are that in one of them the the diagnostics menu and submenus are available
while in the other they are not.
Follow Follow
EBS R12 | Oracle Apps Notes https://oracleappsnotes.wordpress.com/category/all-posts/ebs-r12/
5 sur 9 27/05/2014 09:37
The diagnostics menu allows users to personalize Forms, generate trace file, examine items etc. Access to the diagnostics menu
and submenu are controlled by the profile option Hide Diagnostics Menu Entry about which I had written in an earlier post.
However, sometimes even after setting the profile option, users may encounter the message Function not available to this
responsibility. Change responsibilities or contact your System Administrator. This is because, beginning with Release 12.1.3,
access to the diagnostics submenu items can be controlled by the profile option Utilities:Diagnostics or by security functions
using Role-Based Access Control (RBAC). Whether or not a submenu item is available is checked on an as-needed basis by the
system when the user selects the submenu item.
The following table lists the seeded securing functions and their corresponding diagnostics menu items. If the user wants to
access the diagnostics menu items from a specific responsibility, adding the functions below to the menu attached to their
responsibility would allow them to do so.
Securing Function Name Securing Function
User-Friendly Name
Internal Menu Name Runtime Menu
Name
FND_DIAGNOSTICS_EXAMINE FND Diagnostics Menu
Examine
DIAGNOSTICS
EXAMINE
Diagnostics
Examine
FND_DIAGNOSTICS_EXAMINE_RO FND Diagnostics Menu
Examine Read Only
DIAGNOSTICS
EXAMINE
Diagnostics
Examine
FND_DIAGNOSTICS_TRACE FND Diagnostics Trace TRACE
NO_TRACE
REGULAR
BINDS
WAITS
BINDS_AND_WAITS
PLSQL_PROFILING
Diagnostics
No Trace
Regular Trace
Trace with
Binds
Trace with
Waits
Trace with
Binds and Waits
PL/SQL Profiling
Follow Follow
EBS R12 | Oracle Apps Notes https://oracleappsnotes.wordpress.com/category/all-posts/ebs-r12/
6 sur 9 27/05/2014 09:37
FND_DIAGNOSTICS_VALUES FND Diagnostics Values PROPERTIES_MENU
ITEM
FOLDER
Diagnostics
Properties
Item
Folder
FND_DIAGNOSTICS_VALUES_RO FND Diagnostics Values
Read Only
PROPERTIES_MENU
ITEM
FOLDER
Diagnostics
Properties
Item
Folder
FND_DIAGNOSTICS_CUSTOM FND Diagnostics
Custom
CUSTOM_CODE_MENU
NORMAL
OFF
CORE
SHOW_EVENTS
Diagnostics Custom
Code
Normal
Off
Core Code Only
Show Custom
Events
FND_DIAGNOSTICS_PERSONALIZE FND Diagnostics
Personalize
CUSTOM_CODE_MENU
CUSTOMIZE
Diagnostics Custom
Code
Personalize
FND_DIAGNOSTICS_PERSONALIZE_RO FND Diagnostics
Personalize Read Only
CUSTOM_CODE_MENU
CUSTOMIZE
Diagnostics Custom
Code
Personalize
Adding the function FND Diagnostics Personalize Read Only to the appropriate menu by navigating to System
Administrator>Application>Menu, for example, will allow users to access a read-only version of the Form Personalization
screen.
While adding the function FND Diagnostics Personalize will allow users to access the normal Form Personalization screen.
Follow Follow
EBS R12 | Oracle Apps Notes https://oracleappsnotes.wordpress.com/category/all-posts/ebs-r12/
7 sur 9 27/05/2014 09:37
In addition to securing functions, access to the diagnostics menu items can also be controlled by assigning permission sets to
roles and then assigning the roles to users. The following table lists seeded permission sets.
Permission Set Name Permission Set Code Permissions Assigned
FND Diagnostics Examine Menu FND_DIAGNOSTICS_EXAMINE_PS FND Diagnostics Menu Examine
FND Diagnostics Examine Read Only FND_DIAGNOSTICS_EXAMINE_RO_PS FND Diagnostics Menu Examine
Read Only
FND Diagnostics Custom Menu FND_DIAGNOSTICS_CUSTOM_PS FND Diagnostics Custom
FND Diagnostics Personalizations Menu FND_DIAGNOSTICS_FORMS_PERS_PS FND Diagnostics Personalize
FND Diagnostics Personalizations Menu
Read Only
FND_DIAGNOSTICS_FRM_PERS_RO_PS FND Diagnostics Personalize Read
Only
FND Diagnostics Properties Menu FND_DIAGNOSTICS_PROPERTIES_PS FND Diagnostics Values
FND Diagnostics Properties Menu Read
Only
FND_DIAGNOSTICS_PROP_RO_PS FND Diagnostics Values Read Only
FND Diagnostics Trace Menu FND_DIAGNOSTICS_TRACE_PS FND Diagnostics Trace
FND Diagnostics Menu Developer FND_DIAGNOSTICS_DEVELOPER_PS
FND Diagnostics Examine
FND Diagnostics Personalize
FND Diagnostics Trace
FND Diagnostics Values
FND Diagnostics Custom
FND Diagnostics Menu Support FND_DIAGNOSTICS_SUPPORT_PS
FND Diagnostics Examine
Read Only
FND Diagnostics Personalize
Read Only
FND Diagnostics Trace
FND Diagnostics Values Read
Only
FND Diagnostics Custom
Source/further reading: Controlling Access to the Oracle Forms-based Applications Diagnostics Menu(Oracle E-Business Suite
System Administrators Guide Configuration)
Follow Follow
EBS R12 | Oracle Apps Notes https://oracleappsnotes.wordpress.com/category/all-posts/ebs-r12/
8 sur 9 27/05/2014 09:37
Older posts
All Posts, AOL, EBS R12, Form Personalization
Top
Blog at WordPress.com. The zBench Theme.
Follow Follow
EBS R12 | Oracle Apps Notes https://oracleappsnotes.wordpress.com/category/all-posts/ebs-r12/
9 sur 9 27/05/2014 09:37

You might also like