thanks Jim, pity there's not a NESTLEVEL() or something similar huh?
Ken
>>Jim,
>>
>>thanks - that works ... but ... is ther any way to tell what nesting level my program is at? If not, with it working the way you've outlined, how to I move "up" a specific number of steps up the call stack? In other words, how can I return to the program "that is 4 level above me" for instance?
>>
>>Ken
>
>Ken,
>
>You can do something like this;
>
>
>LPARAMETERS pnLevelsUp
>
>LOCAL lcPrg, lnLevel
>lnLevel = 1
>lcPrg = PROGRAM(1)
>DO WHILE NOT EMPTY(lcPrg)
> lnLevel = lnLevel + 1
> lcPrg = Program(lnLevel)
>ENDDO
>lnLevel = lnLevel - pnLevelsUp - 1
>lnLevel = IIF(lnLevel<1,1,lnLevel)
>RETURN Program(lnLevel)
>
Ken B. Matson
GCom2 Solutions