>The SCAN/ENDSCAN only restores proper alias. It doesn't restore record pointer. I don't know what you're doing but maybe you can use USE ... AGAIN instead of using the same cursor. This way cursor became "local".
This would be a nice enhancement in the SCAN command.
As for what I am trying to do, here's the Recursive() method:
PARAMETERS tnNumero
LOCAL lnRecno
SCAN FOR NoParent=tnNumero
...
lnRecno=RECNO()
This.Recursive(Numero)
GO lnRecno
ENDSCAN
So, as you can see, the method is calling itself. The only way I have succeeded to make it work, is by saving my pointer and restoring it back.