function Luis() local success success = true local obj obj = createobject('DocumentoXml') local fno, outputFile fno = 121005551 outputFile = 'D:\tmp\Luis\Out.xml' do case case !m.success case !Luis_CreateCursors() assert false success = false case !m.obj.ToXml(m.outputFile, m.fno) assert false success = false endcase return m.success endfunc *_______________________________________________________________________________Luis_CreateCursors() is getting your data into cursors ft and fi.
function ToXml(outputFile, fno) local success success = true do case case !m.success case !m.this.GetDataFromServer(m.fno) && here assert false success = false case !m.this.PrepareCursors(m.fno) assert false success = false case !m.this.MakeXml(m.outputFile) assert false success = false case !m.this.CloseCursors() assert false success = false endcase return m.success endfunc *_______________________________________________________________________________ protected function GetDataFromServer(m.fno) && here you fetch the data from sql server into the cursors ft and fi endfunc *_______________________________________________________________________________And add fi and ft to this method
protected function CloseCursors() use in select('Documento') use in select('Linhas') use in select('LinhasDesconto') use in select('ft') && here use in select('fi') && and here endfunc