You are on page 1of 14

Oracle Apps Technical

Oracle Applications Architecture:-

Basic Concepts:-

Responsibilities:-
A responsibility defines
--What functions user can use.
--What data user can access.

It consists Of
--Menu
--Data Group
--Request Group

Menu:-A menu is a hierarchical arrangement of Functions.


(Create and define menu under system administrator responsibility.)
And What is Function?
A part of an application functionality that is registered under a unique
name for the purpose of assigning it to or excluding it from a responsibility.
Types of functions:-
a)Form Function:-Invokes an oracle form.
b)Non-Form Function(Sub Function):-is a function that is executed from
within a form. These are generally associated with a button or graphical elements
in the form.
Function Security:-It is the mechanism by which user access to
functionality is controlled.

Data Group:- The data group defines the pairing of Oracle application and
ORACLE user name.
The ORACLE user name determines the database tables and table privileges
accessible by your responsibility.

Request Group:- Suppose for a particular application,there are 3 reports. They


are:-
Report-A
Report-B
Report-C
And suppose there are 2 responsibilities.
Resp-1
Resp-2
Resp-1 Require all the reports. But Resp-2 Require only one report that is Report-
C.
This can be controlled by the request group.

What happens when you login to Oracle Apps?


Firstly and surely there is a URL for oracle applications that is structured possibly
in below format, although it can vary from version of apps.
http://machinename:portnumber/OA_HTML/US/ICXINDEX.htm
http://machinename:portnumber /oa_servlets/AppsLogin

In any Oracle Apps implementation project ,there are minimum of three


environments, each with different URL's and different database instances.
These are:-
---------------
->Development environment
->Testing environment
->Production environment
You will most probably, as a techie, be given url,username ad password of the
development environment.

Login Screen:-
What happens when you login(Basic Concepts):-
-----------------------------------------------------
A. Your login gets authenticated against a table named fnd_user.
(Actually login authentication(User Name And Password) are defined in user
definition screen.And Only system administrators have access to this screen.
)

B. Then in the "user definition screen", each user is attached to a responsibility.


(What is responsibility?
Ans:-In layman’s words, a responsibility is a group of menu.
It is the responsibility that controls what a logged in person can do and
can't do.)
Fig:- User Definition Screen

C. After successful login,you will see the following screen.

By Clicking on either of the above Responsibility Names,Oracle Apps will be


initiated.
(Note: You might be prompted to install jinitiator…..just keep clicking OK…OK for
all Jinitiator messages)

Users and Responsibility:-


Why Users And Responsibility?
Users and Responsibilities are created in oracle applications in order to control the
access to the data.

Users
Users are assigned a set of responsibilities through which they can retrieve or
modify certain set of data.

Responsibility
Responsibility is a grouping of access in a logical manner.
For Ex:-Accounts payable responsibility would contain all the privileges to create
invoices, make payments etc. All the users from the payables department would
be given this responsibility.

Creation Of User:-

Navigation – System Administrator ->Security:User -> Define

Various Fields for Creating User are as follows:-


UserName Give the username in this field.
Password Enter desired password twice in this
field. You would be required to change
the password when you login first time
with this username.
Description Provide brief description of the user in
this field.
Password Expiration Days No:-
Accesses No:-
None:-
Person You can attach employee to this user.
This is used for HRMS applications
Customer To attach customer to this user.
Supplier To attach supplier to this user
Email Provide email address for the user. Its
use to send notifications to the user
through oracle applications.
Fax Fax number for the user.
Effective Dates From and To dates between which the
user would be active.
Responsibilities List of responsibilities assigned to the
user.
Direct Responsibilities
Indirect Responsibilities
Securing Attributes To allow rows (records) of data to be
visible to specified users or
responsibilities based on the specific
data (attribute values) contained in the
row.
For example, to allow a user in the
ADMIN responsibility to see rows
containing a CUSTOMER_ID value of
1000, assign the securing attribute of
CUSTOMER_ID to the ADMIN
responsibility. Then give the user a
security attribute CUSTOMER_ID value
of 1000.
When the user logs into the Admin
responsibility, the only customer data
they have access to has a
CUSTOMER_ID value of 1000.
Creation Of Responsibilities:-
Navigation – System Administrator ->Security -> Responsibility -> Define
Follow the above the navigation path and click on Define. You will see following
screen in front of you
Various Fields Present in this Responsibility Screen:-

1)Responsibility Name:-Name Of the Responsibility.

2)Application:-

3)Responsibility Key:-

4)Effective Dates From/To - Enter the start/end dates on which the responsibility
becomes active/inactive.

5)Available From - Select between Oracle Self-Service Web Applications or


Oracle Applications.

6)Data Group - The data group defines the pairing of Oracle application and
ORACLE user name.
The ORACLE user name determines the database tables and table privileges
accessible by your responsibility.

7)Request Group – Suppose for a particular application,there are 3 reports. They


are:-
Report-A
Report-B
Report-C
And suppose there are 2 responsibilities.
Resp-1
Resp-2
Resp-1 Require all the reports. But Resp-2 Require only one report that is Report-
C.
This can be controlled by the request group.

8)Menu - Choose the menu that is already defined with the oracle application.

9)Web Host Name - If your Web Server resides on a different machine from your
database, you must designate the host name (URL) here. Otherwise, the Web
Host Name defaults to the current database host server.

10)Web Agent Name - Enter the PL/SQL Agent Name for the database used by
this responsibility. If you do not specify an Agent Name, the responsibility
defaults to the agent name current at log-on.

11)Menu Exclusion Block:-It is used to restrict the application functionality


accessible to a responsibility.
There are two types of Menu Exclusion Block.
They are:-
Function:-
Menu:-

Relationship between Forms,Form Function and Menu:-


Every screen we develop delivers a business functionality of sorts. Notice the
word functionality.
Hence the word function or call it "Form Function" is related to Oracle Forms.

So A form is nothing but a screen from where users can enter or retrieve(query)
existing data.
Now the Question is:- In Oracle why do we have a form and then also a Form
Function? Isn't just having a Screen/Form just good enough?
Ans: What if, for the same form, you wish to provide slightly different
functionalities depending upon which menu is clicked to invoke that form??
Then the next question is:-Are there any examples?
Answer: Lets assume the following

There are two responsibilities


------------------------------
Payables Manager responsibility
Payables clerk responsibility

There is one form for invoices


------------------------------
Payables invoice screen

Our requirement
-------------------------------
If invoice screen is invoked from Payables Manager Responsibility, then at startup
of the screen we want to provide a "Search Window", so that manager can search
for the invoices to review

If the invoice screen is invoked from "Payables Clerk Responsibility", then at


startup of the screen we want to provide "Invoice Data Entry window", so that
clerk can begin entering the invoices.

The form will have following code within it in when-new-form-instance.


If :parameter.invoice_mode='MANAGER' then
Go_block(lfind_invoices')
Elsif :parameter.invoice_mode='CLERK' then
GO_BLOCK('invoice_header'),
End if;

Question: From above example it appears that form function will be passing
parameter named invoice_mode to the form?
Answer. Correct in this case.
So that we understand how things hang together.
Invoice form is attached to a Form Function, when defining the Form Function we
pass parameters to it. Then this Form Function is attached to the Menu, and it is
the Menu that gets attached to responsibility.

Question : Oh dear,are the form functions all about parameters?


Answer: Parameters is the main feature of Form Functions. But there are others
too.
Actually,each form will be located in a specific directory on Unix box.
For example, Purchasing Form executables will be in $PO_TOP/foms/US
And account payables form executables will be located in $AP_TOP/forms/US.

Did you wonder how Oracle will know to look for a payables form executable in
AP_TOP and not in PO_TOP??
Oracle will think like this...hmm user clicked on a menu, what is the form function
for this menu...hmm it is InvoiceReview....ok...what is the application assigned to
the for form function...oh...its ap(account payables) application...right....what is
the base path for this application...rite..it is AP_TOP...lets then run the fmx file
from ap_top/forms/us.

Screenshots for examples


A. Go to application developer click on menu /application/form
Define you form...remember, oracle will expect an executable of .fmx for this
name

Click on menu /application/function


Define your two functions, invoice review, invoice entry, pass them parameters as
below.

Login to Oracle Apps , and select responsibility "Application Developer"

Navigate the menu "Form"


Define the Form as below

Now, lets define the function