I have a symbolic which is dependent on several other symbolics in a table, say GROSS AND NET for simplicity's sake. Where Gross calculates a Total as in SUM('A multivalue numeric Field')
When I first read a record the symbolics calculate correctly. So GROSS - NET works properly. However when I scroll down to a second page. Amend a dependent figure, scroll back up; the symbolic only calculates half the formula.e.g the GROSS bit.
So the formula is correct as it calculates on Read. It recalculates when I scroll back up without me sending a 'CALCULATE' event or function, but only calculates half the symbolic.
Anyone know how to make 'complex' symbolics behave correctly in an OI screen?
Please understand that I am not being crude when saying… Don't make complex symbolic items. Do not have a symbolic call a symbolic. Copy the symbolic code to the other symbolic. It just might work. I think it is worth a try.
Sorry Richard I should have said. This was the first thing I tried. To no avail unfortunately. I've just coded it externally and filled in the boxes as a workaround. I've also set DEFPROP, sent calculates, and everything else the manual tells you; in case anyone asks.
I believe OI windows do a rudimentary parse of symbolic code to work out the dependencies on other fields, so they can work out when a symbolic field should be recalculated. If your symbolic code calls other symbolics or functions/subroutines, some of these dependencies won't be obvious to the window.
You could try adding dummy code to your symbolics to help the windows determine the dependencies. Eg, something along the line of
dummy = {dependency1} dummy = {dependency2} @ans = My_symbolic_function( {dependency3})HTH, M@
[img]http://www.vernonsystems.com/images/logo_main_ani.gif[/img]
Thanks Matthew. 'Calls using functions that are not obvious to the window' is the key phrase I believe. Even though I do use such dummy code as you outlined, those hidden functions don't kick in.
Another cludge I have used is to write and reread the record. That works.
Complex calculations do not seem to work dynamically, hence I use such workarounds. The solution looks to be as Matthew indicates - don't depend on symbolics that use functions or subroutines. Knowing that - I do not now need to waste time trying to get symbolics to work.
Thanks to all.