* myScatter.PRG myScatterObject = CREATEOBJECT("myScatterObject") IF !EMPTY(ALIAS()) lnFields = FCOUNT(ALIAS()) FOR N =1 TO lnFields myScatterObject.ADDPROPERTY(FIELD(N), EVAL(FIELD(N))) ENDFOR ENDIF RETURN myScatterObject && Always return an object, so GATHER command could not choke. DEFINE CLASS myScatterObject AS SESSION * Optionally you may define the native PEMs here as HIDDEN ENDDEFINEThen you go to the record you need and:
SELECT mytable scattered1 = MYSCATTER() && This is instead of SCATTER NAME... * .... && more code here * Now add a property using the native AddProperty method and assign any value to it. scattered1.addProperty("newPropertyName", "This is the new property value") SELECT othertable GATHER NAME scattered1 MEMONote that you still can use the native GATHER command here.