oRec = Null =f1() RETURN FUNCTION f1 *LOCAL oRec CREATE CURSOR testxx1 (ii1 int, cc1 char(2)) INSERT INTO testxx1 VALUES(1, "#1") SCATTER NAME oRec ? oRec.ii1, oRec.cc1 =f2() ? oRec.ii1, oRec.cc1 && oRec object wasn't changed after call to f2() RETURN FUNCTION f2 LOCAL oRec CREATE CURSOR testxx2 (ii1 int, cc1 char(2)) INSERT INTO testxx2 VALUES(2, "#2") SCATTER NAME oRec RETURN>I have an application which creates an object (SCATTER NAME) which then calls a function which happens to create an object by the same name. The function destroys the object before returning.