f Get Oracle Apps Traning Here: Oracle Apps Deployment Training

This work is licensed under a Creative Commons -NonCommercial 2.5 License.

Wednesday, October 18, 2006

Oracle Apps Deployment Training

When you are a fresh new Oracle Apps developer, your fundamental question is...where to find the piece of code that you are being asked to customize?
Before I begin to explain you this, first some fundamentals.

1. You will most likely find that any implementation of oracle apps will involve at least two machines, i.e. Database tier and then at least one web tier.

2. Oracle thought very logically to decide which executable runs on database tier and which on web/forms tier(also known as mid-tier).
Any executable that has intense database operations is stored at database tier. To give you some examples.... sql files, oracle report java concurrent programs, sql*loader are all deployed in database tier of Oracle Applications.

3. Any executable that has intense UI operations is deployed at forms tier. Examples are Oracle Forms fmx files, jsp files, pll/plx etc.

Qns: The above sounds good in most cases, but what if you have to build a form that has intense database processing.
Ans: Well the form will still be deployed in the mid-tier, otherwise your form will never be run. However, for such forms, you must handle most of the database processing within pl/sql packages. The api's that you build in pl/sql must have well defined parameters.
I am saddened to see that some apps programmers write tons of sql code/DMLs inside the oracle forms triggers. In this era of high speed networks, such aproach may be justified to an extent, but what if some other developer desires to use validations developed for your form in other areas of apps.? Hence building pl/sql api's is the preferred approach.

Qns: Why do we have multiple middle tiers for one database.
Ans: Most implementations install multiple mid-tiers to distribute the user load. The user requests are first sent to a load balancer switch, this switch the decides which middle tier to use. Hence, if one server has 1000 user cpacity, then you can have 5mid tiers to handle 5000 concurrent users.

Qns: That's fine for the theory, but how do multiple mid-tiers impact my forms deployment?
Ans: You will need to deploy your forms file to each middle tier machine (unles shared APPL_TOP) has been implemented.

Qns: Where do I pick the fmb files delivered by oracle?
Ans: These are picked from $AU_TOP/forms/us

Qns: Where do I deploy the fmx file on mid tier, assuming a purchasing screen has been customized.
Ans: This will be deployed at $XXPO_TOP/forms/us
Basically by deployment I mean that fmx file will be copied to xxpo_top/forms/us
Have you read the previous article on applications?

Qns: Where do I deploy a pl/sql package?
Ans: All of the pl/sql packages are installed in apps schema.
This includes your custom packages and also oracle delivered packages.

Qns: Ehere do we create the database views?
Ans: Views will be created in apps schema too.

Qns: How do I generate fmx, should this be done on pc or on the mid tier?
Ans: This must always be done on the mid tier
For example use below steps
Step 1

Step 2
export FORMS60_PATH

Step 3
cd $XXPO_TOP/forms/US

Step 4 ----Below in one single line
f60gen module=XXPOSCREEN.fmb userid=apps/apps module_type=form batch=no compile_all=special

Qns:I have deployed the form at $XXPO_TOP but I can't run it,I get message can not find form
Ans: Firstly find out the application to which this form is registered against. In reality the forms are attached to form functions and it is the form function that is attached to an application

Qns: How can I generate CUSTOM.pll or any other Forms Library
----Below statements in one single line
cd $AU_TOP/resource
f60gen module=$AU_TOP/resource/CUSTOM.pll userid=apps/apps output_file=./CUSTOM.plx module_type=LIBRARY

f60gen module=$AU_TOP/resource/XX_POENT.pll userid=apps/apps output_file=./XX_POENT.plx module_type=LIBRARY

Qns: All the above sounds good, but how on earth do I connect to Mid Tier to generate forms
Ans: For Mid-Tier server, you will be provided with a Unix Username & Password. Before you start moaning, let me clarify that I assume that hosting o/s will be Unix. As soon as you logon to your mid-tier, your environment should automatically be setup based on scripts within .profile file. To know whether your environment has been setup on Unix box, do the below:
echo $FND_TOP
If the above returns blank, then it means you need to contact your DBAs to find out why environment variables are not being populated on your sign-on to Unix
...Ditto for DB Tier

Please let me know if you have any questions.

Anil Passi

Comments on "Oracle Apps Deployment Training"


Anonymous Anonymous said ... (12:45 PM) : 

Hello, great site, I found a lot of useful information here, thanks a lot for Your work!
With the best regards!


Anonymous Anonymous said ... (2:40 PM) : 

Hello anil...

First of all thank u for providing such a valuble information.
I am bit confused in the form diployment.if possible can u give me more information in deployiong forms i.w where to get extracted and where to deployed



Blogger Unknown said ... (8:30 AM) : 

Hi Ani,

Can you please explain each of the below steps, that is what happens when each of this step executed, and I hope Mid Tier would be a different UNIX server

For example use below steps
Step 1

Step 2
export FORMS60_PATH

Step 3
cd $XXPO_TOP/forms/US

Step 4 ----Below in one single line
f60gen module=XXPOSCREEN.fmb userid=apps/apps module_type=form batch=no compile_all=special

And how do we relate the Mid Tier to actual Databse Server

Like how do we relate XXCFI_TOP/forms/US to the Mid-Tier (Forms Server)

Thanks and Best Regards,
Kishore Kantamneni


Blogger Unknown said ... (7:19 AM) : 

Hey Anil ,
Can you tell me as to whats the difference between PO_HEADERS and PO_HEADERS_ALL . Other than that , the _ALL is a table and the other one's a view OR _ALL is used in multi-org environ. I want to know When do we use _ALL table and when is it advisable to use the VIEW?



Anonymous Anonymous said ... (12:24 AM) : 


How to run a jsp page in oracle apps.

means how to add a jsp page in a function.


Blogger Unknown said ... (1:54 PM) : 

Hello Anil, Your documents are very helpful. I appreciate your patience in writing all details for even a beginner like me.


Blogger Unknown said ... (2:09 AM) : 

Hi Anil,
Very good site.Really lot of quality information about oracle apps .Keep it up,great work.

Aasma Sayyad.


Anonymous Anonymous said ... (1:24 PM) : 

Hi All,

please can any one explain me the steps to deploy a .ear or .var file in apache web server in the APPS enveronment (both hot and cold)..



Anonymous Anonymous said ... (7:16 AM) : 

why do we have only one custom.pll?


post a comment