1.
Down load Template.fmb
from AU top/11.5.0/Resource folder.
2.
Delete existing Canvas, Window, Data Block having the
name called ‘Block_name’ then Create
new Canvas, Window, Data Block.
3.
Assign the Standard Oracle Applications Property
classes to the new objects.
4.
Customize the following triggers at form level a. Pre_form à Used for New Window b. When_New_Form Instance à Used for New Form c. AP_Custom Package à Used for
First Window
5.
Compile the form we will get .fmb (Ctrl+K) then execute the form we will get .fmx (Ctrl+T).
6.
Transfer the .fmb
into Corresponding path according to module. Ex:- PO/11.5.0/Froms/US à for PO module . If
we have the Custom_top then you have to save this file in
custom_top/11.5.0/Forms/US folder.
7.
Select Application Developer Responsibility and Create
the Form.
8.
Create the Function attach the Form to Function.
9.
Create Menu attach the Function to Menu.
10. Create
Responsibility attach Menu to Responsibility and Responsibility will be attach
to user.
So that user can open Form from
Navigator and he can enter the transactions.
Note:- While
changing the form name we will change the property called First Navigation Data
Block as user defined data block.
In the Pre_Form
Trigger we will change the action history and we will mention the window name
in the block name parameter.
Ex:-
app_window.set_window_position (‘Win9’,’First_window’);
In the When_New_Form_Instance
Trigger we will change instead of template mention on form module name.
Ex:- FDRCSID $Header:Form9.fmb’
In the APP_CUSTOM
(package source). Here we mention the window name where window = first window
name.
Ex:- if (wnd=’win9’) then
From the front end navigations
Application Developer is used to Create Form.
Navigations:
Application Developer
First
field is .fmx name.
Second
field is application name where the .fmx is placed (Module name)
Navigations:
Application Developer
Here
we will give the function name (user define we can give any name) then go to Properties Tab select Type as Form. Go to Form tab and
give the user form name.
Adding Calendar to Field:-
1.
Select the filed change list of values property into ENABLE_LIST_LAMP.
2.
Create Item level trigger called KEY_LISTVAL for that field then call the following API.
Calendar.
Show( );
Master / Detail
Form:-
1. We will develop the Master Block like Normal
Form then we will develop one more Block (chaild Block) after giving the Chaild
table. A. Un check Auto_Join Data Blocks Check Box B. Select Create Relations Ship Button then
select based on a Join Condition it
will shows all the Master Blocks select one Block then give the Join Condition
and select Finish button.
2. Change the Property Source as Block and
Text_Items.
Custom Table
Registration :- If we
want to create table we have to Register the table first without Registration
the table can not be use the AOL
(Application Object Library) features like Profile, WHO Columns, Flex fields, Concurrent Process, Multi Org
Note:- Connect to Custom_Top (WIP)
1.
Create table
custom_vendors (Vendor_id number(10), Venodr_name varchar2(10), Credit_limit
number(10), Created_by number(10), Creation_date date, Last_update_date date, Last_updated_by number(10));
2.
Grant allow
custom_vendors To APPS;
3.
CONN à APPS/APPS@PROD
4.
Create public
synonym Custom_vemdors for po.custom_vendors;
5.
Exec AD_DD.Register_Table
(‘PO’,’custom_vendors’,’T’,8’10’90);
6.
Exec
AD_DD.Register_Column
(‘PO’,’customer_vendors’,’Vendor_id’,1,’number’,10,’N’,’Y’); Note:- Register All Columns.
7.
COMMIT;
Implementing WHO Columns:- If WHO Columns wants to populate
automatically then we need to used the Standard API at Block level 2 Triggers.
They were
1.
Pre_Insert
2.
Pre_update
The API is FND_STANDARD.SET_WHO( );
Descriptive Flex field Form:-
Add DFF to the Form:-
1.
We have to develop the form based on the DFF Table and
Select all the Attributes Columns.
2.
Take one Text Item in the Canvas change the property ‘Data
base Item’ as ‘No’.
3.
Define the Package Specification and Body which is
going to useful to define DFF.
4.
In Package Specification we have to do these
things. Package
P_DFF is Procedure
P_Proc (Event Varchar2); End;
5.
In Package Body we have to do these things. Package
body P_DFF is Procedure
P_Proc (Event VArchar2 ) is Begin If
event =’when_new_form_instance’ then fnd_Descr_Flex.define (Block à ‘po_vendors_all’, Field à ‘DTEXT’ Apps_short_name à ‘PO’, Desc_Flex_Name à ‘po_headers’); End if; End; End;
6.
Call this Package Procedure at Form level when_new_form_instance trigger P_DFF.P_Proc (when_new_form_instance’);
7.
Call the following API from ‘when_new_item_instance trigger it will [populate the DFF. FND_FLEX.EVENT (‘When_New_Item_Instance);
Note:- while
using existing DFF in the form we have do some important step is at the time of
creation of data block wizard we have to copy all fields existing in the
database table and at the time of layout wizard creation we can select fields
according to user requirement
Custom Descriptive
Flex field:-
1.
We will register the table with DFF Attribute columns
by using AD_PP Package.
2.
We will register the DFF from Application Developer.
Navigations:
Here we will
give the application name and DFF Name and we give the table name, table
Application then select the Structure Column it will be used for context field
and select the columns button where we will enable attributes. Take the DFF Title and define the Segments from
Segments form then compile the DFF once DFF is compiled successfully then we
will call this DFF from custom form. By using following API’s.
1.
FND_DESCR_FLEX.DEFINE
2.
FND_FLEX.EVENT
Calling the another form the
Existing form:- By using FND_FUNCTION.EXECUTE
API we will call another form from the existing form.
Syntax:- FND_FUNCTION.EXECUTE
(FUNCTION_NAME ‘NAME OF THE FUNCTION’, OPEN_FLAG ‘’,OTHER_PARAMS ‘’,);
1.
Develop the 2 forms by using template.fmb and register
add to the menu.
2.
Select first form canvas define the button select WHEN_BUTTON_PRESSED trigger call the
second form and pass the parameter
Syntax:-FND_FUNCTION.EXECUTE (FUNCTION_NAME =>
‘Second Form Function Name’, OPEN_FLAG => ‘Y/N’, OTHER_PARAMS =>
Parameter Name = || :Block Name.Column Name);
EX:- FND_FUNCTION.EXECUTE (FUNCTION_NAME =>
‘2FORM’,OPEN_FLAG => ‘Y’, OTHER_PARAMS => ‘P1’= ||
:PO_VENDORS.VENDOR_ID);
3.
Select Second form parameters define the parameter then
go to Data Block select user defined (Existing) Data block write PRE_QUERY trigger.
Syntax:- :Block_name.columnname := :PARAMETER.
parameter name;
:PO_VENDOR_SITES_ALL.VENDOR_ID :=
:PARAMETER.P1; This
trigger will fire before query execution and it will retrieve the values based
on the parameter.
4.
Go to WHEN_NEW_FORM_INSTANCE
trigger in Second form defineing the following code.. GO_BLOCK
(‘DATABLOCK NAME’); EXECUTE_QUERY;
Ex:-
GO_BLOCK
(‘PO_VENDOR_SITES_ALL’); EXECUTE_QUERY;
Note:- The Second form is to attach same menu which was attached to the
first form and don’t give the prompt
filed while registering the Second Form.
No comments:
Post a Comment