Join the OracleApps88 Telegram group @OracleApps88to get more information on Oracle EBS R12/Oracle Fusion applications.

If you are facing any issues while copying the Code/Script or any issues with Posts, Please send a mail to OracleApp88@Yahoo.com or message me at @apps88 or +91 905 957 4321 in telegram.

Wednesday, September 21, 2011

22/23 FORMS - Parameters between FORMS

Introduction

Let’s suppose that you have two forms named EMPLOYEES and DEPARTMENTS. In the EMPLOYEES form, if your cursor is pointing at the “deptno” item when you click on a push button (For example: Show me department information…) you would want it to open a window to display all information about that department.

Before reading the following hands-on exercise, you should have all ready completed at least the ‘Introduction to Form Builder’ hands-on. To avoid repetition, we assume that, you are at least familiar with where the icons and sub-menus are.

Step 1:

Create DEPARTMENT form

Create the “DEPARTMENT” form as you create any other form. Create a parameter and name it p_deptno. Open the parameter’s property palette and change the Parameter Data Type field to “Number,” the Maximum Length field to “2,” and the Parameter Initial Value field to “10.” Open the data block properties (DEPT) and in the “WHERE Clause” property type deptno = :parameter.p_deptno. Then create the “WHEN-NEW-FORM-INSTANCE” triggers on form level and type “execute_query;” then compile the procedure.

Step 2:

Create EMPLOYEES form

Create the “EMPLOYEES” form as you create any other form including the tabular, and 10 records at a time options, and check mark “Display Scrollbar” option.

Create a control block and then create a push button in that block. Open the push button’s property palette and change the “Name,” and “Label” fields. The “label” value should be “Show me department information…” Create the “WHEN-BUTTON-PRESSED” trigger and type the following code:

(Form Builder)

DECLARE

p_id paramList; -- This is a variable that contains id of the parameter list

p_name VARCHAR2(20); -- A variable that keeps your parameter name

BEGIN

p_name := 'myparameter';

p_id := GET_PARAMETER_LIST('p_name'); -- find it if exists.

IF NOT ID_NULL (p_id) THEN

-- If exit then destroy it.

DESTROY_PARAMETER_LIST(p_id);

END IF;

--Now create a parameter list and add your p_deptno parameter.

p_id := CREATE_PARAMETER_LIST('p_name');

ADD_PARAMETER(p_id,'P_DEPTNO',TEXT_PARAMETER,to_char(:deptno));

--- You can call the called program either by default or specific like c:.

OPEN_FORM('c:',ACTIVATE,SESSION,p_id);

-- Error messages in case the called program was not able

-- to open called program.

IF NOT FORM_SUCCESS THEN

MESSAGE('ERROR: Unable to open the DEPARTMENT form.');

RAISE FORM_TRIGGER_FAILURE;

END IF;

EXCEPTION

WHEN others THEN

MESSAGE ('Error: unable to create parameter list…');

RAISE FORM_TRIGGER_FAILURE;

END;

Step 3:

Compile the DEPARTMENT form

Make sure that you have compiled the DEPARTMENT form.

Step 4:

Test the application

Now, you should be able to test. Execute the query on the EMPLOYEES table and move your cursor to any record that you need to know more information about its department. Then click on the “Show me department information” push button. You should see complete information about that department.

No comments:

Post a Comment

If you are facing any issues while copying the Code/Script or any issues with Posts, Please send a mail to OracleApp88@Yahoo.com or message me at @apps88 or +91 905 957 4321 in telegram.
Best Blogger TipsGet Flower Effect