14
Oracle Apps Technical

Oracle Apps Technical Concept

  • Upload
    amitxyz

  • View
    1.927

  • Download
    6

Embed Size (px)

Citation preview

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-AReport-BReport-CAnd suppose there are 2 responsibilities.Resp-1Resp-2Resp-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.htmhttp://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 environmentYou 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.

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

ResponsibilityResponsibility 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-AReport-BReport-CAnd suppose there are 2 responsibilities.Resp-1Resp-2Resp-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 responsibilityPayables 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' thenGo_block(lfind_invoices')Elsif :parameter.invoice_mode='CLERK' thenGO_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/USAnd 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 examplesA. Go to application developer click on menu /application/formDefine you form...remember, oracle will expect an executable of .fmx for this name

Click on menu /application/functionDefine 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