Currently there is an OracleForms module for Itemlookup, with may call another module ItemUpdate, for finding Items and maybe maintining their data. This module is called via open_forms from many other locations in ohter OracleForms like customer_Order_entry, supplier_item selection, item_availability history, and of course the Item_Maintannance menu entry. It receives search parameters via global variable and returns a possibly selected Item's primary key via global variable, they do not use OracleForms parameters. The same modularized approach was taken for customer search/maintennance and supplier search/maintennance. A nice example of separtate, standalone, resuable code.

Catch #1

these "subforms" are sometimes called with "same_session" and sometimes with "new_session", so that, when completing an orderline, one can call the search Item module, locate the Item, notice a typo, call update_Item_module, update the item and commit that "Item Session", then return the (corrected) Item to the Orderline Application without committing it en passant. (This way the lock on the Item record is independent from Order entry duration)

Catch #2

one can have multiple independend Item-Search windows open, as they can be called as modal modules (when called from Order entry) or als non-modal modules (when called from the menu), in the latter version for instance one could create three standalone Item-windows to compare them side by side

How do I do this best in formspider? More precisely:

1) How do I mimic MDI Userinterfaces, where the user can open multiple windows of the same type?

2) How do I pass in/out parameters to a FormSPider App that runs its own session? (it would be awesome when api_application.run in stateful FormsPider 1.9 would offer me one paramter to control "same/new FormsPider session" and a separate parameter to control "same/new Oracle session", that'll solve a lot of issues!)

3) How do I return the ItemID found in the (modal!) ItemSearchApp to the OrderEntryApp and cause that App to continue processing, using that returned value in a new Order line?

asked 08 Sep '15, 04:30

dipr's gravatar image

dipr
1561327
accept rate: 0%

edited 08 Sep '15, 04:45


Hi Paul,

Below are the answers to your questions:

1) How do I mimic MDI Userinterfaces, where the user can open multiple windows of the same type?

In a separate thread I explained how Formspider Dialogs work..

2) How do I pass in/out parameters to a FormSPider App that runs its own session?

This is a thread that explains how you can send in parameters while opening an application with Formspider. I would recommend you not to add the parameter/value pairs to the URL but send only a key in the URL. Then the called application should query a table using this key and retrieve all the parameter/value pairs you wanted to send to it.

There is no built-in way to send values back to the caller application in Formspider. (What you described as OUT parameters). As far as I know this is possible with JavaScript. So it should be possible to use Formspider External Methods that call JavaScript to achieve this but I have not tried it myself.

In your particular case, would it be possible to limit the user to one dialog for look ups temporarily? They will have multiple look up dialogs after Formspider starts supporting libraries. Do you think this is a reasonable compromise?

3) How do I return the ItemID found in the (modal!) ItemSearchApp to the OrderEntryApp and cause that App to continue processing, using that returned value in a new Order line?

As I explained above, you cannot do this with browser tabs. You cannot have a modal browser tab. Formspider supports modal dialogs, so this scenario would work without any problems in Formspider.

Hope this helps.

Kind Regards,
Yalim

link

answered 15 Sep '15, 10:47

Yalim%20Gerger's gravatar image

Yalim Gerger ♦♦
1.8k5
accept rate: 15%

Your answer
toggle preview

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here

By RSS:

Answers

Answers and Comments

Markdown Basics

  • *italic* or _italic_
  • **bold** or __bold__
  • link:[text](http://url.com/ "title")
  • image?![alt text](/path/img.jpg "title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported

Tags:

×16
×3
×3
×2

Asked: 08 Sep '15, 04:30

Seen: 1,173 times

Last updated: 15 Sep '15, 10:47


© Copyright Gerger 2017