Académique Documents
Professionnel Documents
Culture Documents
Profile Option values control the behavior of Oracle Apps, in other words they determine how Oracle
Apps should run. The value for a profile option can be changed any time.
For Example we have a profile option called MO: Operating Unit. Assigning a value to this profile
option will determine what operating unit it should use when a user gets into a particular
responsibility.
We have two types of Profile options System and Personal profile options depending on to whom
System Profile options are visible and can be updated only in System Administrator responsibility. In
User Profile Options are visible and can be updated by any end user of Oracle Apps.
Profile Options can be set at different levels. Site level being the highest and User being the lowest in
the heirarchy. If a profile option is assigned at two levels, then value assigned at lowest level takes the
precedence.
Say you want to create a profile option called erpSchools Debug and the possible values that the user
can choose are Yes, No. If the user chooses Yes, then the custom concurrent program will print all the
debug messages otherwise the debug messages will not printed in the log file of the concurrent
request.
Profiles window will open up where you enter the below details:
Name: Give a meaningful and unique name for this profile option
Application: Enter the application for which this profile option will be used like Payables, Receivables
User Profile Name: Again enter a meaningful and unique name. This is the name that the users will
Heirarchy Type Access Levels: At what levels this profile option should be visible and updatable.
Active dates: Enter the dates on which the profile option becomes active/inactive
User Access:
Visible Determines whether your end users can see and query this profile option in their personal
profiles. Otherwise, they cannot query or update values for this option.
Updatable Determines whether your end users can change the value of this profile option using their
Profile Values window. Otherwise, your system administrator must set values for this profile option.
SQL Validation: You can write up a SQL statement to display the selected rows in LOV. If this section is
left blank, there will no LOV instead the user can enter any free text as value.
Enter the below when the window opens and click on Find button
Under Display section, Choose at what level you want to assign a value.
In the Find field, enter the profile option name to which you want to assign the value.
Enter the value that you want to assign to profile option at the appropriate level and save.
We have seen how to create and assign value to profile option. Most of the times, custom concurrent
program will need to get the value of a profile option that will determine its course of actions. You will
Remember to pass on the name of the profile option and not the user profile name here.
2. To set value to profile option from PL/SQL procedure:
1 BEGIN
2 FND_PROFILE.put ('ERPSCHOOLS DEBUG','No');
3 END;
Being a developer, you have just developed a SQL script or a PL/SQL package procedure. The end
user wants to be able to run this script ad-hoc or they wish to schedule this to run every night.
Question : How can an end-user be given control to run a script developed by a developer, given
that an end user will never have access to apps password(and rightly so)?
Answer: This script can be attached to a Concurrent Program via a concurrent program executable.
The user will then be given access to this Concurrent Program.
Question : But how will the end user or Oracle Apps make this script run every 10hours daily?
Answer : A concurrent program can be scheduled to run at desired intervals. The schedule is
defined at the time of submission.
Question: What are the different types of scripts/programs that can be attached to concurrent
programs?
Answer :
A sql script
A Sql*Loader program
Java program
Oracle Report
Pl/SQL program ( or call it a stored procedure/package procedure)
Host script, like a unix shell script
Pro*C/Spawned
Perl
Question: What are the basic steps when defining a concurrent program.
Answer: Broadly speaking there are three steps when developing a concurrent program in Oracle
Apps
Step 1. Make Oracle Apps identify the executable
Step 2. Provide a handle to the executable by means of defining a concurrent program
Step 3. Make this concurrent program accesible to selected users via their responsibility.
Question : Please explain the steps for defining a pl/sql concurrent program, with screenshots and
with almost real life example?
Answer:
1. Create a table and a stored procedure in pl/sql
create table xx_hello_world_tab
(
message_text VARCHAR2(100)
,creation_date DATE
);
Qns: 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??
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.
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.
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
We have two types of Profile options System and Personal profile options depending on to whom
User Profile Options are visible and can be updated by any end user of Oracle Apps.
Profile Options can be set at different levels. Site level being the highest and User being the lowest in
the heirarchy. If a profile option is assigned at two levels, then value assigned at lowest level takes the
precedence.
Now lets see how to create a new profile option and assign a value to it.
Say you want to create a profile option called erpSchools Debug and the possible values that the user
can choose are Yes, No. If the user chooses Yes, then the custom concurrent program will print all the
debug messages otherwise the debug messages will not printed in the log file of the concurrent
request.
Name: Give a meaningful and unique name for this profile option
Application: Enter the application for which this profile option will be used like Payables, Receivables
User Profile Name: Again enter a meaningful and unique name. This is the name that the users will
Heirarchy Type Access Levels: At what levels this profile option should be visible and updatable.
Active dates: Enter the dates on which the profile option becomes active/inactive
User Access:
Visible Determines whether your end users can see and query this profile option in their personal
profiles. Otherwise, they cannot query or update values for this option.
Updatable Determines whether your end users can change the value of this profile option using their
Profile Values window. Otherwise, your system administrator must set values for this profile option.
SQL Validation: You can write up a SQL statement to display the selected rows in LOV. If this section is
left blank, there will no LOV instead the user can enter any free text as value.
Enter the below when the window opens and click on Find button
Under Display section, Choose at what level you want to assign a value.
In the Find field, enter the profile option name to which you want to assign the value.
Enter the value that you want to assign to profile option at the appropriate level and save.
We have seen how to create and assign value to profile option. Most of the times, custom concurrent
program will need to get the value of a profile option that will determine its course of actions. You will
Remember to pass on the name of the profile option and not the user profile name here.
2. To set value to profile option from PL/SQL procedure:
1 BEGIN
2 FND_PROFILE.put ('ERPSCHOOLS DEBUG','No');
3 END;