March 6, 2010

Attaching a new Form

Login to SQL PLUS and then check for any table that is used in the application. If not then create a new table as required. In this case, we take the EMP table.

a. First Describe the table using the command DESC.

b. Then GRANT ALL Privileges to User APPS.

c. Connect as APPS in SQL *PLUS.

d. Create a Synonym EMP For this User.

e. Commit and exit SQL.

Now, we have a table EMP for the User APPS from the Schema SCOTT.
Now exit the SQL PLUS editor.
The next Step in the process is to create a TOP Directory.


TOP Directory is referred to a directory, which resides in the directory <$>:/ORACLE/PRODAPPL/

Where $ is the root directory where Oracle APPS is installed.

This Path is in itself called as ‘APPLTOP’.

In this case, we create a new top folder in the APPLTOP Directory. We name the folder as EMP_TOP.
The new folder looks like this :

Kindly note the path for the location of this folder, Its D:\Oracle\Prodappl


Now the next step is to create the Sub-Folders in our Top folder.

The following folders are required to be created inside the top folder.



These are Listed as below:


EMP_TOP\11.5.0\
Admin
Bin
Def
Forms -> US
Graphs
Help
HTML
Java
LIB
Log
MDS
MESG
OUT
Patch
Reports -> US
SQL
XML

The next step in this process is to register the created EMP_TOP Folder with APPS.

For this, Open the Environment File PROD.CMD (in Windows) or PROD.ENV (in LINUX).

The location of this file is in the APPL_TOP Folder.

To open it, Right Click on it and then Hit EDIT.

The File opens in a Notepad.



Once the file opens, search for the text “APPL_TOP”, the text will appear as below:


REM

REM APPL_TOP is the top-level directory for Oracle Applications.

REM

set APPL_TOP=D:\oracle\prodappl


In this file, just below the above text, we need to ‘SET’ our ‘TOP Folder’.

The Text to be added looks like this :



 Set EMP_TOP= D:\Oracle\Prodappl\EMP_TOP\11.5.0



Now the modified text in the Environment File looks like this:


REM

REM APPL_TOP is the top-level directory for Oracle Applications.

REM

set APPL_TOP=D:\oracle\prodappl

set EMP_TOP= D:\Oracle\Prodappl\EMP_TOP\11.5.0

________________________________________________________________________

Now Save and Close this File.

The next step is to Source this PROD.CMD file.

Sourcing: It is the process of running the ‘.CMD’ file in DOS Mode.

For doing this, get into command prompt and then go to

D:\Oracle\Prodappl\

Once in this screen, type as Prod.cmd. This will source the Prod.cmd file and bring into effect the changes that we made in it. It will set the EMP_TOP folder as the application top folder for our form.

To check whether the emp_top is set as application top folder, type in the command prompt as


CD %emp_top% and then hit enter.

This will take to the Emp_top Folder that was set in the Prod.cmd environment variable file. The screen for this looks as shown:


The next step is to register the EMP_TOP directory in our Registry.


Caution: => This step is needed only if the Operating System is Windows.

=> This step is not required for Linux Operating Systems.

 Always take a Backup of registry before modifying it, as it is the most

sensitive part of the Operating System. Any alteration may damage the entire

operating system



For doing this, Open the registry editor and then browse to

HKLM\Software\Oracle\Application\11.5.0\Context_name(Prod_dev210)

On the right hand side, we have to create a new string value by right clicking on it and then naming it as ‘EMP_TOP ‘ To that new string, we have to specify the value of ‘Emp_TOP’. The screen for doing this looks as below:
Once done, just click ‘OK’ to the screen

so this completes the modification of the registry and also the registration of our EMP_TOP folder with the windows Operating System.


Now close the registry editor.



The next step is to copy some of the required forms from a Source to our Emp_TOP folder.

We copy the APSTAND.fmb and Template.fmb files from D:\Oracle\prodappl\AU\11.5.0\forms\US and then place it in our folder at D:\Oracle\prodappl\EMP_TOP\11.5.0\forms\US

This step is supposed to be done every time we register our application top folder.



The next step is to copy all the *.pll files from the resource folder to another folder, but this is a One time process and does not require to be done every time we register our Application top folder.

Source: D:\Oracle\prodappl\AU\11.5.0\Resource

Destination: D:\Oracle\Prodora\8.0.6\forms60

Once copied, it marks the completion of this step.
The next step in the process is to create a form from the template that was copied on to our Application Top folder.


For doing this, open the Forms Builder and select the option of ‘Build a form based on a Template’.

The screen looks as below:

When the window opens, select the template and then open the Object Navigator.


It looks as shown below:

Save the form as Test form as soon as it opens.


Now follow the steps in the order as listed below:

 Delete the Child items pertaining to Object Groups.

 Delete the child items of Canvas.

 Delete the child items from Data Block.

Now, Open the Data Block and then use the Data Block Wizard to create a normal Form with the ‘EMP’ table.

In the Pre-Form Trigger, Change the ‘Template_form’ to Our form, that is, ‘test_form’ and also the ‘FND’ to our Top folder, that is, ‘EMP_TOP’ folder.

Save and Close it.

Now, navigate to Program Units and under that locate App_Custom(Package Body). In that select the First If Condition Block and then change every instance of ‘wnd=’ To “wnd=’BLOCKNAME’”

The actual code is as below:
if (wnd = '') then


app_window.close_first_window;

elsif (wnd = '') then

--defer relations

--close related windows

null;

elsif (wnd = '') then

--defer relations

--close related windows

null;

end if;

________________________________________________________________________



Now the modified code looks as shown below:



________________________________________________________________________

if (wnd = 'BLOCKNAME') then

app_window.close_first_window;

elsif (wnd = 'BLOCKNAME') then

--defer relations

--close related windows

null;

elsif (wnd = 'BLOCKNAME') then

--defer relations

--close related windows

null;

end if;

________________________________________________________________________



Now, Compile and then close the window.



Now, compile the form and then close it.

P.S. Do not run the form, it will give errors.

No comments:

Post a Comment

Thanks for your comments submitted.,will review and Post soon! by admin.

COALESCE-SQL

Coalesce- return the null values from the expression. It works similar to a case statement where if expression 1 is false then goes to expr...