Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations Mike Lewis on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Calling Forms Modules in 6i 2

Status
Not open for further replies.

tjones9034

Programmer
Aug 25, 2003
33
0
0
US
Hi all, we are having some issues at work how to reorganize our whole application. Is it possible to call a form module from another without creating a button with When_Button_Pressed_Trigger. The problem is the current application has to many tabs/menus that we are trying to get rid of. Is it possible to be able to create something that is similar to LOV and drop down the list of MODULES. I was thinking if it is not possible in 6i, it might be possible in 9i since this happens on the web. WHAT WE WANT TO ACHIEVE IS HAVE LIKE "3" WINDOWS OPEN AT A TIME TO DO SOME ANALYSIS. Help guys!!!

Timi
 
Simply put your OPEN_FORM into any non-validation style triggers you want. If you want your modules listed in a drop-down list, put the call into the WHEN-LIST-CHANGED trigger.
 
Thanks Lewisp,

I will try that and let you now. Looks like what might solve the problem.
 
Hey Lewisp,

Can you expanciate on putting the OPEN_FORM into any non-validation style triggers. I will not mind the steps. I do not have any idea of this step. I already created Form Level Trigger for my "WHEN-LIST-CHANGED Trigger". Inside the PL/SQL Editor were OPEN_FORM('FORM_NAME'); for all the modules to be called. Please advise.

Timi
 
You need to place the WHEN-LIST-CHANGED trigger at item level on the list item itself.

The list item will contain the names of your forms as the value. The W-L-C trigger code might look something like this:

[tt]BEGIN
OPEN_FORM:)block.list_item);
END;[/tt]

where :block.list_item is the name of the block and list item in your form.

This code assumes all called forms are in the current working directory, or the paths pointed to by ORACLE_PATH and FORMS60_PATH.
 
The WHEN-LIST-CHANGED trigger does not exist at the Item level, only at the Form and Block level. That exacly is my problem. If I place this trigger either on the form or block level, how will this trigger call all the modules I wanted to listed in the combo list....just like LOV. Do I write a separate trigger for each form want to be in the combo list, or just list all the modules in the same WHEN-LIST-CHANGED trigger. Thanks.
 
WHEN-LIST-CHANGED will exist at item level on a list item.
 
When I research this issue further on Oracle website, I found out that WHEN-LIST-CHANGED Trigger is posible in Form/Block/Item levels, but the problem is when you try to create this trigger under an item, WHEN-LIST-CHANGED Trigger" was not listed. It was listed in both Form and Block levels. I may be missing a step or something. This has to be done in my upcoming project. CAN I CONTACT YOU THROUGH EMAIL OR PHONE?

Thanks.

Timi
 
Timi, your problem is that this trigger exists for LIST item only, not for any other (probably TEXT in your case) item. I can't even imagine how could you add multiple choices for the item of another type, but you apparently should create LIST item, insert form names (as well as descriptions to display) by filling in Elements in List property and then add a trigger provided by Lewisp to this item.

Regards, Dima
 
Thanks guys!!! So far so good, I got the List Item created. Dima was right about me not finding the WHEN-LIST-CHANGED trigger. I was actually trying to create the List Item Trigger on my existing item. By the way, I was able to create the List Item, the trigger, which compilled sucessfully, changed the item type to combo box, assigned it to the only available canvas. All the List Elements created were given a List Item Value.

When I run the form a query, I cannot retrieve any data. I was getting an error "FRM-40505 Unable to perform query"
If I go back and delete this newly created List Item, the form ran perfectly and also the query. WHAT LAST STEP AM I MISSING TO QUERY THE DATABASE
 
You need to set the Database Item property of the list item to 'No'. If its set to 'Yes' the item name will be included in the SELECT that the form creates to query the database. The 'Unable to perform query' comes from an invalid column name in the select, namely your list item.
 
Thanks lewisp and Dima, finally, I was able to achieve the objective. This will really help in the upcoming project since nobody including myself knows how to achieve this result. I was able to pull up more than three windows for the analysis. Appreciate it!!! :)
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top