12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- $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
|