create cursor c_effe ( effe1 i, effe2 c(10) ) >> >>insert into c_effe values ( 1234, 'hoihoi' ) >> >>* This browse will crash immediately: 'Variable is not found' >>browse fields ; >> calcfield = somefunc( effe1 ) >> >>* This browse will crash when clicking on the second column: 'Variable is not found' >>* Also note that tabbing will not select the second column. >>*browse fields ; >> effe1, ; >> calcfield = somefunc( effe1 ), ; >> effe2 >> >>* This browse too will crash when clicking on the second column: 'Variable is not found' >>*browse fields ; >> effe1, ; >> calcfield = somefunc( effe1 ) :P='999,999,999', ; >> effe2 >> >>* This browse will not crash. >>*browse fields ; >> effe1, ; >> calcfield = transform( somefunc( effe1 ), '999,999,999' ), ; >> effe2 >> >>* This browse will also not crash. >>* Somefunc2() handles a character type field. >>*browse fields ; >> effe1, ; >> calcfield = transform( somefunc( effe1 ), '999,999,999' ), ; >> calcfield2 = somefunc2( effe2 ), ; >> effe2 >> >>* But this browse will crash. The only difference with the previous line >>* is that somefunc2() now receives a numerical value. >>*browse fields ; >> effe1, ; >> calcfield = transform( somefunc( effe1 ), '999,999,999' ), ; >> calcfield2 = somefunc2( effe1 ), ; >> effe2 >> >>* This browse will not crash. >>* Once more, the transform() appears to have a beneficial effect. >>*browse fields ; >> effe1, ; >> calcfield = transform( somefunc( effe1 ), '999,999,999' ), ; >> calcfield2 = transform( somefunc2( effe1 ) ), ; >> effe2 >> >>return >> >> >>function somefunc( tnValue ) >> RETURN tnValue * 2 >> >function somefunc2( tnValue ) >> RETURN 'hoihoi'>
>... >calcfield = (somefunc( effe1 )) >.... >