Peretual process (OpenInsight Specific)
At 03 JUN 1999 10:56:26AM Karsten Dahms wrote:
Finally doing my first full Arev to OI conversion. And my first roadblock is "How do I replace the perpetual process". Any help would be greatly appreciated.
At 03 JUN 1999 03:48PM Don Miller wrote:
Karsten..
I've got some bad news and some good news - at least from my limited experience. If you wrote your AREV perpetual process as a commuter module, you will have a pretty easy time of it, depending on what your original perpetual process did. If it mainly used AREV interface components (WI_NEXT%, etc.) to move the cursor around and to set things like WC_DISPLAY and RESET, then you're in for a merry ride. If you did things like updating fields on a TEMPLATE and the like it will be easier.
In OI, you will need to hook your process to the CHANGED event of the fields that you wish to track. You should probably use a SCRIPT which calls your code with a passed parameter and then checks a return value.
Something like:
Where=GET_PROPERTY(of the place you are)
PARM=Where
RETVAL='
ERR='
Call MyCommuterModule(PARM,RETVAL,ERR)
..
do whatever you need to do if no error:
if ERR=' then
SET_PROPERTY(@WINDOW:".some_element","DEFPROP",RETVAL)
end else
..handle the error
end
RETURN 1 ;* to allow anything you need to continue
** commuter module
SUBROUTINE MyCommuterModule(IN,OUT,ERROR)
* check for assignments, etc
ON IN GOSUB THING1,THING2,THING3
* set ERROR AS NECESSARY
* Return data in OUT
RETURN
At 03 JUN 1999 07:53PM Don Bakke wrote:
Karsten,
As the other Don said, much will depend on what you did with your Perpetual Process. It would be easier and more productive to help you if you told us what your process did.
The bottom line is that there isn't always a one-for-one transfer of functionality between AREV and OI. That's not to say you can't duplicate what AREV did, but you would approach it differently in many cases. If you are willing to get through some learning curve, you'll find that it is much easier to get what you want in OI.
At 04 JUN 1999 11:16AM Karsten Dahms wrote:
I guess you guys are right, I should have been more specific.
The perpetual process was set up to keep associated Multi values not on the window straight when adding a new / or deleting a old row.
At 04 JUN 1999 12:32PM Don Bakke wrote:
Karsten,
You will want to use the DELETEROW and INSERTROW events for your edittable to simulate this. However, keep in mind that you can't simply modify @RECORD in OpenInsight the way you did in AREV. In OpenInsight, all changes to the current record have to be done by updating a databound control on the form. Fortunately it is easy to make your controls invisible.
Alternatively, you could add these associated columns to your edittables and then hide the columns by setting the COLSTYLE property (see the Programmer's Reference Guide for help). This would eliminate a lot of code.