o = CreateObject('myTest') loRet = o.GetRecords('* from customer') Create Cursor Results from array loRet.aStruc For ix=1 to Alen(loRet.aRecords,1) Append Blank Gather name loRet.aRecords[ix] EndFor Browse Define Class myTest As Session DataSession = 2 Procedure Init this.Addproperty('oCargo',Createobject('custom')) this.oCargo.AddProperty('aStruc[1]', .null. ) This.oCargo.AddProperty('aRecords[1]',.Null.) EndProc Procedure GetRecords Lparameters tcSQL Select &tcSQL into cursor crsTemp nofilter Dimension this.oCargo.aRecords[Reccount()] Scan Scatter Name This.oCargo.aRecords[Recno()] EndScan AFields(this.oCargo.aStruc) Return this.oCargo endproc EnddefineXML would do too and would be better for over 65000 recs.