* informação sobre a tabela aberta m.lnArea = SELECT(0) DIMENSION m.laStru(1) AFIELDS(m.laStru) * define quantos registos vão entrar no documento XML (1..n) m.lnStep = 10 * cria os documentos até todos os registos da tabela de origem terem sido XMLizados FOR m.lnStart = 1 TO RECCOUNT(m.lnArea) STEP m.lnStep * (re)cria cursor a partir da estrutura da tabela origem CREATE CURSOR curExporter FROM ARRAY m.laStru * copia os registos para cursor de destino APPEND FROM (DBF(m.lnArea)) FOR BETWEEN(RECNO(),m.lnStart,m.lnStart + m.lnStep -1) * e cria o documento XML m.lcOutXML = ADDBS(SYS(2023))+SYS(2015)+".xml" CURSORTOXML("curExporter",m.lcOutXML,1,512) * pode pegar-se em m.lcOutXML e processá-lo como necessário * no final ERASE (m.lcOutXML) ENDFOR * tidy up IF USED("curExporter") USE IN curExporter ENDIF