$PBExportHeader$f_rpt_export.srf $PBExportComments$引出所有报表-- 函数 global type f_rpt_export from function_object end type forward prototypes global function long f_rpt_export (transaction f_t) end prototypes global function long f_rpt_export (transaction f_t);datastore lds long ll,lls,llc,lll string ls_id,ls_dw,ls_dws BLOB lblob openwithparm(w_rpt_message,'正在进行,请等候......') lds=create datastore lds.dataobject='dw_rpts' lds.settransobject(f_t) lds.retrieve() lls=lds.rowcount() lds.saveas('reports.txt',text!,false) for ll=1 to lls w_rpt_message.event ue_percent(ll*100/lls) ls_id=lds.getitemstring(ll,'rid') selectblob rsyntax into :lblob from reports where rid=:ls_id using f_t; if f_t.sqlcode=0 THEN ls_dw=string(lblob) if isnull(ls_dw) then ls_dw='' ls_dws=ls_dws+'$$&'+ls_id+'$'+ls_dw+'&&$'+ls_id+'&' end if next lll=len(ls_dws) llc=Ceiling(lll/32765) lll=FileOpen('reports.txt',StreamMode!,Write!,Shared!,Append!) for ll=1 to llc ls_dw=left(ls_dws,32765) ls_dws=mid(ls_dws,32766) FileWrite(lll,ls_dw) next FileClose(lll) close(w_rpt_message) messagebox('提示','共引出'+string(lls)+'个报表!~n~n引出的文件名:reports.txt') destroy lds return lls //datastore lds //long ll,lls,llc,lll //string ls_id,ls_dw,ls_dws //BLOB lblob //lds=create datastore //lds.dataobject='dw_rpts' //lds.settransobject(f_t) //lds.retrieve() //lls=lds.rowcount() //lds.saveas('report1.txt',text!,false) //for ll=1 to lls // ls_id=lds.getitemstring(ll,'rid') // selectblob rsyntax into :lblob from reports where rid=:ls_id using f_t; // if f_t.sqlcode=0 THEN // ls_dw=string(lblob) // ls_dws=ls_dws+'$$'+ls_id+'$$'+ls_dw+'&&'+ls_id+'&&' // end if //next //lll=len(ls_dws) //llc=Ceiling(lll/32765) //for ll=1 to llc // ls_dw=left(ls_dws,32765) // ls_dws=mid(ls_dws,32766) // if ll=1 then // lll=FileOpen('report2.txt',StreamMode!,Write!,LockWrite!,Replace!) // FileWrite(lll,ls_dw) // FileClose(lll) // lll=FileOpen('report2.txt',StreamMode!,Write!,Shared!,Append!) // else // FileWrite(lll,ls_dw) // end if //next //FileClose(lll) // //messagebox('提示','共引出'+string(lls)+'个报表!~n~n引出的文件名:report1.txt,report2.txt') //destroy lds //return lls end function