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 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
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:
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.