How to return subroutine multivalue popup values to a window? (AREV Specific)
At 19 FEB 1999 01:15:20AM Jim Dierking wrote:
At the Supplier Window, using a subroutine "Supplier_Select" at the
F2 hook. The routine performs a select of supplier records and then writes the record keys to the popup record. It then uses a catalyst call to pull up the popup which in turn brings up multi-selection popup by a catalyst call. Problem: When the values are returned to
the Key prompt record in the window it reflects the Record Key values
from the popup selection delimited by "2" multi-value symbol. The
code includes a convert @VM to @FM in @ANS. Any suggestions on how
to properly return the popup values to create a browse window would be appreciated. If one value is selected it works. PS: Originally the
routine was called from a menu and after the popup selection values
were returned a catalyst call was made to pull up the window. This
worked well to create the browse window, but resulted in a hung window
effect when the window was subsequently called and higher menus or windows are called. Trying the
above approach because it is simpler and avoids the multiple window
problems. TIA for the help, Jim
At 19 FEB 1999 02:18AM Warren Kinny (EXODUS Systems) wrote:
Jim,
Seems like the problem is where you are sending the results of your popup call. By leaving them in @ANS they return to the field where your F2 process is called. If you think about it, you don't actually want to pass back multiple values to the Key Field, you want to pass back multiple KEYS to the WINDOW.
One way to do this is as follows. After your program has called
CATALYST to run the popup, you tell the window processor to turn it into a Browse List :
BROWSE.NEXT=@ANS
NEW.BROWSE =1
RESET =5
Note with using this that you don't need to convert the @vm's to @fm's. The window processor wants Browse lists to be @vm delimited.
Finally, one other suggestion. DO you actually have to write the results of the first search to the popup ? It may be a situation where you can make the popup a 'T'able mode popup, and pass the keys to it by putting them into a current select list :
CALL MAKE.LIST(0,KEYS,'','')CALL CATALYST('P','POPUPS*YOUR POPUP') etc.Hope that helps !
Warren Kinny
EXODUS Systems Australia
At 20 FEB 1999 10:31PM Jim Dierking wrote:
Warren Thank you the help. It worked great except for using the
table mode popup. I am using a select on the supplier name to pull
up only those records containing a keyword entered into a collector window. When I use the table mode popup it would pull up every record in the table. Am I missing something on this aspect? Thanks again,
Jim